{
  "title" : "Duplication",
  "timestamp" : "2026-01-18 17:37:53",
  "duplicates" : [ {
    "blockSize" : 163,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/commonTest/kotlin/ai/koog/prompt/executor/clients/google/structure/GoogleStandardJsonSchemaGeneratorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 323,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 297,
      "startLine" : 121,
      "endLine" : 290,
      "cleanedStartLine" : 94,
      "cleanedEndLine" : 256
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client-base/src/commonTest/kotlin/ai/koog/prompt/executor/clients/openai/structure/OpenAIStandardJsonSchemaGeneratorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 375,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 342,
      "startLine" : 122,
      "endLine" : 291,
      "cleanedStartLine" : 94,
      "cleanedEndLine" : 256
    } ]
  }, {
    "blockSize" : 128,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/androidMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 1,
      "endLine" : 150,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 128
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/appleMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 1,
      "endLine" : 150,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 128
    } ]
  }, {
    "blockSize" : 128,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/appleMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 1,
      "endLine" : 150,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 128
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jsMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 1,
      "endLine" : 150,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 128
    } ]
  }, {
    "blockSize" : 128,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/appleMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 1,
      "endLine" : 150,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 128
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/wasmJsMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 1,
      "endLine" : 150,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 128
    } ]
  }, {
    "blockSize" : 128,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/androidMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 1,
      "endLine" : 150,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 128
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jsMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 1,
      "endLine" : 150,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 128
    } ]
  }, {
    "blockSize" : 128,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jsMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 1,
      "endLine" : 150,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 128
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/wasmJsMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 1,
      "endLine" : 150,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 128
    } ]
  }, {
    "blockSize" : 128,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/androidMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 1,
      "endLine" : 150,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 128
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/wasmJsMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 1,
      "endLine" : 150,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 128
    } ]
  }, {
    "blockSize" : 121,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/appleMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 20,
      "endLine" : 148,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 127
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 156,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 141,
      "startLine" : 64,
      "endLine" : 192,
      "cleanedStartLine" : 19,
      "cleanedEndLine" : 139
    } ]
  }, {
    "blockSize" : 121,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jsMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 20,
      "endLine" : 148,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 127
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 156,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 141,
      "startLine" : 64,
      "endLine" : 192,
      "cleanedStartLine" : 19,
      "cleanedEndLine" : 139
    } ]
  }, {
    "blockSize" : 121,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/androidMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 20,
      "endLine" : 148,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 127
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 156,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 141,
      "startLine" : 64,
      "endLine" : 192,
      "cleanedStartLine" : 19,
      "cleanedEndLine" : 139
    } ]
  }, {
    "blockSize" : 121,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 156,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 141,
      "startLine" : 64,
      "endLine" : 192,
      "cleanedStartLine" : 19,
      "cleanedEndLine" : 139
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/wasmJsMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 20,
      "endLine" : 148,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 127
    } ]
  }, {
    "blockSize" : 110,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmMain/kotlin/ai/koog/agents/core/agent/session/AIAgentLLMReadSession.kt",
        "extension" : "kt",
        "linesOfCode" : 158,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 121,
      "startLine" : 48,
      "endLine" : 316,
      "cleanedStartLine" : 12,
      "cleanedEndLine" : 121
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmMain/kotlin/ai/koog/agents/core/agent/session/AIAgentLLMWriteSession.kt",
        "extension" : "kt",
        "linesOfCode" : 198,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 156,
      "startLine" : 65,
      "endLine" : 329,
      "cleanedStartLine" : 23,
      "cleanedEndLine" : 132
    } ]
  }, {
    "blockSize" : 107,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/CheckpointsTests.kt",
        "extension" : "kt",
        "linesOfCode" : 793,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 646,
      "startLine" : 575,
      "endLine" : 706,
      "cleanedStartLine" : 358,
      "cleanedEndLine" : 464
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/CheckpointsTests.kt",
        "extension" : "kt",
        "linesOfCode" : 793,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 646,
      "startLine" : 749,
      "endLine" : 880,
      "cleanedStartLine" : 493,
      "cleanedEndLine" : 599
    } ]
  }, {
    "blockSize" : 87,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/androidMain/kotlin/ai/koog/agents/core/agent/context/AIAgentFunctionalContext.kt",
        "extension" : "kt",
        "linesOfCode" : 100,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 87,
      "startLine" : 1,
      "endLine" : 106,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 87
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/appleMain/kotlin/ai/koog/agents/core/agent/context/AIAgentFunctionalContext.kt",
        "extension" : "kt",
        "linesOfCode" : 100,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 87,
      "startLine" : 1,
      "endLine" : 106,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 87
    } ]
  }, {
    "blockSize" : 87,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jsMain/kotlin/ai/koog/agents/core/agent/context/AIAgentFunctionalContext.kt",
        "extension" : "kt",
        "linesOfCode" : 100,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 87,
      "startLine" : 1,
      "endLine" : 106,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 87
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/wasmJsMain/kotlin/ai/koog/agents/core/agent/context/AIAgentFunctionalContext.kt",
        "extension" : "kt",
        "linesOfCode" : 100,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 87,
      "startLine" : 1,
      "endLine" : 106,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 87
    } ]
  }, {
    "blockSize" : 87,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/appleMain/kotlin/ai/koog/agents/core/agent/context/AIAgentFunctionalContext.kt",
        "extension" : "kt",
        "linesOfCode" : 100,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 87,
      "startLine" : 1,
      "endLine" : 106,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 87
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/wasmJsMain/kotlin/ai/koog/agents/core/agent/context/AIAgentFunctionalContext.kt",
        "extension" : "kt",
        "linesOfCode" : 100,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 87,
      "startLine" : 1,
      "endLine" : 106,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 87
    } ]
  }, {
    "blockSize" : 87,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/appleMain/kotlin/ai/koog/agents/core/agent/context/AIAgentFunctionalContext.kt",
        "extension" : "kt",
        "linesOfCode" : 100,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 87,
      "startLine" : 1,
      "endLine" : 106,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 87
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jsMain/kotlin/ai/koog/agents/core/agent/context/AIAgentFunctionalContext.kt",
        "extension" : "kt",
        "linesOfCode" : 100,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 87,
      "startLine" : 1,
      "endLine" : 106,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 87
    } ]
  }, {
    "blockSize" : 87,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/androidMain/kotlin/ai/koog/agents/core/agent/context/AIAgentFunctionalContext.kt",
        "extension" : "kt",
        "linesOfCode" : 100,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 87,
      "startLine" : 1,
      "endLine" : 106,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 87
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/wasmJsMain/kotlin/ai/koog/agents/core/agent/context/AIAgentFunctionalContext.kt",
        "extension" : "kt",
        "linesOfCode" : 100,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 87,
      "startLine" : 1,
      "endLine" : 106,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 87
    } ]
  }, {
    "blockSize" : 87,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/androidMain/kotlin/ai/koog/agents/core/agent/context/AIAgentFunctionalContext.kt",
        "extension" : "kt",
        "linesOfCode" : 100,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 87,
      "startLine" : 1,
      "endLine" : 106,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 87
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jsMain/kotlin/ai/koog/agents/core/agent/context/AIAgentFunctionalContext.kt",
        "extension" : "kt",
        "linesOfCode" : 100,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 87,
      "startLine" : 1,
      "endLine" : 106,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 87
    } ]
  }, {
    "blockSize" : 81,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/commonTest/kotlin/ai/koog/prompt/executor/clients/google/structure/GoogleStandardJsonSchemaGeneratorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 323,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 297,
      "startLine" : 25,
      "endLine" : 119,
      "cleanedStartLine" : 12,
      "cleanedEndLine" : 92
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client-base/src/commonTest/kotlin/ai/koog/prompt/executor/clients/openai/structure/OpenAIStandardJsonSchemaGeneratorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 375,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 342,
      "startLine" : 26,
      "endLine" : 120,
      "cleanedStartLine" : 12,
      "cleanedEndLine" : 92
    } ]
  }, {
    "blockSize" : 79,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/androidMain/kotlin/ai/koog/agents/core/agent/AIAgentService.kt",
        "extension" : "kt",
        "linesOfCode" : 89,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 79,
      "startLine" : 1,
      "endLine" : 98,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 79
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/wasmJsMain/kotlin/ai/koog/agents/core/agent/AIAgentService.kt",
        "extension" : "kt",
        "linesOfCode" : 89,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 79,
      "startLine" : 1,
      "endLine" : 98,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 79
    } ]
  }, {
    "blockSize" : 79,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jsMain/kotlin/ai/koog/agents/core/agent/AIAgentService.kt",
        "extension" : "kt",
        "linesOfCode" : 89,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 79,
      "startLine" : 1,
      "endLine" : 98,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 79
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/wasmJsMain/kotlin/ai/koog/agents/core/agent/AIAgentService.kt",
        "extension" : "kt",
        "linesOfCode" : 89,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 79,
      "startLine" : 1,
      "endLine" : 98,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 79
    } ]
  }, {
    "blockSize" : 79,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/appleMain/kotlin/ai/koog/agents/core/agent/AIAgentService.kt",
        "extension" : "kt",
        "linesOfCode" : 89,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 79,
      "startLine" : 1,
      "endLine" : 98,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 79
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/wasmJsMain/kotlin/ai/koog/agents/core/agent/AIAgentService.kt",
        "extension" : "kt",
        "linesOfCode" : 89,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 79,
      "startLine" : 1,
      "endLine" : 98,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 79
    } ]
  }, {
    "blockSize" : 79,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/androidMain/kotlin/ai/koog/agents/core/agent/AIAgentService.kt",
        "extension" : "kt",
        "linesOfCode" : 89,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 79,
      "startLine" : 1,
      "endLine" : 98,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 79
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/appleMain/kotlin/ai/koog/agents/core/agent/AIAgentService.kt",
        "extension" : "kt",
        "linesOfCode" : 89,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 79,
      "startLine" : 1,
      "endLine" : 98,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 79
    } ]
  }, {
    "blockSize" : 79,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/androidMain/kotlin/ai/koog/agents/core/agent/AIAgentService.kt",
        "extension" : "kt",
        "linesOfCode" : 89,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 79,
      "startLine" : 1,
      "endLine" : 98,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 79
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jsMain/kotlin/ai/koog/agents/core/agent/AIAgentService.kt",
        "extension" : "kt",
        "linesOfCode" : 89,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 79,
      "startLine" : 1,
      "endLine" : 98,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 79
    } ]
  }, {
    "blockSize" : 79,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/appleMain/kotlin/ai/koog/agents/core/agent/AIAgentService.kt",
        "extension" : "kt",
        "linesOfCode" : 89,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 79,
      "startLine" : 1,
      "endLine" : 98,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 79
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jsMain/kotlin/ai/koog/agents/core/agent/AIAgentService.kt",
        "extension" : "kt",
        "linesOfCode" : 89,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 79,
      "startLine" : 1,
      "endLine" : 98,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 79
    } ]
  }, {
    "blockSize" : 78,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/appleMain/kotlin/ai/koog/agents/core/agent/AIAgentBuilder.kt",
        "extension" : "kt",
        "linesOfCode" : 100,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 78,
      "startLine" : 1,
      "endLine" : 126,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 78
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/wasmJsMain/kotlin/ai/koog/agents/core/agent/AIAgentBuilder.kt",
        "extension" : "kt",
        "linesOfCode" : 100,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 78,
      "startLine" : 1,
      "endLine" : 126,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 78
    } ]
  }, {
    "blockSize" : 78,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/androidMain/kotlin/ai/koog/agents/core/agent/AIAgentBuilder.kt",
        "extension" : "kt",
        "linesOfCode" : 100,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 78,
      "startLine" : 1,
      "endLine" : 126,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 78
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/wasmJsMain/kotlin/ai/koog/agents/core/agent/AIAgentBuilder.kt",
        "extension" : "kt",
        "linesOfCode" : 100,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 78,
      "startLine" : 1,
      "endLine" : 126,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 78
    } ]
  }, {
    "blockSize" : 78,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/androidMain/kotlin/ai/koog/agents/core/agent/AIAgentBuilder.kt",
        "extension" : "kt",
        "linesOfCode" : 100,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 78,
      "startLine" : 1,
      "endLine" : 126,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 78
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/appleMain/kotlin/ai/koog/agents/core/agent/AIAgentBuilder.kt",
        "extension" : "kt",
        "linesOfCode" : 100,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 78,
      "startLine" : 1,
      "endLine" : 126,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 78
    } ]
  }, {
    "blockSize" : 75,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jsMain/kotlin/ai/koog/agents/core/agent/AIAgentBuilder.kt",
        "extension" : "kt",
        "linesOfCode" : 100,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 78,
      "startLine" : 18,
      "endLine" : 126,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 78
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/wasmJsMain/kotlin/ai/koog/agents/core/agent/AIAgentBuilder.kt",
        "extension" : "kt",
        "linesOfCode" : 100,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 78,
      "startLine" : 18,
      "endLine" : 126,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 78
    } ]
  }, {
    "blockSize" : 75,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/appleMain/kotlin/ai/koog/agents/core/agent/AIAgentBuilder.kt",
        "extension" : "kt",
        "linesOfCode" : 100,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 78,
      "startLine" : 18,
      "endLine" : 126,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 78
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jsMain/kotlin/ai/koog/agents/core/agent/AIAgentBuilder.kt",
        "extension" : "kt",
        "linesOfCode" : 100,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 78,
      "startLine" : 18,
      "endLine" : 126,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 78
    } ]
  }, {
    "blockSize" : 75,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/androidMain/kotlin/ai/koog/agents/core/agent/AIAgentBuilder.kt",
        "extension" : "kt",
        "linesOfCode" : 100,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 78,
      "startLine" : 18,
      "endLine" : 126,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 78
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jsMain/kotlin/ai/koog/agents/core/agent/AIAgentBuilder.kt",
        "extension" : "kt",
        "linesOfCode" : 100,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 78,
      "startLine" : 18,
      "endLine" : 126,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 78
    } ]
  }, {
    "blockSize" : 65,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/androidMain/kotlin/ai/koog/agents/core/agent/AIAgentBuilder.kt",
        "extension" : "kt",
        "linesOfCode" : 100,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 78,
      "startLine" : 1,
      "endLine" : 104,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 65
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmMain/kotlin/ai/koog/agents/core/agent/AIAgentBuilder.kt",
        "extension" : "kt",
        "linesOfCode" : 115,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 88,
      "startLine" : 1,
      "endLine" : 108,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 65
    } ]
  }, {
    "blockSize" : 65,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/appleMain/kotlin/ai/koog/agents/core/agent/AIAgentBuilder.kt",
        "extension" : "kt",
        "linesOfCode" : 100,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 78,
      "startLine" : 1,
      "endLine" : 104,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 65
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmMain/kotlin/ai/koog/agents/core/agent/AIAgentBuilder.kt",
        "extension" : "kt",
        "linesOfCode" : 115,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 88,
      "startLine" : 1,
      "endLine" : 108,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 65
    } ]
  }, {
    "blockSize" : 65,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmMain/kotlin/ai/koog/agents/core/agent/AIAgentBuilder.kt",
        "extension" : "kt",
        "linesOfCode" : 115,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 88,
      "startLine" : 1,
      "endLine" : 108,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 65
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/wasmJsMain/kotlin/ai/koog/agents/core/agent/AIAgentBuilder.kt",
        "extension" : "kt",
        "linesOfCode" : 100,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 78,
      "startLine" : 1,
      "endLine" : 104,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 65
    } ]
  }, {
    "blockSize" : 62,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jsMain/kotlin/ai/koog/agents/core/agent/AIAgentBuilder.kt",
        "extension" : "kt",
        "linesOfCode" : 100,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 78,
      "startLine" : 18,
      "endLine" : 104,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 65
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmMain/kotlin/ai/koog/agents/core/agent/AIAgentBuilder.kt",
        "extension" : "kt",
        "linesOfCode" : 115,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 88,
      "startLine" : 22,
      "endLine" : 108,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 65
    } ]
  }, {
    "blockSize" : 58,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageFileWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 509,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 418,
      "startLine" : 78,
      "endLine" : 154,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 70
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageLogWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 480,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 396,
      "startLine" : 407,
      "endLine" : 483,
      "cleanedStartLine" : 280,
      "cleanedEndLine" : 337
    } ]
  }, {
    "blockSize" : 58,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/langfuse/LangfuseTraceStructureTest.kt",
        "extension" : "kt",
        "linesOfCode" : 249,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 236,
      "startLine" : 76,
      "endLine" : 139,
      "cleanedStartLine" : 58,
      "cleanedEndLine" : 115
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/weave/WeaveTraceStructureTest.kt",
        "extension" : "kt",
        "linesOfCode" : 270,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 257,
      "startLine" : 72,
      "endLine" : 133,
      "cleanedStartLine" : 55,
      "cleanedEndLine" : 112
    } ]
  }, {
    "blockSize" : 55,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageFileWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 509,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 418,
      "startLine" : 441,
      "endLine" : 513,
      "cleanedStartLine" : 305,
      "cleanedEndLine" : 359
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageLogWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 480,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 396,
      "startLine" : 67,
      "endLine" : 139,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 64
    } ]
  }, {
    "blockSize" : 50,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/androidMain/kotlin/ai/koog/agents/core/agent/AIAgentService.kt",
        "extension" : "kt",
        "linesOfCode" : 89,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 79,
      "startLine" : 44,
      "endLine" : 98,
      "cleanedStartLine" : 30,
      "cleanedEndLine" : 79
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmMain/kotlin/ai/koog/agents/core/agent/AIAgentService.kt",
        "extension" : "kt",
        "linesOfCode" : 176,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 153,
      "startLine" : 230,
      "endLine" : 284,
      "cleanedStartLine" : 104,
      "cleanedEndLine" : 153
    } ]
  }, {
    "blockSize" : 50,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jsMain/kotlin/ai/koog/agents/core/agent/AIAgentService.kt",
        "extension" : "kt",
        "linesOfCode" : 89,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 79,
      "startLine" : 44,
      "endLine" : 98,
      "cleanedStartLine" : 30,
      "cleanedEndLine" : 79
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmMain/kotlin/ai/koog/agents/core/agent/AIAgentService.kt",
        "extension" : "kt",
        "linesOfCode" : 176,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 153,
      "startLine" : 230,
      "endLine" : 284,
      "cleanedStartLine" : 104,
      "cleanedEndLine" : 153
    } ]
  }, {
    "blockSize" : 50,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/appleMain/kotlin/ai/koog/agents/core/agent/AIAgentService.kt",
        "extension" : "kt",
        "linesOfCode" : 89,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 79,
      "startLine" : 44,
      "endLine" : 98,
      "cleanedStartLine" : 30,
      "cleanedEndLine" : 79
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmMain/kotlin/ai/koog/agents/core/agent/AIAgentService.kt",
        "extension" : "kt",
        "linesOfCode" : 176,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 153,
      "startLine" : 230,
      "endLine" : 284,
      "cleanedStartLine" : 104,
      "cleanedEndLine" : 153
    } ]
  }, {
    "blockSize" : 50,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmMain/kotlin/ai/koog/agents/core/agent/AIAgentService.kt",
        "extension" : "kt",
        "linesOfCode" : 176,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 153,
      "startLine" : 230,
      "endLine" : 284,
      "cleanedStartLine" : 104,
      "cleanedEndLine" : 153
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/wasmJsMain/kotlin/ai/koog/agents/core/agent/AIAgentService.kt",
        "extension" : "kt",
        "linesOfCode" : 89,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 79,
      "startLine" : 44,
      "endLine" : 98,
      "cleanedStartLine" : 30,
      "cleanedEndLine" : 79
    } ]
  }, {
    "blockSize" : 46,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/commonTest/kotlin/ai/koog/prompt/executor/clients/google/structure/GoogleSimpleJsonSchemaGeneratorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 147,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 130,
      "startLine" : 22,
      "endLine" : 75,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 55
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client-base/src/commonTest/kotlin/ai/koog/prompt/executor/clients/openai/structure/OpenAIBasicJsonSchemaGeneratorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 152,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 134,
      "startLine" : 23,
      "endLine" : 76,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 55
    } ]
  }, {
    "blockSize" : 45,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/appleMain/kotlin/ai/koog/agents/core/agent/session/AIAgentLLMWriteSession.kt",
        "extension" : "kt",
        "linesOfCode" : 61,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 45,
      "startLine" : 1,
      "endLine" : 70,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 45
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jsMain/kotlin/ai/koog/agents/core/agent/session/AIAgentLLMWriteSession.kt",
        "extension" : "kt",
        "linesOfCode" : 61,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 45,
      "startLine" : 1,
      "endLine" : 70,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 45
    } ]
  }, {
    "blockSize" : 45,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/appleMain/kotlin/ai/koog/agents/core/agent/session/AIAgentLLMWriteSession.kt",
        "extension" : "kt",
        "linesOfCode" : 61,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 45,
      "startLine" : 1,
      "endLine" : 70,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 45
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/wasmJsMain/kotlin/ai/koog/agents/core/agent/session/AIAgentLLMWriteSession.kt",
        "extension" : "kt",
        "linesOfCode" : 61,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 45,
      "startLine" : 1,
      "endLine" : 70,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 45
    } ]
  }, {
    "blockSize" : 45,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/androidMain/kotlin/ai/koog/agents/core/agent/session/AIAgentLLMWriteSession.kt",
        "extension" : "kt",
        "linesOfCode" : 61,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 45,
      "startLine" : 1,
      "endLine" : 70,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 45
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jsMain/kotlin/ai/koog/agents/core/agent/session/AIAgentLLMWriteSession.kt",
        "extension" : "kt",
        "linesOfCode" : 61,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 45,
      "startLine" : 1,
      "endLine" : 70,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 45
    } ]
  }, {
    "blockSize" : 45,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/androidMain/kotlin/ai/koog/agents/core/agent/session/AIAgentLLMWriteSession.kt",
        "extension" : "kt",
        "linesOfCode" : 61,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 45,
      "startLine" : 1,
      "endLine" : 70,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 45
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/wasmJsMain/kotlin/ai/koog/agents/core/agent/session/AIAgentLLMWriteSession.kt",
        "extension" : "kt",
        "linesOfCode" : 61,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 45,
      "startLine" : 1,
      "endLine" : 70,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 45
    } ]
  }, {
    "blockSize" : 45,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jsMain/kotlin/ai/koog/agents/core/agent/session/AIAgentLLMWriteSession.kt",
        "extension" : "kt",
        "linesOfCode" : 61,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 45,
      "startLine" : 1,
      "endLine" : 70,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 45
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/wasmJsMain/kotlin/ai/koog/agents/core/agent/session/AIAgentLLMWriteSession.kt",
        "extension" : "kt",
        "linesOfCode" : 61,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 45,
      "startLine" : 1,
      "endLine" : 70,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 45
    } ]
  }, {
    "blockSize" : 45,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/androidMain/kotlin/ai/koog/agents/core/agent/session/AIAgentLLMWriteSession.kt",
        "extension" : "kt",
        "linesOfCode" : 61,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 45,
      "startLine" : 1,
      "endLine" : 70,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 45
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/appleMain/kotlin/ai/koog/agents/core/agent/session/AIAgentLLMWriteSession.kt",
        "extension" : "kt",
        "linesOfCode" : 61,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 45,
      "startLine" : 1,
      "endLine" : 70,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 45
    } ]
  }, {
    "blockSize" : 44,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client-base/src/commonTest/kotlin/ai/koog/prompt/executor/clients/openai/structure/OpenAIStandardJsonSchemaGeneratorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 375,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 342,
      "startLine" : 273,
      "endLine" : 322,
      "cleanedStartLine" : 238,
      "cleanedEndLine" : 281
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client-base/src/commonTest/kotlin/ai/koog/prompt/executor/clients/openai/structure/OpenAIStandardJsonSchemaGeneratorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 375,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 342,
      "startLine" : 341,
      "endLine" : 390,
      "cleanedStartLine" : 298,
      "cleanedEndLine" : 341
    } ]
  }, {
    "blockSize" : 43,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/langfuse/LangfuseTraceStructureTest.kt",
        "extension" : "kt",
        "linesOfCode" : 249,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 236,
      "startLine" : 218,
      "endLine" : 263,
      "cleanedStartLine" : 187,
      "cleanedEndLine" : 229
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/weave/WeaveTraceStructureTest.kt",
        "extension" : "kt",
        "linesOfCode" : 270,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 257,
      "startLine" : 234,
      "endLine" : 280,
      "cleanedStartLine" : 204,
      "cleanedEndLine" : 246
    } ]
  }, {
    "blockSize" : 42,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetrySubgraphTest.kt",
        "extension" : "kt",
        "linesOfCode" : 334,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 313,
      "startLine" : 74,
      "endLine" : 115,
      "cleanedStartLine" : 48,
      "cleanedEndLine" : 89
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetrySubgraphTest.kt",
        "extension" : "kt",
        "linesOfCode" : 334,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 313,
      "startLine" : 305,
      "endLine" : 346,
      "cleanedStartLine" : 247,
      "cleanedEndLine" : 288
    } ]
  }, {
    "blockSize" : 41,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/dashscope/DashscopeParams.kt",
        "extension" : "kt",
        "linesOfCode" : 159,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 144,
      "startLine" : 55,
      "endLine" : 109,
      "cleanedStartLine" : 27,
      "cleanedEndLine" : 67
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-deepseek-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/deepseek/DeepSeekParams.kt",
        "extension" : "kt",
        "linesOfCode" : 143,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 49,
      "endLine" : 103,
      "cleanedStartLine" : 24,
      "cleanedEndLine" : 64
    } ]
  }, {
    "blockSize" : 38,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/dsl/extension/HistoryCompressionStrategiesTest.kt",
        "extension" : "kt",
        "linesOfCode" : 419,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 379,
      "startLine" : 155,
      "endLine" : 192,
      "cleanedStartLine" : 109,
      "cleanedEndLine" : 146
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/dsl/extension/HistoryCompressionStrategiesTest.kt",
        "extension" : "kt",
        "linesOfCode" : 419,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 379,
      "startLine" : 212,
      "endLine" : 249,
      "cleanedStartLine" : 165,
      "cleanedEndLine" : 202
    } ]
  }, {
    "blockSize" : 38,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-deepseek-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/deepseek/models/DeepSeekSerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 327,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 263,
      "startLine" : 221,
      "endLine" : 266,
      "cleanedStartLine" : 158,
      "cleanedEndLine" : 195
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-deepseek-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/deepseek/models/DeepSeekSerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 327,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 263,
      "startLine" : 274,
      "endLine" : 319,
      "cleanedStartLine" : 200,
      "cleanedEndLine" : 237
    } ]
  }, {
    "blockSize" : 37,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageFileWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 509,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 418,
      "startLine" : 75,
      "endLine" : 128,
      "cleanedStartLine" : 12,
      "cleanedEndLine" : 48
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageFileWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 509,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 418,
      "startLine" : 438,
      "endLine" : 491,
      "cleanedStartLine" : 304,
      "cleanedEndLine" : 340
    } ]
  }, {
    "blockSize" : 37,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageLogWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 480,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 396,
      "startLine" : 64,
      "endLine" : 117,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 45
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageLogWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 480,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 396,
      "startLine" : 404,
      "endLine" : 457,
      "cleanedStartLine" : 279,
      "cleanedEndLine" : 315
    } ]
  }, {
    "blockSize" : 37,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageFileWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 509,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 418,
      "startLine" : 135,
      "endLine" : 180,
      "cleanedStartLine" : 54,
      "cleanedEndLine" : 90
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageLogWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 480,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 396,
      "startLine" : 120,
      "endLine" : 165,
      "cleanedStartLine" : 48,
      "cleanedEndLine" : 84
    } ]
  }, {
    "blockSize" : 36,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/langfuse/LangfuseTraceStructureTest.kt",
        "extension" : "kt",
        "linesOfCode" : 249,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 236,
      "startLine" : 212,
      "endLine" : 249,
      "cleanedStartLine" : 181,
      "cleanedEndLine" : 216
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/weave/WeaveTraceStructureTest.kt",
        "extension" : "kt",
        "linesOfCode" : 270,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 257,
      "startLine" : 84,
      "endLine" : 120,
      "cleanedStartLine" : 65,
      "cleanedEndLine" : 100
    } ]
  }, {
    "blockSize" : 36,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageFileWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 509,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 418,
      "startLine" : 441,
      "endLine" : 491,
      "cleanedStartLine" : 305,
      "cleanedEndLine" : 340
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageLogWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 480,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 396,
      "startLine" : 407,
      "endLine" : 457,
      "cleanedStartLine" : 280,
      "cleanedEndLine" : 315
    } ]
  }, {
    "blockSize" : 36,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageFileWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 509,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 418,
      "startLine" : 78,
      "endLine" : 128,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 48
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageLogWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 480,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 396,
      "startLine" : 67,
      "endLine" : 117,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 45
    } ]
  }, {
    "blockSize" : 36,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/langfuse/LangfuseTraceStructureTest.kt",
        "extension" : "kt",
        "linesOfCode" : 249,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 236,
      "startLine" : 88,
      "endLine" : 127,
      "cleanedStartLine" : 68,
      "cleanedEndLine" : 103
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/langfuse/LangfuseTraceStructureTest.kt",
        "extension" : "kt",
        "linesOfCode" : 249,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 236,
      "startLine" : 212,
      "endLine" : 249,
      "cleanedStartLine" : 181,
      "cleanedEndLine" : 216
    } ]
  }, {
    "blockSize" : 35,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageRemoteWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 816,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 671,
      "startLine" : 180,
      "endLine" : 224,
      "cleanedStartLine" : 64,
      "cleanedEndLine" : 98
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageRemoteWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 816,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 671,
      "startLine" : 751,
      "endLine" : 795,
      "cleanedStartLine" : 531,
      "cleanedEndLine" : 565
    } ]
  }, {
    "blockSize" : 34,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerTest.kt",
        "extension" : "kt",
        "linesOfCode" : 521,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 437,
      "startLine" : 281,
      "endLine" : 314,
      "cleanedStartLine" : 165,
      "cleanedEndLine" : 198
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerTestAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 281,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 212,
      "startLine" : 160,
      "endLine" : 193,
      "cleanedStartLine" : 78,
      "cleanedEndLine" : 111
    } ]
  }, {
    "blockSize" : 34,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/dashscope/models/DashscopeSerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 453,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 372,
      "startLine" : 446,
      "endLine" : 485,
      "cleanedStartLine" : 314,
      "cleanedEndLine" : 347
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-deepseek-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/deepseek/models/DeepSeekSerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 327,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 263,
      "startLine" : 224,
      "endLine" : 263,
      "cleanedStartLine" : 160,
      "cleanedEndLine" : 193
    } ]
  }, {
    "blockSize" : 34,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/dashscope/models/DashscopeSerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 453,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 372,
      "startLine" : 446,
      "endLine" : 485,
      "cleanedStartLine" : 314,
      "cleanedEndLine" : 347
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-deepseek-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/deepseek/models/DeepSeekSerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 327,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 263,
      "startLine" : 277,
      "endLine" : 316,
      "cleanedStartLine" : 202,
      "cleanedEndLine" : 235
    } ]
  }, {
    "blockSize" : 33,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerStreamingTest.kt",
        "extension" : "kt",
        "linesOfCode" : 347,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 262,
      "startLine" : 122,
      "endLine" : 165,
      "cleanedStartLine" : 42,
      "cleanedEndLine" : 74
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerTest.kt",
        "extension" : "kt",
        "linesOfCode" : 521,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 437,
      "startLine" : 166,
      "endLine" : 208,
      "cleanedStartLine" : 71,
      "cleanedEndLine" : 103
    } ]
  }, {
    "blockSize" : 33,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rag/vector-storage/src/commonTest/kotlin/ai/koog/rag/vector/FileDocumentEmbeddingStorageTest.kt",
        "extension" : "kt",
        "linesOfCode" : 114,
        "components" : [ "primary::rag" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 90,
      "startLine" : 100,
      "endLine" : 143,
      "cleanedStartLine" : 57,
      "cleanedEndLine" : 89
    }, {
      "file" : {
        "relativePath" : "rag/vector-storage/src/commonTest/kotlin/ai/koog/rag/vector/TextFileDocumentEmbeddingStorageTest.kt",
        "extension" : "kt",
        "linesOfCode" : 141,
        "components" : [ "primary::rag" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 112,
      "startLine" : 105,
      "endLine" : 148,
      "cleanedStartLine" : 61,
      "cleanedEndLine" : 93
    } ]
  }, {
    "blockSize" : 33,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rag/vector-storage/src/jvmTest/kotlin/ai/koog/rag/vector/JVMFileDocumentEmbeddingStorageTest.kt",
        "extension" : "kt",
        "linesOfCode" : 184,
        "components" : [ "primary::rag" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 148,
      "startLine" : 135,
      "endLine" : 180,
      "cleanedStartLine" : 85,
      "cleanedEndLine" : 117
    }, {
      "file" : {
        "relativePath" : "rag/vector-storage/src/jvmTest/kotlin/ai/koog/rag/vector/JVMTextFileDocumentEmbeddingStorageTest.kt",
        "extension" : "kt",
        "linesOfCode" : 234,
        "components" : [ "primary::rag" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 193,
      "startLine" : 132,
      "endLine" : 177,
      "cleanedStartLine" : 84,
      "cleanedEndLine" : 116
    } ]
  }, {
    "blockSize" : 32,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageLogWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 480,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 396,
      "startLine" : 227,
      "endLine" : 258,
      "cleanedStartLine" : 145,
      "cleanedEndLine" : 176
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageLogWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 480,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 396,
      "startLine" : 513,
      "endLine" : 544,
      "cleanedStartLine" : 361,
      "cleanedEndLine" : 392
    } ]
  }, {
    "blockSize" : 32,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-sql/src/jvmMain/kotlin/ai/koog/agents/features/sql/providers/H2PersistencyStorageProvider.kt",
        "extension" : "kt",
        "linesOfCode" : 95,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 81,
      "startLine" : 117,
      "endLine" : 154,
      "cleanedStartLine" : 50,
      "cleanedEndLine" : 81
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-sql/src/jvmMain/kotlin/ai/koog/agents/features/sql/providers/PostgresPersistencyStorageProvider.kt",
        "extension" : "kt",
        "linesOfCode" : 82,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 69,
      "startLine" : 118,
      "endLine" : 155,
      "cleanedStartLine" : 38,
      "cleanedEndLine" : 69
    } ]
  }, {
    "blockSize" : 32,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageFileWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 509,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 418,
      "startLine" : 249,
      "endLine" : 280,
      "cleanedStartLine" : 158,
      "cleanedEndLine" : 189
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageFileWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 509,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 418,
      "startLine" : 543,
      "endLine" : 574,
      "cleanedStartLine" : 383,
      "cleanedEndLine" : 414
    } ]
  }, {
    "blockSize" : 32,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/commonTest/kotlin/ai/koog/prompt/executor/clients/google/structure/GoogleSimpleJsonSchemaGeneratorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 147,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 130,
      "startLine" : 78,
      "endLine" : 112,
      "cleanedStartLine" : 58,
      "cleanedEndLine" : 89
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client-base/src/commonTest/kotlin/ai/koog/prompt/executor/clients/openai/structure/OpenAIBasicJsonSchemaGeneratorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 152,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 134,
      "startLine" : 79,
      "endLine" : 113,
      "cleanedStartLine" : 58,
      "cleanedEndLine" : 89
    } ]
  }, {
    "blockSize" : 31,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/commonTest/kotlin/ai/koog/prompt/executor/clients/google/structure/GoogleSimpleJsonSchemaGeneratorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 147,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 130,
      "startLine" : 36,
      "endLine" : 71,
      "cleanedStartLine" : 24,
      "cleanedEndLine" : 54
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client-base/src/commonTest/kotlin/ai/koog/prompt/executor/clients/openai/structure/OpenAIStandardJsonSchemaGeneratorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 375,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 342,
      "startLine" : 40,
      "endLine" : 75,
      "cleanedStartLine" : 26,
      "cleanedEndLine" : 56
    } ]
  }, {
    "blockSize" : 31,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client-base/src/commonTest/kotlin/ai/koog/prompt/executor/clients/openai/structure/OpenAIBasicJsonSchemaGeneratorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 152,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 134,
      "startLine" : 37,
      "endLine" : 72,
      "cleanedStartLine" : 24,
      "cleanedEndLine" : 54
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client-base/src/commonTest/kotlin/ai/koog/prompt/executor/clients/openai/structure/OpenAIStandardJsonSchemaGeneratorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 375,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 342,
      "startLine" : 40,
      "endLine" : 75,
      "cleanedStartLine" : 26,
      "cleanedEndLine" : 56
    } ]
  }, {
    "blockSize" : 31,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/src/jvmTest/kotlin/dashscope/DashscopeLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 255,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 196,
      "startLine" : 112,
      "endLine" : 147,
      "cleanedStartLine" : 59,
      "cleanedEndLine" : 89
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-deepseek-client/src/jvmTest/kotlin/deepseek/DeepSeekLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 247,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 191,
      "startLine" : 110,
      "endLine" : 145,
      "cleanedStartLine" : 59,
      "cleanedEndLine" : 89
    } ]
  }, {
    "blockSize" : 31,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/commonTest/kotlin/ai/koog/prompt/executor/clients/google/structure/GoogleStandardJsonSchemaGeneratorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 323,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 297,
      "startLine" : 39,
      "endLine" : 74,
      "cleanedStartLine" : 26,
      "cleanedEndLine" : 56
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client-base/src/commonTest/kotlin/ai/koog/prompt/executor/clients/openai/structure/OpenAIBasicJsonSchemaGeneratorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 152,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 134,
      "startLine" : 37,
      "endLine" : 72,
      "cleanedStartLine" : 24,
      "cleanedEndLine" : 54
    } ]
  }, {
    "blockSize" : 31,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/commonTest/kotlin/ai/koog/prompt/executor/clients/google/structure/GoogleSimpleJsonSchemaGeneratorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 147,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 130,
      "startLine" : 36,
      "endLine" : 71,
      "cleanedStartLine" : 24,
      "cleanedEndLine" : 54
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/commonTest/kotlin/ai/koog/prompt/executor/clients/google/structure/GoogleStandardJsonSchemaGeneratorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 323,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 297,
      "startLine" : 39,
      "endLine" : 74,
      "cleanedStartLine" : 26,
      "cleanedEndLine" : 56
    } ]
  }, {
    "blockSize" : 30,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/appleMain/kotlin/ai/koog/agents/core/agent/context/AIAgentFunctionalContext.kt",
        "extension" : "kt",
        "linesOfCode" : 100,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 87,
      "startLine" : 77,
      "endLine" : 106,
      "cleanedStartLine" : 58,
      "cleanedEndLine" : 87
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmMain/kotlin/ai/koog/agents/core/agent/context/AIAgentFunctionalContext.kt",
        "extension" : "kt",
        "linesOfCode" : 302,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 250,
      "startLine" : 101,
      "endLine" : 130,
      "cleanedStartLine" : 63,
      "cleanedEndLine" : 92
    } ]
  }, {
    "blockSize" : 30,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/langfuse/LangfuseTraceStructureTest.kt",
        "extension" : "kt",
        "linesOfCode" : 249,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 236,
      "startLine" : 94,
      "endLine" : 127,
      "cleanedStartLine" : 74,
      "cleanedEndLine" : 103
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/weave/WeaveTraceStructureTest.kt",
        "extension" : "kt",
        "linesOfCode" : 270,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 257,
      "startLine" : 234,
      "endLine" : 266,
      "cleanedStartLine" : 204,
      "cleanedEndLine" : 233
    } ]
  }, {
    "blockSize" : 30,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmMain/kotlin/ai/koog/agents/core/agent/context/AIAgentFunctionalContext.kt",
        "extension" : "kt",
        "linesOfCode" : 302,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 250,
      "startLine" : 101,
      "endLine" : 130,
      "cleanedStartLine" : 63,
      "cleanedEndLine" : 92
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/wasmJsMain/kotlin/ai/koog/agents/core/agent/context/AIAgentFunctionalContext.kt",
        "extension" : "kt",
        "linesOfCode" : 100,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 87,
      "startLine" : 77,
      "endLine" : 106,
      "cleanedStartLine" : 58,
      "cleanedEndLine" : 87
    } ]
  }, {
    "blockSize" : 30,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/androidMain/kotlin/ai/koog/agents/core/agent/context/AIAgentFunctionalContext.kt",
        "extension" : "kt",
        "linesOfCode" : 100,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 87,
      "startLine" : 77,
      "endLine" : 106,
      "cleanedStartLine" : 58,
      "cleanedEndLine" : 87
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmMain/kotlin/ai/koog/agents/core/agent/context/AIAgentFunctionalContext.kt",
        "extension" : "kt",
        "linesOfCode" : 302,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 250,
      "startLine" : 101,
      "endLine" : 130,
      "cleanedStartLine" : 63,
      "cleanedEndLine" : 92
    } ]
  }, {
    "blockSize" : 30,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/weave/WeaveTraceStructureTest.kt",
        "extension" : "kt",
        "linesOfCode" : 270,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 257,
      "startLine" : 90,
      "endLine" : 120,
      "cleanedStartLine" : 71,
      "cleanedEndLine" : 100
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/weave/WeaveTraceStructureTest.kt",
        "extension" : "kt",
        "linesOfCode" : 270,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 257,
      "startLine" : 234,
      "endLine" : 266,
      "cleanedStartLine" : 204,
      "cleanedEndLine" : 233
    } ]
  }, {
    "blockSize" : 30,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jsMain/kotlin/ai/koog/agents/core/agent/context/AIAgentFunctionalContext.kt",
        "extension" : "kt",
        "linesOfCode" : 100,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 87,
      "startLine" : 77,
      "endLine" : 106,
      "cleanedStartLine" : 58,
      "cleanedEndLine" : 87
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmMain/kotlin/ai/koog/agents/core/agent/context/AIAgentFunctionalContext.kt",
        "extension" : "kt",
        "linesOfCode" : 302,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 250,
      "startLine" : 101,
      "endLine" : 130,
      "cleanedStartLine" : 63,
      "cleanedEndLine" : 92
    } ]
  }, {
    "blockSize" : 30,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/BedrockLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 751,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 628,
      "startLine" : 286,
      "endLine" : 327,
      "cleanedStartLine" : 172,
      "cleanedEndLine" : 201
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/BedrockLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 751,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 628,
      "startLine" : 490,
      "endLine" : 531,
      "cleanedStartLine" : 313,
      "cleanedEndLine" : 342
    } ]
  }, {
    "blockSize" : 29,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jsMain/kotlin/ai/koog/agents/core/agent/context/AIAgentFunctionalContext.kt",
        "extension" : "kt",
        "linesOfCode" : 100,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 87,
      "startLine" : 23,
      "endLine" : 51,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 35
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmMain/kotlin/ai/koog/agents/core/agent/context/AIAgentFunctionalContext.kt",
        "extension" : "kt",
        "linesOfCode" : 302,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 250,
      "startLine" : 44,
      "endLine" : 72,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 37
    } ]
  }, {
    "blockSize" : 29,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/SubgraphWithTaskTest.kt",
        "extension" : "kt",
        "linesOfCode" : 603,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 509,
      "startLine" : 50,
      "endLine" : 91,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 41
    }, {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/SubgraphWithTaskTest.kt",
        "extension" : "kt",
        "linesOfCode" : 603,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 509,
      "startLine" : 293,
      "endLine" : 334,
      "cleanedStartLine" : 178,
      "cleanedEndLine" : 206
    } ]
  }, {
    "blockSize" : 29,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmMain/kotlin/ai/koog/agents/core/agent/context/AIAgentFunctionalContext.kt",
        "extension" : "kt",
        "linesOfCode" : 302,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 250,
      "startLine" : 44,
      "endLine" : 72,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 37
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/wasmJsMain/kotlin/ai/koog/agents/core/agent/context/AIAgentFunctionalContext.kt",
        "extension" : "kt",
        "linesOfCode" : 100,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 87,
      "startLine" : 23,
      "endLine" : 51,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 35
    } ]
  }, {
    "blockSize" : 29,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/appleMain/kotlin/ai/koog/agents/core/agent/context/AIAgentFunctionalContext.kt",
        "extension" : "kt",
        "linesOfCode" : 100,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 87,
      "startLine" : 23,
      "endLine" : 51,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 35
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmMain/kotlin/ai/koog/agents/core/agent/context/AIAgentFunctionalContext.kt",
        "extension" : "kt",
        "linesOfCode" : 302,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 250,
      "startLine" : 44,
      "endLine" : 72,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 37
    } ]
  }, {
    "blockSize" : 29,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/androidMain/kotlin/ai/koog/agents/core/agent/context/AIAgentFunctionalContext.kt",
        "extension" : "kt",
        "linesOfCode" : 100,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 87,
      "startLine" : 23,
      "endLine" : 51,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 35
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmMain/kotlin/ai/koog/agents/core/agent/context/AIAgentFunctionalContext.kt",
        "extension" : "kt",
        "linesOfCode" : 302,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 250,
      "startLine" : 44,
      "endLine" : 72,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 37
    } ]
  }, {
    "blockSize" : 28,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-sql/src/jvmTest/kotlin/ai/koog/agents/features/sql/providers/MySQLPersistencyStorageProviderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 106,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 76,
      "startLine" : 66,
      "endLine" : 110,
      "cleanedStartLine" : 32,
      "cleanedEndLine" : 59
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-sql/src/jvmTest/kotlin/ai/koog/agents/features/sql/providers/PostgresPersistencyStorageProviderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 105,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 76,
      "startLine" : 65,
      "endLine" : 109,
      "cleanedStartLine" : 32,
      "cleanedEndLine" : 59
    } ]
  }, {
    "blockSize" : 28,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/commonTest/kotlin/ai/koog/prompt/executor/clients/google/structure/GoogleSimpleJsonSchemaGeneratorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 147,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 130,
      "startLine" : 113,
      "endLine" : 141,
      "cleanedStartLine" : 90,
      "cleanedEndLine" : 117
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client-base/src/commonTest/kotlin/ai/koog/prompt/executor/clients/openai/structure/OpenAIBasicJsonSchemaGeneratorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 152,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 134,
      "startLine" : 115,
      "endLine" : 143,
      "cleanedStartLine" : 91,
      "cleanedEndLine" : 118
    } ]
  }, {
    "blockSize" : 27,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/tool/file/EditFileToolCoreTest.kt",
        "extension" : "kt",
        "linesOfCode" : 235,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 214,
      "startLine" : 101,
      "endLine" : 133,
      "cleanedStartLine" : 63,
      "cleanedEndLine" : 89
    }, {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/tool/file/EditFileToolCoreTest.kt",
        "extension" : "kt",
        "linesOfCode" : 235,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 214,
      "startLine" : 136,
      "endLine" : 168,
      "cleanedStartLine" : 91,
      "cleanedEndLine" : 117
    } ]
  }, {
    "blockSize" : 27,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-structure/src/commonTest/kotlin/ai/koog/prompt/structure/json/generator/JsonSchemaGeneratorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 819,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 713,
      "startLine" : 252,
      "endLine" : 285,
      "cleanedStartLine" : 198,
      "cleanedEndLine" : 224
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-structure/src/commonTest/kotlin/ai/koog/prompt/structure/json/generator/JsonSchemaGeneratorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 819,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 713,
      "startLine" : 427,
      "endLine" : 460,
      "cleanedStartLine" : 340,
      "cleanedEndLine" : 366
    } ]
  }, {
    "blockSize" : 26,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/androidMain/kotlin/ai/koog/agents/core/agent/AIAgentServiceBuilder.kt",
        "extension" : "kt",
        "linesOfCode" : 33,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 1,
      "endLine" : 47,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 26
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/wasmJsMain/kotlin/ai/koog/agents/core/agent/AIAgentServiceBuilder.kt",
        "extension" : "kt",
        "linesOfCode" : 33,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 1,
      "endLine" : 47,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 26
    } ]
  }, {
    "blockSize" : 26,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/androidMain/kotlin/ai/koog/agents/core/agent/AIAgentServiceBuilder.kt",
        "extension" : "kt",
        "linesOfCode" : 33,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 1,
      "endLine" : 47,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 26
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/appleMain/kotlin/ai/koog/agents/core/agent/AIAgentServiceBuilder.kt",
        "extension" : "kt",
        "linesOfCode" : 33,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 1,
      "endLine" : 47,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 26
    } ]
  }, {
    "blockSize" : 26,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/appleMain/kotlin/ai/koog/agents/core/agent/AIAgentServiceBuilder.kt",
        "extension" : "kt",
        "linesOfCode" : 33,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 1,
      "endLine" : 47,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 26
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/wasmJsMain/kotlin/ai/koog/agents/core/agent/AIAgentServiceBuilder.kt",
        "extension" : "kt",
        "linesOfCode" : 33,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 1,
      "endLine" : 47,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 26
    } ]
  }, {
    "blockSize" : 26,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/androidMain/kotlin/ai/koog/agents/core/agent/AIAgentServiceBuilder.kt",
        "extension" : "kt",
        "linesOfCode" : 33,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 1,
      "endLine" : 47,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 26
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jsMain/kotlin/ai/koog/agents/core/agent/AIAgentServiceBuilder.kt",
        "extension" : "kt",
        "linesOfCode" : 33,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 1,
      "endLine" : 47,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 26
    } ]
  }, {
    "blockSize" : 26,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/langfuse/LangfuseTraceStructureTest.kt",
        "extension" : "kt",
        "linesOfCode" : 249,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 236,
      "startLine" : 39,
      "endLine" : 67,
      "cleanedStartLine" : 24,
      "cleanedEndLine" : 49
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/langfuse/LangfuseTraceStructureTest.kt",
        "extension" : "kt",
        "linesOfCode" : 249,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 236,
      "startLine" : 106,
      "endLine" : 134,
      "cleanedStartLine" : 85,
      "cleanedEndLine" : 110
    } ]
  }, {
    "blockSize" : 26,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/langfuse/LangfuseTraceStructureTest.kt",
        "extension" : "kt",
        "linesOfCode" : 249,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 236,
      "startLine" : 39,
      "endLine" : 67,
      "cleanedStartLine" : 24,
      "cleanedEndLine" : 49
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/weave/WeaveTraceStructureTest.kt",
        "extension" : "kt",
        "linesOfCode" : 270,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 257,
      "startLine" : 101,
      "endLine" : 127,
      "cleanedStartLine" : 82,
      "cleanedEndLine" : 107
    } ]
  }, {
    "blockSize" : 26,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-structure/src/commonTest/kotlin/ai/koog/prompt/structure/json/generator/JsonSchemaGeneratorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 819,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 713,
      "startLine" : 198,
      "endLine" : 226,
      "cleanedStartLine" : 154,
      "cleanedEndLine" : 179
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-structure/src/commonTest/kotlin/ai/koog/prompt/structure/json/generator/JsonSchemaGeneratorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 819,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 713,
      "startLine" : 367,
      "endLine" : 395,
      "cleanedStartLine" : 291,
      "cleanedEndLine" : 316
    } ]
  }, {
    "blockSize" : 26,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/utils/SerializationUtilsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 478,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 413,
      "startLine" : 276,
      "endLine" : 304,
      "cleanedStartLine" : 171,
      "cleanedEndLine" : 196
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/utils/SerializationUtilsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 478,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 413,
      "startLine" : 406,
      "endLine" : 434,
      "cleanedStartLine" : 268,
      "cleanedEndLine" : 293
    } ]
  }, {
    "blockSize" : 26,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/appleMain/kotlin/ai/koog/agents/core/agent/AIAgentServiceBuilder.kt",
        "extension" : "kt",
        "linesOfCode" : 33,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 1,
      "endLine" : 47,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 26
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jsMain/kotlin/ai/koog/agents/core/agent/AIAgentServiceBuilder.kt",
        "extension" : "kt",
        "linesOfCode" : 33,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 1,
      "endLine" : 47,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 26
    } ]
  }, {
    "blockSize" : 26,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jsMain/kotlin/ai/koog/agents/core/agent/AIAgentServiceBuilder.kt",
        "extension" : "kt",
        "linesOfCode" : 33,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 1,
      "endLine" : 47,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 26
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/wasmJsMain/kotlin/ai/koog/agents/core/agent/AIAgentServiceBuilder.kt",
        "extension" : "kt",
        "linesOfCode" : 33,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 1,
      "endLine" : 47,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 26
    } ]
  }, {
    "blockSize" : 25,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/androidMain/kotlin/ai/koog/agents/core/agent/config/AIAgentConfig.kt",
        "extension" : "kt",
        "linesOfCode" : 32,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 1,
      "endLine" : 35,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 25
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/wasmJsMain/kotlin/ai/koog/agents/core/agent/config/AIAgentConfig.kt",
        "extension" : "kt",
        "linesOfCode" : 32,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 1,
      "endLine" : 35,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 25
    } ]
  }, {
    "blockSize" : 25,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageFileWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 509,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 418,
      "startLine" : 494,
      "endLine" : 526,
      "cleanedStartLine" : 343,
      "cleanedEndLine" : 367
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageLogWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 480,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 396,
      "startLine" : 464,
      "endLine" : 496,
      "cleanedStartLine" : 321,
      "cleanedEndLine" : 345
    } ]
  }, {
    "blockSize" : 25,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/androidMain/kotlin/ai/koog/agents/core/agent/AIAgentServiceBuilder.kt",
        "extension" : "kt",
        "linesOfCode" : 33,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 1,
      "endLine" : 45,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 25
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmMain/kotlin/ai/koog/agents/core/agent/AIAgentServiceBuilder.kt",
        "extension" : "kt",
        "linesOfCode" : 47,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 36,
      "startLine" : 1,
      "endLine" : 48,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 25
    } ]
  }, {
    "blockSize" : 25,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/appleMain/kotlin/ai/koog/agents/core/agent/config/AIAgentConfig.kt",
        "extension" : "kt",
        "linesOfCode" : 32,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 1,
      "endLine" : 35,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 25
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jsMain/kotlin/ai/koog/agents/core/agent/config/AIAgentConfig.kt",
        "extension" : "kt",
        "linesOfCode" : 32,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 1,
      "endLine" : 35,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 25
    } ]
  }, {
    "blockSize" : 25,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/SubgraphWithRetryTest.kt",
        "extension" : "kt",
        "linesOfCode" : 429,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 348,
      "startLine" : 214,
      "endLine" : 248,
      "cleanedStartLine" : 140,
      "cleanedEndLine" : 164
    }, {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/SubgraphWithRetryTest.kt",
        "extension" : "kt",
        "linesOfCode" : 429,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 348,
      "startLine" : 381,
      "endLine" : 415,
      "cleanedStartLine" : 259,
      "cleanedEndLine" : 283
    } ]
  }, {
    "blockSize" : 25,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/span/SpanCollectorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 437,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 399,
      "startLine" : 240,
      "endLine" : 270,
      "cleanedStartLine" : 165,
      "cleanedEndLine" : 189
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/span/SpanCollectorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 437,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 399,
      "startLine" : 291,
      "endLine" : 321,
      "cleanedStartLine" : 202,
      "cleanedEndLine" : 226
    } ]
  }, {
    "blockSize" : 25,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmMain/kotlin/ai/koog/agents/core/agent/AIAgentServiceBuilder.kt",
        "extension" : "kt",
        "linesOfCode" : 47,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 36,
      "startLine" : 1,
      "endLine" : 48,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 25
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/wasmJsMain/kotlin/ai/koog/agents/core/agent/AIAgentServiceBuilder.kt",
        "extension" : "kt",
        "linesOfCode" : 33,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 1,
      "endLine" : 45,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 25
    } ]
  }, {
    "blockSize" : 25,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jsMain/kotlin/ai/koog/agents/core/agent/AIAgentServiceBuilder.kt",
        "extension" : "kt",
        "linesOfCode" : 33,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 1,
      "endLine" : 45,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 25
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmMain/kotlin/ai/koog/agents/core/agent/AIAgentServiceBuilder.kt",
        "extension" : "kt",
        "linesOfCode" : 47,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 36,
      "startLine" : 1,
      "endLine" : 48,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 25
    } ]
  }, {
    "blockSize" : 25,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/androidMain/kotlin/ai/koog/agents/core/agent/config/AIAgentConfig.kt",
        "extension" : "kt",
        "linesOfCode" : 32,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 1,
      "endLine" : 35,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 25
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/appleMain/kotlin/ai/koog/agents/core/agent/config/AIAgentConfig.kt",
        "extension" : "kt",
        "linesOfCode" : 32,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 1,
      "endLine" : 35,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 25
    } ]
  }, {
    "blockSize" : 25,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/androidMain/kotlin/ai/koog/agents/core/agent/config/AIAgentConfig.kt",
        "extension" : "kt",
        "linesOfCode" : 32,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 1,
      "endLine" : 35,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 25
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jsMain/kotlin/ai/koog/agents/core/agent/config/AIAgentConfig.kt",
        "extension" : "kt",
        "linesOfCode" : 32,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 1,
      "endLine" : 35,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 25
    } ]
  }, {
    "blockSize" : 25,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/langfuse/LangfuseTraceStructureTest.kt",
        "extension" : "kt",
        "linesOfCode" : 249,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 236,
      "startLine" : 169,
      "endLine" : 195,
      "cleanedStartLine" : 142,
      "cleanedEndLine" : 166
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/weave/WeaveTraceStructureTest.kt",
        "extension" : "kt",
        "linesOfCode" : 270,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 257,
      "startLine" : 172,
      "endLine" : 198,
      "cleanedStartLine" : 147,
      "cleanedEndLine" : 171
    } ]
  }, {
    "blockSize" : 25,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jsMain/kotlin/ai/koog/agents/core/agent/config/AIAgentConfig.kt",
        "extension" : "kt",
        "linesOfCode" : 32,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 1,
      "endLine" : 35,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 25
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/wasmJsMain/kotlin/ai/koog/agents/core/agent/config/AIAgentConfig.kt",
        "extension" : "kt",
        "linesOfCode" : 32,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 1,
      "endLine" : 35,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 25
    } ]
  }, {
    "blockSize" : 25,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-server/src/commonTest/kotlin/ai/koog/a2a/server/session/SessionEventProcessorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 287,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 234,
      "startLine" : 43,
      "endLine" : 69,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 35
    }, {
      "file" : {
        "relativePath" : "a2a/a2a-server/src/commonTest/kotlin/ai/koog/a2a/server/session/SessionManagerTest.kt",
        "extension" : "kt",
        "linesOfCode" : 215,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 175,
      "startLine" : 56,
      "endLine" : 82,
      "cleanedStartLine" : 19,
      "cleanedEndLine" : 43
    } ]
  }, {
    "blockSize" : 25,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/appleMain/kotlin/ai/koog/agents/core/agent/config/AIAgentConfig.kt",
        "extension" : "kt",
        "linesOfCode" : 32,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 1,
      "endLine" : 35,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 25
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/wasmJsMain/kotlin/ai/koog/agents/core/agent/config/AIAgentConfig.kt",
        "extension" : "kt",
        "linesOfCode" : 32,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 1,
      "endLine" : 35,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 25
    } ]
  }, {
    "blockSize" : 25,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/appleMain/kotlin/ai/koog/agents/core/agent/AIAgentServiceBuilder.kt",
        "extension" : "kt",
        "linesOfCode" : 33,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 1,
      "endLine" : 45,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 25
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmMain/kotlin/ai/koog/agents/core/agent/AIAgentServiceBuilder.kt",
        "extension" : "kt",
        "linesOfCode" : 47,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 36,
      "startLine" : 1,
      "endLine" : 48,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 25
    } ]
  }, {
    "blockSize" : 24,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/androidMain/kotlin/ai/koog/agents/core/agent/session/AIAgentLLMWriteSession.kt",
        "extension" : "kt",
        "linesOfCode" : 61,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 45,
      "startLine" : 42,
      "endLine" : 70,
      "cleanedStartLine" : 22,
      "cleanedEndLine" : 45
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmMain/kotlin/ai/koog/agents/core/agent/session/AIAgentLLMWriteSession.kt",
        "extension" : "kt",
        "linesOfCode" : 198,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 156,
      "startLine" : 332,
      "endLine" : 360,
      "cleanedStartLine" : 133,
      "cleanedEndLine" : 156
    } ]
  }, {
    "blockSize" : 24,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmMain/kotlin/ai/koog/agents/core/agent/session/AIAgentLLMWriteSession.kt",
        "extension" : "kt",
        "linesOfCode" : 198,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 156,
      "startLine" : 332,
      "endLine" : 360,
      "cleanedStartLine" : 133,
      "cleanedEndLine" : 156
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/wasmJsMain/kotlin/ai/koog/agents/core/agent/session/AIAgentLLMWriteSession.kt",
        "extension" : "kt",
        "linesOfCode" : 61,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 45,
      "startLine" : 42,
      "endLine" : 70,
      "cleanedStartLine" : 22,
      "cleanedEndLine" : 45
    } ]
  }, {
    "blockSize" : 24,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/SubgraphWithRetryTest.kt",
        "extension" : "kt",
        "linesOfCode" : 429,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 348,
      "startLine" : 108,
      "endLine" : 141,
      "cleanedStartLine" : 62,
      "cleanedEndLine" : 85
    }, {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/SubgraphWithRetryTest.kt",
        "extension" : "kt",
        "linesOfCode" : 429,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 348,
      "startLine" : 164,
      "endLine" : 198,
      "cleanedStartLine" : 104,
      "cleanedEndLine" : 127
    } ]
  }, {
    "blockSize" : 24,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerStreamingTest.kt",
        "extension" : "kt",
        "linesOfCode" : 347,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 262,
      "startLine" : 131,
      "endLine" : 165,
      "cleanedStartLine" : 51,
      "cleanedEndLine" : 74
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerSubgraphTest.kt",
        "extension" : "kt",
        "linesOfCode" : 262,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 194,
      "startLine" : 92,
      "endLine" : 126,
      "cleanedStartLine" : 34,
      "cleanedEndLine" : 57
    } ]
  }, {
    "blockSize" : 24,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmMain/kotlin/ai/koog/agents/core/agent/AIAgentService.kt",
        "extension" : "kt",
        "linesOfCode" : 176,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 153,
      "startLine" : 19,
      "endLine" : 44,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 28
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/wasmJsMain/kotlin/ai/koog/agents/core/agent/AIAgentService.kt",
        "extension" : "kt",
        "linesOfCode" : 89,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 79,
      "startLine" : 15,
      "endLine" : 40,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 27
    } ]
  }, {
    "blockSize" : 24,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jsMain/kotlin/ai/koog/agents/core/agent/session/AIAgentLLMWriteSession.kt",
        "extension" : "kt",
        "linesOfCode" : 61,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 45,
      "startLine" : 42,
      "endLine" : 70,
      "cleanedStartLine" : 22,
      "cleanedEndLine" : 45
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmMain/kotlin/ai/koog/agents/core/agent/session/AIAgentLLMWriteSession.kt",
        "extension" : "kt",
        "linesOfCode" : 198,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 156,
      "startLine" : 332,
      "endLine" : 360,
      "cleanedStartLine" : 133,
      "cleanedEndLine" : 156
    } ]
  }, {
    "blockSize" : 24,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/weave/WeaveTraceStructureTest.kt",
        "extension" : "kt",
        "linesOfCode" : 270,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 257,
      "startLine" : 27,
      "endLine" : 51,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 36
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/weave/WeaveTraceStructureTest.kt",
        "extension" : "kt",
        "linesOfCode" : 270,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 257,
      "startLine" : 158,
      "endLine" : 182,
      "cleanedStartLine" : 133,
      "cleanedEndLine" : 156
    } ]
  }, {
    "blockSize" : 24,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/mock/TestAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 82,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 63,
      "startLine" : 90,
      "endLine" : 126,
      "cleanedStartLine" : 33,
      "cleanedEndLine" : 56
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/mock/TestAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 85,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 64,
      "startLine" : 93,
      "endLine" : 129,
      "cleanedStartLine" : 34,
      "cleanedEndLine" : 57
    } ]
  }, {
    "blockSize" : 24,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jsMain/kotlin/ai/koog/agents/core/agent/AIAgentService.kt",
        "extension" : "kt",
        "linesOfCode" : 89,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 79,
      "startLine" : 15,
      "endLine" : 40,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 27
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmMain/kotlin/ai/koog/agents/core/agent/AIAgentService.kt",
        "extension" : "kt",
        "linesOfCode" : 176,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 153,
      "startLine" : 19,
      "endLine" : 44,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 28
    } ]
  }, {
    "blockSize" : 24,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerSubgraphTest.kt",
        "extension" : "kt",
        "linesOfCode" : 262,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 194,
      "startLine" : 92,
      "endLine" : 126,
      "cleanedStartLine" : 34,
      "cleanedEndLine" : 57
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerTest.kt",
        "extension" : "kt",
        "linesOfCode" : 521,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 437,
      "startLine" : 175,
      "endLine" : 208,
      "cleanedStartLine" : 80,
      "cleanedEndLine" : 103
    } ]
  }, {
    "blockSize" : 24,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/appleMain/kotlin/ai/koog/agents/core/agent/session/AIAgentLLMWriteSession.kt",
        "extension" : "kt",
        "linesOfCode" : 61,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 45,
      "startLine" : 42,
      "endLine" : 70,
      "cleanedStartLine" : 22,
      "cleanedEndLine" : 45
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmMain/kotlin/ai/koog/agents/core/agent/session/AIAgentLLMWriteSession.kt",
        "extension" : "kt",
        "linesOfCode" : 198,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 156,
      "startLine" : 332,
      "endLine" : 360,
      "cleanedStartLine" : 133,
      "cleanedEndLine" : 156
    } ]
  }, {
    "blockSize" : 24,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/androidMain/kotlin/ai/koog/agents/core/agent/AIAgentService.kt",
        "extension" : "kt",
        "linesOfCode" : 89,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 79,
      "startLine" : 15,
      "endLine" : 40,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 27
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmMain/kotlin/ai/koog/agents/core/agent/AIAgentService.kt",
        "extension" : "kt",
        "linesOfCode" : 176,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 153,
      "startLine" : 19,
      "endLine" : 44,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 28
    } ]
  }, {
    "blockSize" : 24,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/appleMain/kotlin/ai/koog/agents/core/agent/AIAgentService.kt",
        "extension" : "kt",
        "linesOfCode" : 89,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 79,
      "startLine" : 15,
      "endLine" : 40,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 27
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmMain/kotlin/ai/koog/agents/core/agent/AIAgentService.kt",
        "extension" : "kt",
        "linesOfCode" : 176,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 153,
      "startLine" : 19,
      "endLine" : 44,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 28
    } ]
  }, {
    "blockSize" : 24,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetrySubgraphTest.kt",
        "extension" : "kt",
        "linesOfCode" : 334,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 313,
      "startLine" : 44,
      "endLine" : 71,
      "cleanedStartLine" : 22,
      "cleanedEndLine" : 45
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetrySubgraphTest.kt",
        "extension" : "kt",
        "linesOfCode" : 334,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 313,
      "startLine" : 275,
      "endLine" : 302,
      "cleanedStartLine" : 221,
      "cleanedEndLine" : 244
    } ]
  }, {
    "blockSize" : 24,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/SubgraphWithTaskTest.kt",
        "extension" : "kt",
        "linesOfCode" : 603,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 509,
      "startLine" : 358,
      "endLine" : 391,
      "cleanedStartLine" : 223,
      "cleanedEndLine" : 246
    }, {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/SubgraphWithTaskTest.kt",
        "extension" : "kt",
        "linesOfCode" : 603,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 509,
      "startLine" : 572,
      "endLine" : 605,
      "cleanedStartLine" : 374,
      "cleanedEndLine" : 397
    } ]
  }, {
    "blockSize" : 23,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/SubgraphWithRetryTest.kt",
        "extension" : "kt",
        "linesOfCode" : 429,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 348,
      "startLine" : 106,
      "endLine" : 138,
      "cleanedStartLine" : 60,
      "cleanedEndLine" : 82
    }, {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/SubgraphWithRetryTest.kt",
        "extension" : "kt",
        "linesOfCode" : 429,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 348,
      "startLine" : 282,
      "endLine" : 314,
      "cleanedStartLine" : 188,
      "cleanedEndLine" : 210
    } ]
  }, {
    "blockSize" : 23,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/remote/jsonConfig.kt",
        "extension" : "kt",
        "linesOfCode" : 171,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 119,
      "startLine" : 99,
      "endLine" : 121,
      "cleanedStartLine" : 14,
      "cleanedEndLine" : 36
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/remote/jsonConfig.kt",
        "extension" : "kt",
        "linesOfCode" : 171,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 119,
      "startLine" : 125,
      "endLine" : 147,
      "cleanedStartLine" : 38,
      "cleanedEndLine" : 60
    } ]
  }, {
    "blockSize" : 23,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/remote/jsonConfig.kt",
        "extension" : "kt",
        "linesOfCode" : 171,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 119,
      "startLine" : 99,
      "endLine" : 121,
      "cleanedStartLine" : 14,
      "cleanedEndLine" : 36
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/remote/jsonConfig.kt",
        "extension" : "kt",
        "linesOfCode" : 171,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 119,
      "startLine" : 151,
      "endLine" : 173,
      "cleanedStartLine" : 62,
      "cleanedEndLine" : 84
    } ]
  }, {
    "blockSize" : 23,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/remote/jsonConfig.kt",
        "extension" : "kt",
        "linesOfCode" : 171,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 119,
      "startLine" : 125,
      "endLine" : 147,
      "cleanedStartLine" : 38,
      "cleanedEndLine" : 60
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/remote/jsonConfig.kt",
        "extension" : "kt",
        "linesOfCode" : 171,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 119,
      "startLine" : 151,
      "endLine" : 173,
      "cleanedStartLine" : 62,
      "cleanedEndLine" : 84
    } ]
  }, {
    "blockSize" : 22,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryInferenceSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 556,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 517,
      "startLine" : 81,
      "endLine" : 103,
      "cleanedStartLine" : 43,
      "cleanedEndLine" : 64
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryInferenceSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 556,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 517,
      "startLine" : 596,
      "endLine" : 618,
      "cleanedStartLine" : 496,
      "cleanedEndLine" : 517
    } ]
  }, {
    "blockSize" : 22,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/agent/session/AIAgentLLMSessionStructuredOutputTest.kt",
        "extension" : "kt",
        "linesOfCode" : 194,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 154,
      "startLine" : 38,
      "endLine" : 66,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 36
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/agent/session/AIAgentLLMSessionStructuredOutputTest.kt",
        "extension" : "kt",
        "linesOfCode" : 194,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 154,
      "startLine" : 92,
      "endLine" : 120,
      "cleanedStartLine" : 54,
      "cleanedEndLine" : 75
    } ]
  }, {
    "blockSize" : 22,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/dsl/extension/AIAgentNodesHistoryCompressionTest.kt",
        "extension" : "kt",
        "linesOfCode" : 151,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 117,
      "startLine" : 44,
      "endLine" : 76,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 36
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/dsl/extension/AIAgentNodesHistoryCompressionTest.kt",
        "extension" : "kt",
        "linesOfCode" : 151,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 117,
      "startLine" : 96,
      "endLine" : 128,
      "cleanedStartLine" : 48,
      "cleanedEndLine" : 69
    } ]
  }, {
    "blockSize" : 22,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 489,
      "endLine" : 518,
      "cleanedStartLine" : 337,
      "cleanedEndLine" : 358
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 524,
      "endLine" : 554,
      "cleanedStartLine" : 364,
      "cleanedEndLine" : 385
    } ]
  }, {
    "blockSize" : 22,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/session/AIAgentLLMReadSession.kt",
        "extension" : "kt",
        "linesOfCode" : 78,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 60,
      "startLine" : 53,
      "endLine" : 78,
      "cleanedStartLine" : 18,
      "cleanedEndLine" : 39
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/session/AIAgentLLMWriteSession.kt",
        "extension" : "kt",
        "linesOfCode" : 188,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 155,
      "startLine" : 99,
      "endLine" : 124,
      "cleanedStartLine" : 35,
      "cleanedEndLine" : 56
    } ]
  }, {
    "blockSize" : 21,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-sql/src/jvmTest/kotlin/ai/koog/agents/features/sql/providers/H2PersistencyStorageProviderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 85,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 60,
      "startLine" : 83,
      "endLine" : 110,
      "cleanedStartLine" : 40,
      "cleanedEndLine" : 60
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-sql/src/jvmTest/kotlin/ai/koog/agents/features/sql/providers/MySQLPersistencyStorageProviderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 106,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 76,
      "startLine" : 106,
      "endLine" : 133,
      "cleanedStartLine" : 56,
      "cleanedEndLine" : 76
    } ]
  }, {
    "blockSize" : 21,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/SubgraphWithRetryTest.kt",
        "extension" : "kt",
        "linesOfCode" : 429,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 348,
      "startLine" : 164,
      "endLine" : 195,
      "cleanedStartLine" : 104,
      "cleanedEndLine" : 124
    }, {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/SubgraphWithRetryTest.kt",
        "extension" : "kt",
        "linesOfCode" : 429,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 348,
      "startLine" : 284,
      "endLine" : 314,
      "cleanedStartLine" : 190,
      "cleanedEndLine" : 210
    } ]
  }, {
    "blockSize" : 21,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/androidMain/kotlin/ai/koog/agents/core/agent/context/AIAgentLLMContext.kt",
        "extension" : "kt",
        "linesOfCode" : 32,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 34,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 21
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmMain/kotlin/ai/koog/agents/core/agent/context/AIAgentLLMContext.kt",
        "extension" : "kt",
        "linesOfCode" : 82,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 59,
      "startLine" : 1,
      "endLine" : 40,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 21
    } ]
  }, {
    "blockSize" : 21,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/agent/session/AIAgentLLMSessionStructuredOutputTest.kt",
        "extension" : "kt",
        "linesOfCode" : 194,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 154,
      "startLine" : 39,
      "endLine" : 66,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 36
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/agent/session/AIAgentLLMSessionStructuredOutputTest.kt",
        "extension" : "kt",
        "linesOfCode" : 194,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 154,
      "startLine" : 164,
      "endLine" : 191,
      "cleanedStartLine" : 109,
      "cleanedEndLine" : 129
    } ]
  }, {
    "blockSize" : 21,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/androidMain/kotlin/ai/koog/agents/core/agent/context/AIAgentLLMContext.kt",
        "extension" : "kt",
        "linesOfCode" : 32,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 34,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 21
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jsMain/kotlin/ai/koog/agents/core/agent/context/AIAgentLLMContext.kt",
        "extension" : "kt",
        "linesOfCode" : 32,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 34,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 21
    } ]
  }, {
    "blockSize" : 21,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jsMain/kotlin/ai/koog/agents/core/agent/context/AIAgentLLMContext.kt",
        "extension" : "kt",
        "linesOfCode" : 32,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 34,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 21
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmMain/kotlin/ai/koog/agents/core/agent/context/AIAgentLLMContext.kt",
        "extension" : "kt",
        "linesOfCode" : 82,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 59,
      "startLine" : 1,
      "endLine" : 40,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 21
    } ]
  }, {
    "blockSize" : 21,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/androidMain/kotlin/ai/koog/agents/core/agent/context/AIAgentLLMContext.kt",
        "extension" : "kt",
        "linesOfCode" : 32,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 34,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 21
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/appleMain/kotlin/ai/koog/agents/core/agent/context/AIAgentLLMContext.kt",
        "extension" : "kt",
        "linesOfCode" : 32,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 34,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 21
    } ]
  }, {
    "blockSize" : 21,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-server/src/jvmTest/kotlin/ai/koog/a2a/server/jsonrpc/BaseA2AServerJsonRpcTest.kt",
        "extension" : "kt",
        "linesOfCode" : 159,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 131,
      "startLine" : 111,
      "endLine" : 131,
      "cleanedStartLine" : 60,
      "cleanedEndLine" : 80
    }, {
      "file" : {
        "relativePath" : "a2a/a2a-server/src/jvmTest/kotlin/ai/koog/a2a/server/jsonrpc/BaseA2AServerJsonRpcTest.kt",
        "extension" : "kt",
        "linesOfCode" : 159,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 131,
      "startLine" : 148,
      "endLine" : 168,
      "cleanedStartLine" : 96,
      "cleanedEndLine" : 116
    } ]
  }, {
    "blockSize" : 21,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerTest.kt",
        "extension" : "kt",
        "linesOfCode" : 521,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 437,
      "startLine" : 267,
      "endLine" : 287,
      "cleanedStartLine" : 151,
      "cleanedEndLine" : 171
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageRemoteWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 816,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 671,
      "startLine" : 374,
      "endLine" : 394,
      "cleanedStartLine" : 215,
      "cleanedEndLine" : 235
    } ]
  }, {
    "blockSize" : 21,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/agent/session/AIAgentLLMSessionStructuredOutputTest.kt",
        "extension" : "kt",
        "linesOfCode" : 194,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 154,
      "startLine" : 93,
      "endLine" : 120,
      "cleanedStartLine" : 55,
      "cleanedEndLine" : 75
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/agent/session/AIAgentLLMSessionStructuredOutputTest.kt",
        "extension" : "kt",
        "linesOfCode" : 194,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 154,
      "startLine" : 164,
      "endLine" : 191,
      "cleanedStartLine" : 109,
      "cleanedEndLine" : 129
    } ]
  }, {
    "blockSize" : 21,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/appleMain/kotlin/ai/koog/agents/core/agent/context/AIAgentLLMContext.kt",
        "extension" : "kt",
        "linesOfCode" : 32,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 34,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 21
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmMain/kotlin/ai/koog/agents/core/agent/context/AIAgentLLMContext.kt",
        "extension" : "kt",
        "linesOfCode" : 82,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 59,
      "startLine" : 1,
      "endLine" : 40,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 21
    } ]
  }, {
    "blockSize" : 21,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/SubgraphWithRetryTest.kt",
        "extension" : "kt",
        "linesOfCode" : 429,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 348,
      "startLine" : 111,
      "endLine" : 139,
      "cleanedStartLine" : 63,
      "cleanedEndLine" : 83
    }, {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/SubgraphWithRetryTest.kt",
        "extension" : "kt",
        "linesOfCode" : 429,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 348,
      "startLine" : 221,
      "endLine" : 250,
      "cleanedStartLine" : 145,
      "cleanedEndLine" : 165
    } ]
  }, {
    "blockSize" : 21,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/androidMain/kotlin/ai/koog/agents/core/agent/context/AIAgentLLMContext.kt",
        "extension" : "kt",
        "linesOfCode" : 32,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 34,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 21
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/wasmJsMain/kotlin/ai/koog/agents/core/agent/context/AIAgentLLMContext.kt",
        "extension" : "kt",
        "linesOfCode" : 32,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 34,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 21
    } ]
  }, {
    "blockSize" : 21,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/appleMain/kotlin/ai/koog/agents/core/agent/context/AIAgentLLMContext.kt",
        "extension" : "kt",
        "linesOfCode" : 32,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 34,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 21
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jsMain/kotlin/ai/koog/agents/core/agent/context/AIAgentLLMContext.kt",
        "extension" : "kt",
        "linesOfCode" : 32,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 34,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 21
    } ]
  }, {
    "blockSize" : 21,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jsMain/kotlin/ai/koog/agents/core/agent/context/AIAgentLLMContext.kt",
        "extension" : "kt",
        "linesOfCode" : 32,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 34,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 21
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/wasmJsMain/kotlin/ai/koog/agents/core/agent/context/AIAgentLLMContext.kt",
        "extension" : "kt",
        "linesOfCode" : 32,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 34,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 21
    } ]
  }, {
    "blockSize" : 21,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmMain/kotlin/ai/koog/agents/core/agent/context/AIAgentLLMContext.kt",
        "extension" : "kt",
        "linesOfCode" : 82,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 59,
      "startLine" : 1,
      "endLine" : 40,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 21
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/wasmJsMain/kotlin/ai/koog/agents/core/agent/context/AIAgentLLMContext.kt",
        "extension" : "kt",
        "linesOfCode" : 32,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 34,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 21
    } ]
  }, {
    "blockSize" : 21,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/appleMain/kotlin/ai/koog/agents/core/agent/context/AIAgentLLMContext.kt",
        "extension" : "kt",
        "linesOfCode" : 32,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 34,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 21
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/wasmJsMain/kotlin/ai/koog/agents/core/agent/context/AIAgentLLMContext.kt",
        "extension" : "kt",
        "linesOfCode" : 32,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 1,
      "endLine" : 34,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 21
    } ]
  }, {
    "blockSize" : 21,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/SubgraphWithRetryTest.kt",
        "extension" : "kt",
        "linesOfCode" : 429,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 348,
      "startLine" : 168,
      "endLine" : 196,
      "cleanedStartLine" : 105,
      "cleanedEndLine" : 125
    }, {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/SubgraphWithRetryTest.kt",
        "extension" : "kt",
        "linesOfCode" : 429,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 348,
      "startLine" : 221,
      "endLine" : 250,
      "cleanedStartLine" : 145,
      "cleanedEndLine" : 165
    } ]
  }, {
    "blockSize" : 20,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/langfuse/LangfuseTraceStructureTest.kt",
        "extension" : "kt",
        "linesOfCode" : 249,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 236,
      "startLine" : 54,
      "endLine" : 73,
      "cleanedStartLine" : 36,
      "cleanedEndLine" : 55
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/weave/WeaveTraceStructureTest.kt",
        "extension" : "kt",
        "linesOfCode" : 270,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 257,
      "startLine" : 46,
      "endLine" : 66,
      "cleanedStartLine" : 31,
      "cleanedEndLine" : 50
    } ]
  }, {
    "blockSize" : 20,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/TraceStructureTestBase.kt",
        "extension" : "kt",
        "linesOfCode" : 802,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 688,
      "startLine" : 85,
      "endLine" : 111,
      "cleanedStartLine" : 18,
      "cleanedEndLine" : 37
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/TraceStructureTestBase.kt",
        "extension" : "kt",
        "linesOfCode" : 802,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 688,
      "startLine" : 568,
      "endLine" : 594,
      "cleanedStartLine" : 390,
      "cleanedEndLine" : 409
    } ]
  }, {
    "blockSize" : 20,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageRemoteWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 816,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 671,
      "startLine" : 523,
      "endLine" : 542,
      "cleanedStartLine" : 363,
      "cleanedEndLine" : 382
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageRemoteWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 816,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 671,
      "startLine" : 898,
      "endLine" : 917,
      "cleanedStartLine" : 641,
      "cleanedEndLine" : 660
    } ]
  }, {
    "blockSize" : 20,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jsMain/kotlin/ai/koog/agents/core/agent/session/AIAgentLLMWriteSession.kt",
        "extension" : "kt",
        "linesOfCode" : 61,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 45,
      "startLine" : 3,
      "endLine" : 40,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 21
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmMain/kotlin/ai/koog/agents/core/agent/session/AIAgentLLMWriteSession.kt",
        "extension" : "kt",
        "linesOfCode" : 198,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 156,
      "startLine" : 4,
      "endLine" : 51,
      "cleanedStartLine" : 3,
      "cleanedEndLine" : 22
    } ]
  }, {
    "blockSize" : 20,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/SubgraphWithRetryTest.kt",
        "extension" : "kt",
        "linesOfCode" : 429,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 348,
      "startLine" : 287,
      "endLine" : 314,
      "cleanedStartLine" : 191,
      "cleanedEndLine" : 210
    }, {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/SubgraphWithRetryTest.kt",
        "extension" : "kt",
        "linesOfCode" : 429,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 348,
      "startLine" : 388,
      "endLine" : 415,
      "cleanedStartLine" : 264,
      "cleanedEndLine" : 283
    } ]
  }, {
    "blockSize" : 20,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmMain/kotlin/ai/koog/agents/core/agent/session/AIAgentLLMWriteSession.kt",
        "extension" : "kt",
        "linesOfCode" : 198,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 156,
      "startLine" : 4,
      "endLine" : 51,
      "cleanedStartLine" : 3,
      "cleanedEndLine" : 22
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/wasmJsMain/kotlin/ai/koog/agents/core/agent/session/AIAgentLLMWriteSession.kt",
        "extension" : "kt",
        "linesOfCode" : 61,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 45,
      "startLine" : 3,
      "endLine" : 40,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 21
    } ]
  }, {
    "blockSize" : 20,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/AIAgentHelper.kt",
        "extension" : "kt",
        "linesOfCode" : 190,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 171,
      "startLine" : 166,
      "endLine" : 185,
      "cleanedStartLine" : 83,
      "cleanedEndLine" : 102
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/AIAgentHelper.kt",
        "extension" : "kt",
        "linesOfCode" : 190,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 171,
      "startLine" : 222,
      "endLine" : 241,
      "cleanedStartLine" : 120,
      "cleanedEndLine" : 139
    } ]
  }, {
    "blockSize" : 20,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/androidMain/kotlin/ai/koog/agents/core/agent/session/AIAgentLLMWriteSession.kt",
        "extension" : "kt",
        "linesOfCode" : 61,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 45,
      "startLine" : 3,
      "endLine" : 40,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 21
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmMain/kotlin/ai/koog/agents/core/agent/session/AIAgentLLMWriteSession.kt",
        "extension" : "kt",
        "linesOfCode" : 198,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 156,
      "startLine" : 4,
      "endLine" : 51,
      "cleanedStartLine" : 3,
      "cleanedEndLine" : 22
    } ]
  }, {
    "blockSize" : 20,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/SubgraphWithRetryTest.kt",
        "extension" : "kt",
        "linesOfCode" : 429,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 348,
      "startLine" : 111,
      "endLine" : 138,
      "cleanedStartLine" : 63,
      "cleanedEndLine" : 82
    }, {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/SubgraphWithRetryTest.kt",
        "extension" : "kt",
        "linesOfCode" : 429,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 348,
      "startLine" : 388,
      "endLine" : 415,
      "cleanedStartLine" : 264,
      "cleanedEndLine" : 283
    } ]
  }, {
    "blockSize" : 20,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-structure/src/commonTest/kotlin/ai/koog/prompt/structure/json/generator/JsonSchemaGeneratorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 819,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 713,
      "startLine" : 303,
      "endLine" : 329,
      "cleanedStartLine" : 240,
      "cleanedEndLine" : 259
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-structure/src/commonTest/kotlin/ai/koog/prompt/structure/json/generator/JsonSchemaGeneratorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 819,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 713,
      "startLine" : 434,
      "endLine" : 460,
      "cleanedStartLine" : 347,
      "cleanedEndLine" : 366
    } ]
  }, {
    "blockSize" : 20,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/SubgraphWithRetryTest.kt",
        "extension" : "kt",
        "linesOfCode" : 429,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 348,
      "startLine" : 168,
      "endLine" : 195,
      "cleanedStartLine" : 105,
      "cleanedEndLine" : 124
    }, {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/SubgraphWithRetryTest.kt",
        "extension" : "kt",
        "linesOfCode" : 429,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 348,
      "startLine" : 388,
      "endLine" : 415,
      "cleanedStartLine" : 264,
      "cleanedEndLine" : 283
    } ]
  }, {
    "blockSize" : 20,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/dashscope/models/DashscopeSerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 453,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 372,
      "startLine" : 23,
      "endLine" : 51,
      "cleanedStartLine" : 6,
      "cleanedEndLine" : 25
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/dashscope/models/DashscopeSerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 453,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 372,
      "startLine" : 99,
      "endLine" : 127,
      "cleanedStartLine" : 64,
      "cleanedEndLine" : 83
    } ]
  }, {
    "blockSize" : 20,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/SubgraphWithRetryTest.kt",
        "extension" : "kt",
        "linesOfCode" : 429,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 348,
      "startLine" : 221,
      "endLine" : 248,
      "cleanedStartLine" : 145,
      "cleanedEndLine" : 164
    }, {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/SubgraphWithRetryTest.kt",
        "extension" : "kt",
        "linesOfCode" : 429,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 348,
      "startLine" : 287,
      "endLine" : 314,
      "cleanedStartLine" : 191,
      "cleanedEndLine" : 210
    } ]
  }, {
    "blockSize" : 20,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-structure/src/commonTest/kotlin/ai/koog/prompt/structure/json/generator/JsonSchemaGeneratorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 819,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 713,
      "startLine" : 259,
      "endLine" : 285,
      "cleanedStartLine" : 205,
      "cleanedEndLine" : 224
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-structure/src/commonTest/kotlin/ai/koog/prompt/structure/json/generator/JsonSchemaGeneratorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 819,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 713,
      "startLine" : 303,
      "endLine" : 329,
      "cleanedStartLine" : 240,
      "cleanedEndLine" : 259
    } ]
  }, {
    "blockSize" : 20,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/weave/WeaveTraceStructureTest.kt",
        "extension" : "kt",
        "linesOfCode" : 270,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 257,
      "startLine" : 124,
      "endLine" : 146,
      "cleanedStartLine" : 104,
      "cleanedEndLine" : 123
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/weave/WeaveTraceStructureTest.kt",
        "extension" : "kt",
        "linesOfCode" : 270,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 257,
      "startLine" : 271,
      "endLine" : 294,
      "cleanedStartLine" : 238,
      "cleanedEndLine" : 257
    } ]
  }, {
    "blockSize" : 20,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/appleMain/kotlin/ai/koog/agents/core/agent/session/AIAgentLLMWriteSession.kt",
        "extension" : "kt",
        "linesOfCode" : 61,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 45,
      "startLine" : 3,
      "endLine" : 40,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 21
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmMain/kotlin/ai/koog/agents/core/agent/session/AIAgentLLMWriteSession.kt",
        "extension" : "kt",
        "linesOfCode" : 198,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 156,
      "startLine" : 4,
      "endLine" : 51,
      "cleanedStartLine" : 3,
      "cleanedEndLine" : 22
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-deepseek-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/deepseek/DeepSeekParams.kt",
        "extension" : "kt",
        "linesOfCode" : 143,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 85,
      "endLine" : 109,
      "cleanedStartLine" : 52,
      "cleanedEndLine" : 70
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openrouter-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openrouter/OpenRouterParams.kt",
        "extension" : "kt",
        "linesOfCode" : 197,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 177,
      "startLine" : 116,
      "endLine" : 140,
      "cleanedStartLine" : 67,
      "cleanedEndLine" : 85
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/appleMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentGraphPipeline.kt",
        "extension" : "kt",
        "linesOfCode" : 26,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 19,
      "startLine" : 1,
      "endLine" : 29,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/wasmJsMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentGraphPipeline.kt",
        "extension" : "kt",
        "linesOfCode" : 26,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 19,
      "startLine" : 1,
      "endLine" : 29,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/langfuse/LangfuseTraceStructureTest.kt",
        "extension" : "kt",
        "linesOfCode" : 249,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 236,
      "startLine" : 39,
      "endLine" : 60,
      "cleanedStartLine" : 24,
      "cleanedEndLine" : 42
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/langfuse/LangfuseTraceStructureTest.kt",
        "extension" : "kt",
        "linesOfCode" : 249,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 236,
      "startLine" : 229,
      "endLine" : 249,
      "cleanedStartLine" : 198,
      "cleanedEndLine" : 216
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/appleMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentGraphPipeline.kt",
        "extension" : "kt",
        "linesOfCode" : 26,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 19,
      "startLine" : 1,
      "endLine" : 29,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jsMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentGraphPipeline.kt",
        "extension" : "kt",
        "linesOfCode" : 26,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 19,
      "startLine" : 1,
      "endLine" : 29,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/androidMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentGraphPipeline.kt",
        "extension" : "kt",
        "linesOfCode" : 26,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 19,
      "startLine" : 1,
      "endLine" : 29,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/appleMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentGraphPipeline.kt",
        "extension" : "kt",
        "linesOfCode" : 26,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 19,
      "startLine" : 1,
      "endLine" : 29,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/SubgraphWithTaskTest.kt",
        "extension" : "kt",
        "linesOfCode" : 603,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 509,
      "startLine" : 434,
      "endLine" : 455,
      "cleanedStartLine" : 274,
      "cleanedEndLine" : 292
    }, {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/SubgraphWithTaskTest.kt",
        "extension" : "kt",
        "linesOfCode" : 603,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 509,
      "startLine" : 651,
      "endLine" : 672,
      "cleanedStartLine" : 428,
      "cleanedEndLine" : 446
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/langfuse/LangfuseTraceStructureTest.kt",
        "extension" : "kt",
        "linesOfCode" : 249,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 236,
      "startLine" : 39,
      "endLine" : 60,
      "cleanedStartLine" : 24,
      "cleanedEndLine" : 42
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/weave/WeaveTraceStructureTest.kt",
        "extension" : "kt",
        "linesOfCode" : 270,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 257,
      "startLine" : 245,
      "endLine" : 266,
      "cleanedStartLine" : 215,
      "cleanedEndLine" : 233
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/AIAgentHelper.kt",
        "extension" : "kt",
        "linesOfCode" : 190,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 171,
      "startLine" : 167,
      "endLine" : 185,
      "cleanedStartLine" : 84,
      "cleanedEndLine" : 102
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/AIAgentServiceHelper.kt",
        "extension" : "kt",
        "linesOfCode" : 101,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 89,
      "startLine" : 105,
      "endLine" : 123,
      "cleanedStartLine" : 57,
      "cleanedEndLine" : 75
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-deepseek-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 29,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 19,
      "startLine" : 3,
      "endLine" : 36,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 29,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 19,
      "startLine" : 3,
      "endLine" : 36,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/commonTest/kotlin/ai/koog/prompt/executor/clients/google/structure/GoogleStandardJsonSchemaGeneratorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 323,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 297,
      "startLine" : 272,
      "endLine" : 290,
      "cleanedStartLine" : 238,
      "cleanedEndLine" : 256
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client-base/src/commonTest/kotlin/ai/koog/prompt/executor/clients/openai/structure/OpenAIStandardJsonSchemaGeneratorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 375,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 342,
      "startLine" : 341,
      "endLine" : 359,
      "cleanedStartLine" : 298,
      "cleanedEndLine" : 316
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerTest.kt",
        "extension" : "kt",
        "linesOfCode" : 521,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 437,
      "startLine" : 353,
      "endLine" : 371,
      "cleanedStartLine" : 237,
      "cleanedEndLine" : 255
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageRemoteWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 816,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 671,
      "startLine" : 455,
      "endLine" : 473,
      "cleanedStartLine" : 296,
      "cleanedEndLine" : 314
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/androidMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentGraphPipeline.kt",
        "extension" : "kt",
        "linesOfCode" : 26,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 19,
      "startLine" : 1,
      "endLine" : 29,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jsMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentGraphPipeline.kt",
        "extension" : "kt",
        "linesOfCode" : 26,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 19,
      "startLine" : 1,
      "endLine" : 29,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-memory/src/jvmTest/kotlin/ai/koog/agents/memory/feature/RetrieveFactsFromHistoryTest.kt",
        "extension" : "kt",
        "linesOfCode" : 194,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 152,
      "startLine" : 54,
      "endLine" : 77,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 33
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-memory/src/jvmTest/kotlin/ai/koog/agents/memory/feature/RetrieveFactsFromHistoryTest.kt",
        "extension" : "kt",
        "linesOfCode" : 194,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 152,
      "startLine" : 139,
      "endLine" : 162,
      "cleanedStartLine" : 68,
      "cleanedEndLine" : 86
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jsMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentGraphPipeline.kt",
        "extension" : "kt",
        "linesOfCode" : 26,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 19,
      "startLine" : 1,
      "endLine" : 29,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/wasmJsMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentGraphPipeline.kt",
        "extension" : "kt",
        "linesOfCode" : 26,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 19,
      "startLine" : 1,
      "endLine" : 29,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/google/GoogleLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 480,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 432,
      "startLine" : 78,
      "endLine" : 99,
      "cleanedStartLine" : 42,
      "cleanedEndLine" : 60
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/google/GoogleLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 480,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 432,
      "startLine" : 132,
      "endLine" : 153,
      "cleanedStartLine" : 89,
      "cleanedEndLine" : 107
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/AIAgentHelper.kt",
        "extension" : "kt",
        "linesOfCode" : 190,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 171,
      "startLine" : 223,
      "endLine" : 241,
      "cleanedStartLine" : 121,
      "cleanedEndLine" : 139
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/AIAgentServiceHelper.kt",
        "extension" : "kt",
        "linesOfCode" : 101,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 89,
      "startLine" : 105,
      "endLine" : 123,
      "cleanedStartLine" : 57,
      "cleanedEndLine" : 75
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-memory/src/jvmTest/kotlin/ai/koog/agents/memory/feature/RetrieveFactsFromHistoryTest.kt",
        "extension" : "kt",
        "linesOfCode" : 194,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 152,
      "startLine" : 98,
      "endLine" : 121,
      "cleanedStartLine" : 43,
      "cleanedEndLine" : 61
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-memory/src/jvmTest/kotlin/ai/koog/agents/memory/feature/RetrieveFactsFromHistoryTest.kt",
        "extension" : "kt",
        "linesOfCode" : 194,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 152,
      "startLine" : 180,
      "endLine" : 203,
      "cleanedStartLine" : 93,
      "cleanedEndLine" : 111
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/androidMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentGraphPipeline.kt",
        "extension" : "kt",
        "linesOfCode" : 26,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 19,
      "startLine" : 1,
      "endLine" : 29,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/wasmJsMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentGraphPipeline.kt",
        "extension" : "kt",
        "linesOfCode" : 26,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 19,
      "startLine" : 1,
      "endLine" : 29,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-sql/src/jvmTest/kotlin/ai/koog/agents/features/sql/providers/ExposedPersistenceFilterPostgresTest.kt",
        "extension" : "kt",
        "linesOfCode" : 133,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 99,
      "startLine" : 41,
      "endLine" : 63,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 26
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-sql/src/jvmTest/kotlin/ai/koog/agents/features/sql/providers/PostgresPersistencyStorageProviderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 105,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 76,
      "startLine" : 35,
      "endLine" : 57,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 26
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-memory/src/jvmTest/kotlin/ai/koog/agents/memory/AIAgentMemoryTest.kt",
        "extension" : "kt",
        "linesOfCode" : 470,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 399,
      "startLine" : 173,
      "endLine" : 194,
      "cleanedStartLine" : 93,
      "cleanedEndLine" : 111
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-memory/src/jvmTest/kotlin/ai/koog/agents/memory/AIAgentMemoryTest.kt",
        "extension" : "kt",
        "linesOfCode" : 470,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 399,
      "startLine" : 540,
      "endLine" : 561,
      "cleanedStartLine" : 371,
      "cleanedEndLine" : 389
    } ]
  }, {
    "blockSize" : 18,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 162,
      "endLine" : 190,
      "cleanedStartLine" : 61,
      "cleanedEndLine" : 78
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 194,
      "endLine" : 223,
      "cleanedStartLine" : 82,
      "cleanedEndLine" : 99
    } ]
  }, {
    "blockSize" : 18,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageFileWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 509,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 418,
      "startLine" : 86,
      "endLine" : 111,
      "cleanedStartLine" : 19,
      "cleanedEndLine" : 36
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageRemoteWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 816,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 671,
      "startLine" : 746,
      "endLine" : 771,
      "cleanedStartLine" : 529,
      "cleanedEndLine" : 546
    } ]
  }, {
    "blockSize" : 18,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageLogWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 480,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 396,
      "startLine" : 75,
      "endLine" : 100,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 33
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageRemoteWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 816,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 671,
      "startLine" : 746,
      "endLine" : 771,
      "cleanedStartLine" : 529,
      "cleanedEndLine" : 546
    } ]
  }, {
    "blockSize" : 18,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/StructuredOutputWithToolsIntegrationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 269,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 223,
      "startLine" : 147,
      "endLine" : 166,
      "cleanedStartLine" : 103,
      "cleanedEndLine" : 120
    }, {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/StructuredOutputWithToolsIntegrationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 269,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 223,
      "startLine" : 222,
      "endLine" : 241,
      "cleanedStartLine" : 159,
      "cleanedEndLine" : 176
    } ]
  }, {
    "blockSize" : 18,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerTest.kt",
        "extension" : "kt",
        "linesOfCode" : 521,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 437,
      "startLine" : 535,
      "endLine" : 558,
      "cleanedStartLine" : 419,
      "cleanedEndLine" : 436
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerTestAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 281,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 212,
      "startLine" : 236,
      "endLine" : 259,
      "cleanedStartLine" : 154,
      "cleanedEndLine" : 171
    } ]
  }, {
    "blockSize" : 18,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/modelfamilies/anthropic/BedrockAnthropicClaudeSerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 437,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 346,
      "startLine" : 98,
      "endLine" : 120,
      "cleanedStartLine" : 53,
      "cleanedEndLine" : 70
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/modelfamilies/anthropic/BedrockAnthropicClaudeSerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 437,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 346,
      "startLine" : 458,
      "endLine" : 476,
      "cleanedStartLine" : 319,
      "cleanedEndLine" : 336
    } ]
  }, {
    "blockSize" : 18,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 194,
      "endLine" : 223,
      "cleanedStartLine" : 82,
      "cleanedEndLine" : 99
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 227,
      "endLine" : 257,
      "cleanedStartLine" : 103,
      "cleanedEndLine" : 120
    } ]
  }, {
    "blockSize" : 18,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-memory/src/jvmTest/kotlin/ai/koog/agents/memory/feature/RetrieveFactsFromHistoryTest.kt",
        "extension" : "kt",
        "linesOfCode" : 194,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 152,
      "startLine" : 134,
      "endLine" : 156,
      "cleanedStartLine" : 66,
      "cleanedEndLine" : 83
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-memory/src/jvmTest/kotlin/ai/koog/agents/memory/feature/RetrieveFactsFromHistoryTest.kt",
        "extension" : "kt",
        "linesOfCode" : 194,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 152,
      "startLine" : 175,
      "endLine" : 197,
      "cleanedStartLine" : 91,
      "cleanedEndLine" : 108
    } ]
  }, {
    "blockSize" : 18,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageFileWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 509,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 418,
      "startLine" : 449,
      "endLine" : 474,
      "cleanedStartLine" : 311,
      "cleanedEndLine" : 328
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageRemoteWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 816,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 671,
      "startLine" : 746,
      "endLine" : 771,
      "cleanedStartLine" : 529,
      "cleanedEndLine" : 546
    } ]
  }, {
    "blockSize" : 18,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageLogWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 480,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 396,
      "startLine" : 415,
      "endLine" : 440,
      "cleanedStartLine" : 286,
      "cleanedEndLine" : 303
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageRemoteWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 816,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 671,
      "startLine" : 746,
      "endLine" : 771,
      "cleanedStartLine" : 529,
      "cleanedEndLine" : 546
    } ]
  }, {
    "blockSize" : 18,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 162,
      "endLine" : 190,
      "cleanedStartLine" : 61,
      "cleanedEndLine" : 78
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 227,
      "endLine" : 257,
      "cleanedStartLine" : 103,
      "cleanedEndLine" : 120
    } ]
  }, {
    "blockSize" : 18,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerStreamingTest.kt",
        "extension" : "kt",
        "linesOfCode" : 347,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 262,
      "startLine" : 239,
      "endLine" : 263,
      "cleanedStartLine" : 129,
      "cleanedEndLine" : 146
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageRemoteWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 816,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 671,
      "startLine" : 749,
      "endLine" : 773,
      "cleanedStartLine" : 530,
      "cleanedEndLine" : 547
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/SubgraphWithTaskTest.kt",
        "extension" : "kt",
        "linesOfCode" : 603,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 509,
      "startLine" : 310,
      "endLine" : 334,
      "cleanedStartLine" : 190,
      "cleanedEndLine" : 206
    }, {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/SubgraphWithTaskTest.kt",
        "extension" : "kt",
        "linesOfCode" : 603,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 509,
      "startLine" : 384,
      "endLine" : 408,
      "cleanedStartLine" : 242,
      "cleanedEndLine" : 258
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageFileWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 509,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 418,
      "startLine" : 135,
      "endLine" : 154,
      "cleanedStartLine" : 54,
      "cleanedEndLine" : 70
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageFileWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 509,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 418,
      "startLine" : 494,
      "endLine" : 513,
      "cleanedStartLine" : 343,
      "cleanedEndLine" : 359
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/agent/SingleRunStrategyTests.kt",
        "extension" : "kt",
        "linesOfCode" : 234,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 186,
      "startLine" : 215,
      "endLine" : 238,
      "cleanedStartLine" : 135,
      "cleanedEndLine" : 151
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/agent/SingleRunStrategyTests.kt",
        "extension" : "kt",
        "linesOfCode" : 234,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 186,
      "startLine" : 255,
      "endLine" : 278,
      "cleanedStartLine" : 162,
      "cleanedEndLine" : 178
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/SubgraphWithTaskTest.kt",
        "extension" : "kt",
        "linesOfCode" : 603,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 509,
      "startLine" : 67,
      "endLine" : 91,
      "cleanedStartLine" : 25,
      "cleanedEndLine" : 41
    }, {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/SubgraphWithTaskTest.kt",
        "extension" : "kt",
        "linesOfCode" : 603,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 509,
      "startLine" : 384,
      "endLine" : 408,
      "cleanedStartLine" : 242,
      "cleanedEndLine" : 258
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerStreamingTest.kt",
        "extension" : "kt",
        "linesOfCode" : 347,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 262,
      "startLine" : 239,
      "endLine" : 261,
      "cleanedStartLine" : 129,
      "cleanedEndLine" : 145
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageLogWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 480,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 396,
      "startLine" : 418,
      "endLine" : 440,
      "cleanedStartLine" : 287,
      "cleanedEndLine" : 303
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-mcp-server/src/commonMain/kotlin/ai/koog/agents/mcp/server/McpServer.kt",
        "extension" : "kt",
        "linesOfCode" : 163,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 109,
      "startLine" : 154,
      "endLine" : 180,
      "cleanedStartLine" : 79,
      "cleanedEndLine" : 95
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client-base/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/base/OpenAICompatibleToolDescriptorSchemaGenerator.kt",
        "extension" : "kt",
        "linesOfCode" : 73,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 42,
      "startLine" : 35,
      "endLine" : 56,
      "cleanedStartLine" : 12,
      "cleanedEndLine" : 28
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-mcp/src/commonTest/kotlin/ai/koog/agents/mcp/DefaultMcpToolDescriptorParserTest.kt",
        "extension" : "kt",
        "linesOfCode" : 726,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 614,
      "startLine" : 627,
      "endLine" : 643,
      "cleanedStartLine" : 448,
      "cleanedEndLine" : 464
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/google/GoogleLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 480,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 432,
      "startLine" : 118,
      "endLine" : 134,
      "cleanedStartLine" : 75,
      "cleanedEndLine" : 91
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmMain/kotlin/ai/koog/agents/features/opentelemetry/integration/weave/WeaveSpanAdapter.kt",
        "extension" : "kt",
        "linesOfCode" : 173,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 106,
      "startLine" : 158,
      "endLine" : 188,
      "cleanedStartLine" : 66,
      "cleanedEndLine" : 82
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmMain/kotlin/ai/koog/agents/features/opentelemetry/integration/weave/WeaveSpanAdapter.kt",
        "extension" : "kt",
        "linesOfCode" : 173,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 106,
      "startLine" : 208,
      "endLine" : 238,
      "cleanedStartLine" : 90,
      "cleanedEndLine" : 106
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 545,
      "endLine" : 573,
      "cleanedStartLine" : 295,
      "cleanedEndLine" : 311
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 608,
      "endLine" : 637,
      "cleanedStartLine" : 334,
      "cleanedEndLine" : 350
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerTest.kt",
        "extension" : "kt",
        "linesOfCode" : 521,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 437,
      "startLine" : 240,
      "endLine" : 256,
      "cleanedStartLine" : 124,
      "cleanedEndLine" : 140
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerTestAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 281,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 212,
      "startLine" : 139,
      "endLine" : 155,
      "cleanedStartLine" : 57,
      "cleanedEndLine" : 73
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-deepseek-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/deepseek/DeepSeekParams.kt",
        "extension" : "kt",
        "linesOfCode" : 143,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 77,
      "endLine" : 103,
      "cleanedStartLine" : 48,
      "cleanedEndLine" : 64
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/mistralai/MistralAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 145,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 133,
      "startLine" : 77,
      "endLine" : 103,
      "cleanedStartLine" : 44,
      "cleanedEndLine" : 60
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rag/vector-storage/src/jvmTest/kotlin/ai/koog/rag/vector/JVMFileDocumentEmbeddingStorageTest.kt",
        "extension" : "kt",
        "linesOfCode" : 184,
        "components" : [ "primary::rag" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 148,
      "startLine" : 76,
      "endLine" : 97,
      "cleanedStartLine" : 42,
      "cleanedEndLine" : 58
    }, {
      "file" : {
        "relativePath" : "rag/vector-storage/src/jvmTest/kotlin/ai/koog/rag/vector/JVMTextFileDocumentEmbeddingStorageTest.kt",
        "extension" : "kt",
        "linesOfCode" : 234,
        "components" : [ "primary::rag" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 193,
      "startLine" : 75,
      "endLine" : 96,
      "cleanedStartLine" : 42,
      "cleanedEndLine" : 58
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageLogWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 480,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 396,
      "startLine" : 444,
      "endLine" : 464,
      "cleanedStartLine" : 305,
      "cleanedEndLine" : 321
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageRemoteWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 816,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 671,
      "startLine" : 234,
      "endLine" : 253,
      "cleanedStartLine" : 105,
      "cleanedEndLine" : 121
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jsMain/kotlin/ai/koog/agents/core/agent/context/AIAgentFunctionalContext.kt",
        "extension" : "kt",
        "linesOfCode" : 100,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 87,
      "startLine" : 59,
      "endLine" : 75,
      "cleanedStartLine" : 41,
      "cleanedEndLine" : 57
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmMain/kotlin/ai/koog/agents/core/agent/context/AIAgentFunctionalContext.kt",
        "extension" : "kt",
        "linesOfCode" : 302,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 250,
      "startLine" : 82,
      "endLine" : 98,
      "cleanedStartLine" : 45,
      "cleanedEndLine" : 61
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryStrategyTest.kt",
        "extension" : "kt",
        "linesOfCode" : 75,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 62,
      "startLine" : 30,
      "endLine" : 50,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 32
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryStrategyTest.kt",
        "extension" : "kt",
        "linesOfCode" : 75,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 62,
      "startLine" : 69,
      "endLine" : 89,
      "cleanedStartLine" : 46,
      "cleanedEndLine" : 62
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageLogWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 480,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 396,
      "startLine" : 120,
      "endLine" : 139,
      "cleanedStartLine" : 48,
      "cleanedEndLine" : 64
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageLogWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 480,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 396,
      "startLine" : 464,
      "endLine" : 483,
      "cleanedStartLine" : 321,
      "cleanedEndLine" : 337
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/AIAgentServiceBuilder.kt",
        "extension" : "kt",
        "linesOfCode" : 216,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 168,
      "startLine" : 435,
      "endLine" : 452,
      "cleanedStartLine" : 143,
      "cleanedEndLine" : 159
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/AIAgentServiceBuilderImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 114,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 88,
      "startLine" : 113,
      "endLine" : 129,
      "cleanedStartLine" : 65,
      "cleanedEndLine" : 81
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openrouter-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/openrouter/models/OpenRouterSerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 670,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 554,
      "startLine" : 629,
      "endLine" : 646,
      "cleanedStartLine" : 455,
      "cleanedEndLine" : 471
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openrouter-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/openrouter/models/OpenRouterSerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 670,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 554,
      "startLine" : 684,
      "endLine" : 701,
      "cleanedStartLine" : 502,
      "cleanedEndLine" : 518
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicToolSerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 156,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 135,
      "startLine" : 39,
      "endLine" : 58,
      "cleanedStartLine" : 18,
      "cleanedEndLine" : 34
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicToolSerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 156,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 135,
      "startLine" : 136,
      "endLine" : 155,
      "cleanedStartLine" : 99,
      "cleanedEndLine" : 115
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/androidMain/kotlin/ai/koog/agents/core/agent/context/AIAgentFunctionalContext.kt",
        "extension" : "kt",
        "linesOfCode" : 100,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 87,
      "startLine" : 59,
      "endLine" : 75,
      "cleanedStartLine" : 41,
      "cleanedEndLine" : 57
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmMain/kotlin/ai/koog/agents/core/agent/context/AIAgentFunctionalContext.kt",
        "extension" : "kt",
        "linesOfCode" : 302,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 250,
      "startLine" : 82,
      "endLine" : 98,
      "cleanedStartLine" : 45,
      "cleanedEndLine" : 61
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageFileWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 509,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 418,
      "startLine" : 115,
      "endLine" : 135,
      "cleanedStartLine" : 38,
      "cleanedEndLine" : 54
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageRemoteWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 816,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 671,
      "startLine" : 234,
      "endLine" : 253,
      "cleanedStartLine" : 105,
      "cleanedEndLine" : 121
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/appleMain/kotlin/ai/koog/agents/core/agent/context/AIAgentFunctionalContext.kt",
        "extension" : "kt",
        "linesOfCode" : 100,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 87,
      "startLine" : 59,
      "endLine" : 75,
      "cleanedStartLine" : 41,
      "cleanedEndLine" : 57
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmMain/kotlin/ai/koog/agents/core/agent/context/AIAgentFunctionalContext.kt",
        "extension" : "kt",
        "linesOfCode" : 302,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 250,
      "startLine" : 82,
      "endLine" : 98,
      "cleanedStartLine" : 45,
      "cleanedEndLine" : 61
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 392,
      "endLine" : 419,
      "cleanedStartLine" : 202,
      "cleanedEndLine" : 218
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 423,
      "endLine" : 451,
      "cleanedStartLine" : 222,
      "cleanedEndLine" : 238
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 392,
      "endLine" : 419,
      "cleanedStartLine" : 202,
      "cleanedEndLine" : 218
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 455,
      "endLine" : 482,
      "cleanedStartLine" : 242,
      "cleanedEndLine" : 258
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerStreamingTest.kt",
        "extension" : "kt",
        "linesOfCode" : 347,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 262,
      "startLine" : 239,
      "endLine" : 261,
      "cleanedStartLine" : 129,
      "cleanedEndLine" : 145
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageFileWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 509,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 418,
      "startLine" : 89,
      "endLine" : 111,
      "cleanedStartLine" : 20,
      "cleanedEndLine" : 36
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-structure/src/commonTest/kotlin/ai/koog/prompt/structure/json/generator/JsonSchemaGeneratorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 819,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 713,
      "startLine" : 478,
      "endLine" : 495,
      "cleanedStartLine" : 380,
      "cleanedEndLine" : 396
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-structure/src/commonTest/kotlin/ai/koog/prompt/structure/json/generator/JsonSchemaGeneratorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 819,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 713,
      "startLine" : 559,
      "endLine" : 576,
      "cleanedStartLine" : 450,
      "cleanedEndLine" : 466
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/AIAgentServiceBuilder.kt",
        "extension" : "kt",
        "linesOfCode" : 216,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 168,
      "startLine" : 237,
      "endLine" : 254,
      "cleanedStartLine" : 69,
      "cleanedEndLine" : 85
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/AIAgentServiceBuilder.kt",
        "extension" : "kt",
        "linesOfCode" : 216,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 168,
      "startLine" : 435,
      "endLine" : 452,
      "cleanedStartLine" : 143,
      "cleanedEndLine" : 159
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/AIAgentServiceBuilder.kt",
        "extension" : "kt",
        "linesOfCode" : 216,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 168,
      "startLine" : 237,
      "endLine" : 254,
      "cleanedStartLine" : 69,
      "cleanedEndLine" : 85
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/AIAgentServiceBuilderImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 114,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 88,
      "startLine" : 113,
      "endLine" : 129,
      "cleanedStartLine" : 65,
      "cleanedEndLine" : 81
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/feature/AIAgentFeatureTestAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 395,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 341,
      "startLine" : 319,
      "endLine" : 335,
      "cleanedStartLine" : 241,
      "cleanedEndLine" : 257
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/feature/AIAgentFeatureTestAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 395,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 341,
      "startLine" : 380,
      "endLine" : 396,
      "cleanedStartLine" : 299,
      "cleanedEndLine" : 315
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/CheckpointsTests.kt",
        "extension" : "kt",
        "linesOfCode" : 793,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 646,
      "startLine" : 400,
      "endLine" : 421,
      "cleanedStartLine" : 243,
      "cleanedEndLine" : 259
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/CheckpointsTests.kt",
        "extension" : "kt",
        "linesOfCode" : 793,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 646,
      "startLine" : 455,
      "endLine" : 476,
      "cleanedStartLine" : 288,
      "cleanedEndLine" : 304
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerStreamingTest.kt",
        "extension" : "kt",
        "linesOfCode" : 347,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 262,
      "startLine" : 241,
      "endLine" : 263,
      "cleanedStartLine" : 130,
      "cleanedEndLine" : 146
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageRemoteWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 816,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 671,
      "startLine" : 180,
      "endLine" : 202,
      "cleanedStartLine" : 64,
      "cleanedEndLine" : 80
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/feature/AIAgentFeatureTestAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 395,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 341,
      "startLine" : 276,
      "endLine" : 292,
      "cleanedStartLine" : 200,
      "cleanedEndLine" : 216
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/feature/AIAgentFeatureTestAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 395,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 341,
      "startLine" : 380,
      "endLine" : 396,
      "cleanedStartLine" : 299,
      "cleanedEndLine" : 315
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/SimpleGraphCheckpointTest.kt",
        "extension" : "kt",
        "linesOfCode" : 128,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 96,
      "startLine" : 99,
      "endLine" : 122,
      "cleanedStartLine" : 41,
      "cleanedEndLine" : 57
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/SimpleGraphCheckpointTest.kt",
        "extension" : "kt",
        "linesOfCode" : 128,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 96,
      "startLine" : 147,
      "endLine" : 170,
      "cleanedStartLine" : 72,
      "cleanedEndLine" : 88
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/feature/AIAgentFeatureTestAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 395,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 341,
      "startLine" : 276,
      "endLine" : 292,
      "cleanedStartLine" : 200,
      "cleanedEndLine" : 216
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/feature/AIAgentFeatureTestAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 395,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 341,
      "startLine" : 319,
      "endLine" : 335,
      "cleanedStartLine" : 241,
      "cleanedEndLine" : 257
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 261,
      "endLine" : 291,
      "cleanedStartLine" : 124,
      "cleanedEndLine" : 140
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 295,
      "endLine" : 325,
      "cleanedStartLine" : 144,
      "cleanedEndLine" : 160
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryNodeExecuteSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 307,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 276,
      "startLine" : 133,
      "endLine" : 149,
      "cleanedStartLine" : 96,
      "cleanedEndLine" : 112
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetrySubgraphTest.kt",
        "extension" : "kt",
        "linesOfCode" : 334,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 313,
      "startLine" : 226,
      "endLine" : 242,
      "cleanedStartLine" : 185,
      "cleanedEndLine" : 201
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/CheckpointsTests.kt",
        "extension" : "kt",
        "linesOfCode" : 793,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 646,
      "startLine" : 708,
      "endLine" : 731,
      "cleanedStartLine" : 465,
      "cleanedEndLine" : 481
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/CheckpointsTests.kt",
        "extension" : "kt",
        "linesOfCode" : 793,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 646,
      "startLine" : 901,
      "endLine" : 924,
      "cleanedStartLine" : 617,
      "cleanedEndLine" : 633
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 423,
      "endLine" : 451,
      "cleanedStartLine" : 222,
      "cleanedEndLine" : 238
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 455,
      "endLine" : 482,
      "cleanedStartLine" : 242,
      "cleanedEndLine" : 258
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/TraceStructureTestBase.kt",
        "extension" : "kt",
        "linesOfCode" : 802,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 688,
      "startLine" : 254,
      "endLine" : 272,
      "cleanedStartLine" : 153,
      "cleanedEndLine" : 169
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/TraceStructureTestBase.kt",
        "extension" : "kt",
        "linesOfCode" : 802,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 688,
      "startLine" : 757,
      "endLine" : 775,
      "cleanedStartLine" : 546,
      "cleanedEndLine" : 562
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/SubgraphWithTaskTest.kt",
        "extension" : "kt",
        "linesOfCode" : 603,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 509,
      "startLine" : 521,
      "endLine" : 545,
      "cleanedStartLine" : 338,
      "cleanedEndLine" : 354
    }, {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/SubgraphWithTaskTest.kt",
        "extension" : "kt",
        "linesOfCode" : 603,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 509,
      "startLine" : 598,
      "endLine" : 622,
      "cleanedStartLine" : 393,
      "cleanedEndLine" : 409
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmMain/kotlin/ai/koog/agents/core/agent/context/AIAgentFunctionalContext.kt",
        "extension" : "kt",
        "linesOfCode" : 302,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 250,
      "startLine" : 82,
      "endLine" : 98,
      "cleanedStartLine" : 45,
      "cleanedEndLine" : 61
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/wasmJsMain/kotlin/ai/koog/agents/core/agent/context/AIAgentFunctionalContext.kt",
        "extension" : "kt",
        "linesOfCode" : 100,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 87,
      "startLine" : 59,
      "endLine" : 75,
      "cleanedStartLine" : 41,
      "cleanedEndLine" : 57
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/ai/koog/agents/snapshot/providers/file/FileCheckpointsTests.kt",
        "extension" : "kt",
        "linesOfCode" : 236,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 188,
      "startLine" : 136,
      "endLine" : 158,
      "cleanedStartLine" : 80,
      "cleanedEndLine" : 96
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/ai/koog/agents/snapshot/providers/file/FileCheckpointsTests.kt",
        "extension" : "kt",
        "linesOfCode" : 236,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 188,
      "startLine" : 232,
      "endLine" : 254,
      "cleanedStartLine" : 157,
      "cleanedEndLine" : 173
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerStreamingTest.kt",
        "extension" : "kt",
        "linesOfCode" : 347,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 262,
      "startLine" : 239,
      "endLine" : 261,
      "cleanedStartLine" : 129,
      "cleanedEndLine" : 145
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageFileWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 509,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 418,
      "startLine" : 452,
      "endLine" : 474,
      "cleanedStartLine" : 312,
      "cleanedEndLine" : 328
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/ai/koog/agents/snapshot/providers/file/FileCheckpointsTests.kt",
        "extension" : "kt",
        "linesOfCode" : 236,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 188,
      "startLine" : 130,
      "endLine" : 152,
      "cleanedStartLine" : 76,
      "cleanedEndLine" : 92
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/ai/koog/agents/snapshot/providers/file/FileCheckpointsTests.kt",
        "extension" : "kt",
        "linesOfCode" : 236,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 188,
      "startLine" : 172,
      "endLine" : 194,
      "cleanedStartLine" : 109,
      "cleanedEndLine" : 125
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetrySpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 256,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 224,
      "startLine" : 154,
      "endLine" : 174,
      "cleanedStartLine" : 100,
      "cleanedEndLine" : 116
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetrySpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 256,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 224,
      "startLine" : 248,
      "endLine" : 268,
      "cleanedStartLine" : 188,
      "cleanedEndLine" : 204
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-markdown/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 27,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 17,
      "startLine" : 3,
      "endLine" : 34,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-xml/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 27,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 17,
      "startLine" : 3,
      "endLine" : 34,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/BedrockLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 751,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 628,
      "startLine" : 576,
      "endLine" : 593,
      "cleanedStartLine" : 375,
      "cleanedEndLine" : 391
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/BedrockLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 751,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 628,
      "startLine" : 638,
      "endLine" : 655,
      "cleanedStartLine" : 425,
      "cleanedEndLine" : 441
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerStreamingTest.kt",
        "extension" : "kt",
        "linesOfCode" : 347,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 262,
      "startLine" : 239,
      "endLine" : 261,
      "cleanedStartLine" : 129,
      "cleanedEndLine" : 145
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageLogWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 480,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 396,
      "startLine" : 78,
      "endLine" : 100,
      "cleanedStartLine" : 17,
      "cleanedEndLine" : 33
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/dashscope/DashscopeParams.kt",
        "extension" : "kt",
        "linesOfCode" : 159,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 144,
      "startLine" : 83,
      "endLine" : 109,
      "cleanedStartLine" : 51,
      "cleanedEndLine" : 67
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/mistralai/MistralAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 145,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 133,
      "startLine" : 77,
      "endLine" : 103,
      "cleanedStartLine" : 44,
      "cleanedEndLine" : 60
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/SubgraphWithTaskTest.kt",
        "extension" : "kt",
        "linesOfCode" : 603,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 509,
      "startLine" : 253,
      "endLine" : 281,
      "cleanedStartLine" : 154,
      "cleanedEndLine" : 170
    }, {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/SubgraphWithTaskTest.kt",
        "extension" : "kt",
        "linesOfCode" : 603,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 509,
      "startLine" : 598,
      "endLine" : 622,
      "cleanedStartLine" : 393,
      "cleanedEndLine" : 409
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/SubgraphWithTaskTest.kt",
        "extension" : "kt",
        "linesOfCode" : 603,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 509,
      "startLine" : 253,
      "endLine" : 281,
      "cleanedStartLine" : 154,
      "cleanedEndLine" : 170
    }, {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/SubgraphWithTaskTest.kt",
        "extension" : "kt",
        "linesOfCode" : 603,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 509,
      "startLine" : 521,
      "endLine" : 545,
      "cleanedStartLine" : 338,
      "cleanedEndLine" : 354
    } ]
  }, {
    "blockSize" : 16,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmMain/kotlin/ai/koog/agents/core/agent/config/AIAgentConfig.kt",
        "extension" : "kt",
        "linesOfCode" : 90,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 79,
      "startLine" : 53,
      "endLine" : 70,
      "cleanedStartLine" : 29,
      "cleanedEndLine" : 44
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/wasmJsMain/kotlin/ai/koog/agents/core/agent/config/AIAgentConfig.kt",
        "extension" : "kt",
        "linesOfCode" : 32,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 18,
      "endLine" : 35,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 25
    } ]
  }, {
    "blockSize" : 16,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/appleMain/kotlin/ai/koog/agents/core/agent/config/AIAgentConfig.kt",
        "extension" : "kt",
        "linesOfCode" : 32,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 18,
      "endLine" : 35,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 25
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmMain/kotlin/ai/koog/agents/core/agent/config/AIAgentConfig.kt",
        "extension" : "kt",
        "linesOfCode" : 90,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 79,
      "startLine" : 53,
      "endLine" : 70,
      "cleanedStartLine" : 29,
      "cleanedEndLine" : 44
    } ]
  }, {
    "blockSize" : 16,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/FunctionalAIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 110,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 84,
      "startLine" : 122,
      "endLine" : 141,
      "cleanedStartLine" : 62,
      "cleanedEndLine" : 77
    }, {
      "file" : {
        "relativePath" : "agents/agents-planner/src/commonMain/kotlin/ai/koog/agents/planner/PlannerAIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 101,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 76,
      "startLine" : 119,
      "endLine" : 138,
      "cleanedStartLine" : 61,
      "cleanedEndLine" : 76
    } ]
  }, {
    "blockSize" : 16,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/src/jvmTest/kotlin/dashscope/DashscopeLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 255,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 196,
      "startLine" : 73,
      "endLine" : 95,
      "cleanedStartLine" : 30,
      "cleanedEndLine" : 45
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-deepseek-client/src/jvmTest/kotlin/deepseek/DeepSeekLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 247,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 191,
      "startLine" : 71,
      "endLine" : 93,
      "cleanedStartLine" : 30,
      "cleanedEndLine" : 45
    } ]
  }, {
    "blockSize" : 16,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerTest.kt",
        "extension" : "kt",
        "linesOfCode" : 521,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 437,
      "startLine" : 301,
      "endLine" : 316,
      "cleanedStartLine" : 185,
      "cleanedEndLine" : 200
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageRemoteWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 816,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 671,
      "startLine" : 408,
      "endLine" : 423,
      "cleanedStartLine" : 249,
      "cleanedEndLine" : 264
    } ]
  }, {
    "blockSize" : 16,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/dashscope/models/DashscopeSerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 453,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 372,
      "startLine" : 365,
      "endLine" : 380,
      "cleanedStartLine" : 245,
      "cleanedEndLine" : 260
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-deepseek-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/deepseek/models/DeepSeekSerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 327,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 263,
      "startLine" : 182,
      "endLine" : 197,
      "cleanedStartLine" : 123,
      "cleanedEndLine" : 138
    } ]
  }, {
    "blockSize" : 16,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageFileWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 509,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 418,
      "startLine" : 164,
      "endLine" : 180,
      "cleanedStartLine" : 75,
      "cleanedEndLine" : 90
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageRemoteWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 816,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 671,
      "startLine" : 328,
      "endLine" : 344,
      "cleanedStartLine" : 172,
      "cleanedEndLine" : 187
    } ]
  }, {
    "blockSize" : 16,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client-base/src/commonTest/kotlin/ai/koog/prompt/executor/clients/openai/structure/OpenAIBasicJsonSchemaGeneratorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 152,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 134,
      "startLine" : 130,
      "endLine" : 146,
      "cleanedStartLine" : 106,
      "cleanedEndLine" : 121
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client-base/src/commonTest/kotlin/ai/koog/prompt/executor/clients/openai/structure/OpenAIStandardJsonSchemaGeneratorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 375,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 342,
      "startLine" : 255,
      "endLine" : 271,
      "cleanedStartLine" : 221,
      "cleanedEndLine" : 236
    } ]
  }, {
    "blockSize" : 16,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerStreamingTest.kt",
        "extension" : "kt",
        "linesOfCode" : 347,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 262,
      "startLine" : 152,
      "endLine" : 172,
      "cleanedStartLine" : 64,
      "cleanedEndLine" : 79
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerStreamingTest.kt",
        "extension" : "kt",
        "linesOfCode" : 347,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 262,
      "startLine" : 352,
      "endLine" : 372,
      "cleanedStartLine" : 207,
      "cleanedEndLine" : 222
    } ]
  }, {
    "blockSize" : 16,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/feature/remote/client/FeatureMessageRemoteClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 388,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 293,
      "startLine" : 280,
      "endLine" : 312,
      "cleanedStartLine" : 157,
      "cleanedEndLine" : 172
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/feature/writer/FeatureMessageRemoteWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 204,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 144,
      "startLine" : 115,
      "endLine" : 147,
      "cleanedStartLine" : 55,
      "cleanedEndLine" : 70
    } ]
  }, {
    "blockSize" : 16,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/langfuse/LangfuseTraceStructureTest.kt",
        "extension" : "kt",
        "linesOfCode" : 249,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 236,
      "startLine" : 131,
      "endLine" : 146,
      "cleanedStartLine" : 107,
      "cleanedEndLine" : 122
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/langfuse/LangfuseTraceStructureTest.kt",
        "extension" : "kt",
        "linesOfCode" : 249,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 236,
      "startLine" : 254,
      "endLine" : 271,
      "cleanedStartLine" : 221,
      "cleanedEndLine" : 236
    } ]
  }, {
    "blockSize" : 16,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerTest.kt",
        "extension" : "kt",
        "linesOfCode" : 521,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 437,
      "startLine" : 508,
      "endLine" : 523,
      "cleanedStartLine" : 392,
      "cleanedEndLine" : 407
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageRemoteWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 816,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 671,
      "startLine" : 572,
      "endLine" : 587,
      "cleanedStartLine" : 412,
      "cleanedEndLine" : 427
    } ]
  }, {
    "blockSize" : 16,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageLogWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 480,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 396,
      "startLine" : 80,
      "endLine" : 100,
      "cleanedStartLine" : 18,
      "cleanedEndLine" : 33
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageRemoteWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 816,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 671,
      "startLine" : 180,
      "endLine" : 200,
      "cleanedStartLine" : 64,
      "cleanedEndLine" : 79
    } ]
  }, {
    "blockSize" : 16,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerTest.kt",
        "extension" : "kt",
        "linesOfCode" : 521,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 437,
      "startLine" : 432,
      "endLine" : 447,
      "cleanedStartLine" : 316,
      "cleanedEndLine" : 331
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerTest.kt",
        "extension" : "kt",
        "linesOfCode" : 521,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 437,
      "startLine" : 469,
      "endLine" : 484,
      "cleanedStartLine" : 353,
      "cleanedEndLine" : 368
    } ]
  }, {
    "blockSize" : 16,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageFileWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 509,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 418,
      "startLine" : 454,
      "endLine" : 474,
      "cleanedStartLine" : 313,
      "cleanedEndLine" : 328
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageRemoteWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 816,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 671,
      "startLine" : 180,
      "endLine" : 200,
      "cleanedStartLine" : 64,
      "cleanedEndLine" : 79
    } ]
  }, {
    "blockSize" : 16,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/agent/SingleRunStrategyTests.kt",
        "extension" : "kt",
        "linesOfCode" : 234,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 186,
      "startLine" : 137,
      "endLine" : 159,
      "cleanedStartLine" : 83,
      "cleanedEndLine" : 98
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/agent/SingleRunStrategyTests.kt",
        "extension" : "kt",
        "linesOfCode" : 234,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 186,
      "startLine" : 176,
      "endLine" : 198,
      "cleanedStartLine" : 109,
      "cleanedEndLine" : 124
    } ]
  }, {
    "blockSize" : 16,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/androidMain/kotlin/ai/koog/agents/core/agent/config/AIAgentConfig.kt",
        "extension" : "kt",
        "linesOfCode" : 32,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 18,
      "endLine" : 35,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 25
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmMain/kotlin/ai/koog/agents/core/agent/config/AIAgentConfig.kt",
        "extension" : "kt",
        "linesOfCode" : 90,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 79,
      "startLine" : 53,
      "endLine" : 70,
      "cleanedStartLine" : 29,
      "cleanedEndLine" : 44
    } ]
  }, {
    "blockSize" : 16,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/commonTest/kotlin/ai/koog/prompt/executor/clients/google/structure/GoogleStandardJsonSchemaGeneratorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 323,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 297,
      "startLine" : 254,
      "endLine" : 270,
      "cleanedStartLine" : 221,
      "cleanedEndLine" : 236
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client-base/src/commonTest/kotlin/ai/koog/prompt/executor/clients/openai/structure/OpenAIBasicJsonSchemaGeneratorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 152,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 134,
      "startLine" : 130,
      "endLine" : 146,
      "cleanedStartLine" : 106,
      "cleanedEndLine" : 121
    } ]
  }, {
    "blockSize" : 16,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-sql/src/jvmTest/kotlin/ai/koog/agents/features/sql/providers/MySQLPersistencyStorageProviderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 106,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 76,
      "startLine" : 115,
      "endLine" : 133,
      "cleanedStartLine" : 61,
      "cleanedEndLine" : 76
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-sql/src/jvmTest/kotlin/ai/koog/agents/features/sql/providers/PostgresPersistencyStorageProviderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 105,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 76,
      "startLine" : 114,
      "endLine" : 132,
      "cleanedStartLine" : 61,
      "cleanedEndLine" : 76
    } ]
  }, {
    "blockSize" : 16,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-structure/src/commonTest/kotlin/ai/koog/prompt/structure/json/generator/JsonSchemaGeneratorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 819,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 713,
      "startLine" : 376,
      "endLine" : 394,
      "cleanedStartLine" : 300,
      "cleanedEndLine" : 315
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-structure/src/commonTest/kotlin/ai/koog/prompt/structure/json/generator/JsonSchemaGeneratorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 819,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 713,
      "startLine" : 434,
      "endLine" : 452,
      "cleanedStartLine" : 347,
      "cleanedEndLine" : 362
    } ]
  }, {
    "blockSize" : 16,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-core/src/commonTest/kotlin/ai/koog/a2a/model/AgentCardSerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 518,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 462,
      "startLine" : 17,
      "endLine" : 32,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 25
    }, {
      "file" : {
        "relativePath" : "a2a/a2a-transport/a2a-transport-client-jsonrpc-http/src/commonTest/kotlin/ai/koog/a2a/transport/client/jsonrpc/http/HttpJSONRPCClientTransportTest.kt",
        "extension" : "kt",
        "linesOfCode" : 389,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 327,
      "startLine" : 107,
      "endLine" : 122,
      "cleanedStartLine" : 44,
      "cleanedEndLine" : 59
    } ]
  }, {
    "blockSize" : 16,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmMain/kotlin/ai/koog/agents/features/opentelemetry/span/inferenceSpan.kt",
        "extension" : "kt",
        "linesOfCode" : 94,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 71,
      "startLine" : 152,
      "endLine" : 180,
      "cleanedStartLine" : 56,
      "cleanedEndLine" : 71
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmMain/kotlin/ai/koog/agents/features/opentelemetry/span/invokeAgentSpan.kt",
        "extension" : "kt",
        "linesOfCode" : 94,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 72,
      "startLine" : 161,
      "endLine" : 189,
      "cleanedStartLine" : 57,
      "cleanedEndLine" : 72
    } ]
  }, {
    "blockSize" : 16,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryInferenceSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 556,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 517,
      "startLine" : 210,
      "endLine" : 225,
      "cleanedStartLine" : 158,
      "cleanedEndLine" : 173
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryInferenceSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 556,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 517,
      "startLine" : 498,
      "endLine" : 513,
      "cleanedStartLine" : 414,
      "cleanedEndLine" : 429
    } ]
  }, {
    "blockSize" : 16,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryInferenceSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 556,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 517,
      "startLine" : 303,
      "endLine" : 318,
      "cleanedStartLine" : 241,
      "cleanedEndLine" : 256
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryInferenceSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 556,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 517,
      "startLine" : 343,
      "endLine" : 358,
      "cleanedStartLine" : 281,
      "cleanedEndLine" : 296
    } ]
  }, {
    "blockSize" : 16,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryInferenceSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 556,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 517,
      "startLine" : 176,
      "endLine" : 191,
      "cleanedStartLine" : 124,
      "cleanedEndLine" : 139
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryInferenceSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 556,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 517,
      "startLine" : 216,
      "endLine" : 231,
      "cleanedStartLine" : 164,
      "cleanedEndLine" : 179
    } ]
  }, {
    "blockSize" : 16,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-deepseek-client/src/jvmTest/kotlin/deepseek/DeepSeekLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 247,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 191,
      "startLine" : 71,
      "endLine" : 93,
      "cleanedStartLine" : 30,
      "cleanedEndLine" : 45
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/mistralai/MistralAILLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 295,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 232,
      "startLine" : 69,
      "endLine" : 91,
      "cleanedStartLine" : 30,
      "cleanedEndLine" : 45
    } ]
  }, {
    "blockSize" : 16,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-sql/src/jvmTest/kotlin/ai/koog/agents/features/sql/providers/H2PersistencyStorageProviderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 85,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 60,
      "startLine" : 92,
      "endLine" : 110,
      "cleanedStartLine" : 45,
      "cleanedEndLine" : 60
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-sql/src/jvmTest/kotlin/ai/koog/agents/features/sql/providers/PostgresPersistencyStorageProviderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 105,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 76,
      "startLine" : 114,
      "endLine" : 132,
      "cleanedStartLine" : 61,
      "cleanedEndLine" : 76
    } ]
  }, {
    "blockSize" : 16,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-structure/src/commonTest/kotlin/ai/koog/prompt/structure/json/generator/JsonSchemaGeneratorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 819,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 713,
      "startLine" : 580,
      "endLine" : 596,
      "cleanedStartLine" : 470,
      "cleanedEndLine" : 485
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-structure/src/commonTest/kotlin/ai/koog/prompt/structure/json/generator/JsonSchemaGeneratorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 819,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 713,
      "startLine" : 602,
      "endLine" : 618,
      "cleanedStartLine" : 491,
      "cleanedEndLine" : 506
    } ]
  }, {
    "blockSize" : 16,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageLogWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 480,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 396,
      "startLine" : 420,
      "endLine" : 440,
      "cleanedStartLine" : 288,
      "cleanedEndLine" : 303
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageRemoteWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 816,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 671,
      "startLine" : 180,
      "endLine" : 200,
      "cleanedStartLine" : 64,
      "cleanedEndLine" : 79
    } ]
  }, {
    "blockSize" : 16,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-memory/src/jvmTest/kotlin/ai/koog/agents/memory/feature/RetrieveFactsFromHistoryTest.kt",
        "extension" : "kt",
        "linesOfCode" : 194,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 152,
      "startLine" : 54,
      "endLine" : 71,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 30
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-memory/src/jvmTest/kotlin/ai/koog/agents/memory/feature/RetrieveFactsFromHistoryTest.kt",
        "extension" : "kt",
        "linesOfCode" : 194,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 152,
      "startLine" : 180,
      "endLine" : 197,
      "cleanedStartLine" : 93,
      "cleanedEndLine" : 108
    } ]
  }, {
    "blockSize" : 16,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-memory/src/jvmTest/kotlin/ai/koog/agents/memory/feature/RetrieveFactsFromHistoryTest.kt",
        "extension" : "kt",
        "linesOfCode" : 194,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 152,
      "startLine" : 54,
      "endLine" : 71,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 30
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-memory/src/jvmTest/kotlin/ai/koog/agents/memory/feature/RetrieveFactsFromHistoryTest.kt",
        "extension" : "kt",
        "linesOfCode" : 194,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 152,
      "startLine" : 98,
      "endLine" : 115,
      "cleanedStartLine" : 43,
      "cleanedEndLine" : 58
    } ]
  }, {
    "blockSize" : 16,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-structure/src/commonTest/kotlin/ai/koog/prompt/structure/json/generator/JsonSchemaGeneratorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 819,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 713,
      "startLine" : 303,
      "endLine" : 321,
      "cleanedStartLine" : 240,
      "cleanedEndLine" : 255
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-structure/src/commonTest/kotlin/ai/koog/prompt/structure/json/generator/JsonSchemaGeneratorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 819,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 713,
      "startLine" : 376,
      "endLine" : 394,
      "cleanedStartLine" : 300,
      "cleanedEndLine" : 315
    } ]
  }, {
    "blockSize" : 16,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/langfuse/LangfuseTraceStructureTest.kt",
        "extension" : "kt",
        "linesOfCode" : 249,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 236,
      "startLine" : 144,
      "endLine" : 161,
      "cleanedStartLine" : 120,
      "cleanedEndLine" : 135
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/weave/WeaveTraceStructureTest.kt",
        "extension" : "kt",
        "linesOfCode" : 270,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 257,
      "startLine" : 144,
      "endLine" : 161,
      "cleanedStartLine" : 121,
      "cleanedEndLine" : 136
    } ]
  }, {
    "blockSize" : 16,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jsMain/kotlin/ai/koog/agents/core/agent/config/AIAgentConfig.kt",
        "extension" : "kt",
        "linesOfCode" : 32,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 18,
      "endLine" : 35,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 25
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmMain/kotlin/ai/koog/agents/core/agent/config/AIAgentConfig.kt",
        "extension" : "kt",
        "linesOfCode" : 90,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 79,
      "startLine" : 53,
      "endLine" : 70,
      "cleanedStartLine" : 29,
      "cleanedEndLine" : 44
    } ]
  }, {
    "blockSize" : 16,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/context/AIAgentFunctionalContext.kt",
        "extension" : "kt",
        "linesOfCode" : 179,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 153,
      "startLine" : 74,
      "endLine" : 103,
      "cleanedStartLine" : 24,
      "cleanedEndLine" : 39
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/context/AIAgentFunctionalContextAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 135,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 110,
      "startLine" : 37,
      "endLine" : 66,
      "cleanedStartLine" : 6,
      "cleanedEndLine" : 21
    } ]
  }, {
    "blockSize" : 16,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/commonTest/kotlin/ai/koog/prompt/executor/clients/google/structure/GoogleStandardJsonSchemaGeneratorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 323,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 297,
      "startLine" : 309,
      "endLine" : 328,
      "cleanedStartLine" : 272,
      "cleanedEndLine" : 287
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client-base/src/commonTest/kotlin/ai/koog/prompt/executor/clients/openai/structure/OpenAIStandardJsonSchemaGeneratorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 375,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 342,
      "startLine" : 310,
      "endLine" : 329,
      "cleanedStartLine" : 272,
      "cleanedEndLine" : 287
    } ]
  }, {
    "blockSize" : 16,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/src/jvmTest/kotlin/dashscope/DashscopeLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 255,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 196,
      "startLine" : 73,
      "endLine" : 95,
      "cleanedStartLine" : 30,
      "cleanedEndLine" : 45
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/mistralai/MistralAILLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 295,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 232,
      "startLine" : 69,
      "endLine" : 91,
      "cleanedStartLine" : 30,
      "cleanedEndLine" : 45
    } ]
  }, {
    "blockSize" : 16,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-structure/src/commonTest/kotlin/ai/koog/prompt/structure/json/generator/JsonSchemaGeneratorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 819,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 713,
      "startLine" : 259,
      "endLine" : 277,
      "cleanedStartLine" : 205,
      "cleanedEndLine" : 220
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-structure/src/commonTest/kotlin/ai/koog/prompt/structure/json/generator/JsonSchemaGeneratorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 819,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 713,
      "startLine" : 376,
      "endLine" : 394,
      "cleanedStartLine" : 300,
      "cleanedEndLine" : 315
    } ]
  }, {
    "blockSize" : 16,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmMain/kotlin/ai/koog/agents/features/opentelemetry/feature/OpenTelemetry.kt",
        "extension" : "kt",
        "linesOfCode" : 583,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 491,
      "startLine" : 619,
      "endLine" : 641,
      "cleanedStartLine" : 396,
      "cleanedEndLine" : 411
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmMain/kotlin/ai/koog/agents/features/opentelemetry/feature/OpenTelemetry.kt",
        "extension" : "kt",
        "linesOfCode" : 583,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 491,
      "startLine" : 659,
      "endLine" : 681,
      "cleanedStartLine" : 425,
      "cleanedEndLine" : 440
    } ]
  }, {
    "blockSize" : 16,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-structure/src/commonTest/kotlin/ai/koog/prompt/structure/json/generator/JsonSchemaGeneratorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 819,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 713,
      "startLine" : 207,
      "endLine" : 225,
      "cleanedStartLine" : 163,
      "cleanedEndLine" : 178
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-structure/src/commonTest/kotlin/ai/koog/prompt/structure/json/generator/JsonSchemaGeneratorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 819,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 713,
      "startLine" : 259,
      "endLine" : 277,
      "cleanedStartLine" : 205,
      "cleanedEndLine" : 220
    } ]
  }, {
    "blockSize" : 16,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-structure/src/commonTest/kotlin/ai/koog/prompt/structure/json/generator/JsonSchemaGeneratorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 819,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 713,
      "startLine" : 207,
      "endLine" : 225,
      "cleanedStartLine" : 163,
      "cleanedEndLine" : 178
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-structure/src/commonTest/kotlin/ai/koog/prompt/structure/json/generator/JsonSchemaGeneratorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 819,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 713,
      "startLine" : 303,
      "endLine" : 321,
      "cleanedStartLine" : 240,
      "cleanedEndLine" : 255
    } ]
  }, {
    "blockSize" : 16,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageLogWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 480,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 396,
      "startLine" : 149,
      "endLine" : 165,
      "cleanedStartLine" : 69,
      "cleanedEndLine" : 84
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageRemoteWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 816,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 671,
      "startLine" : 328,
      "endLine" : 344,
      "cleanedStartLine" : 172,
      "cleanedEndLine" : 187
    } ]
  }, {
    "blockSize" : 16,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/TraceStructureTestBase.kt",
        "extension" : "kt",
        "linesOfCode" : 802,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 688,
      "startLine" : 191,
      "endLine" : 210,
      "cleanedStartLine" : 104,
      "cleanedEndLine" : 119
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/TraceStructureTestBase.kt",
        "extension" : "kt",
        "linesOfCode" : 802,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 688,
      "startLine" : 683,
      "endLine" : 702,
      "cleanedStartLine" : 486,
      "cleanedEndLine" : 501
    } ]
  }, {
    "blockSize" : 16,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageFileWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 509,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 418,
      "startLine" : 91,
      "endLine" : 111,
      "cleanedStartLine" : 21,
      "cleanedEndLine" : 36
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageRemoteWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 816,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 671,
      "startLine" : 180,
      "endLine" : 200,
      "cleanedStartLine" : 64,
      "cleanedEndLine" : 79
    } ]
  }, {
    "blockSize" : 16,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-structure/src/commonTest/kotlin/ai/koog/prompt/structure/json/generator/JsonSchemaGeneratorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 819,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 713,
      "startLine" : 207,
      "endLine" : 225,
      "cleanedStartLine" : 163,
      "cleanedEndLine" : 178
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-structure/src/commonTest/kotlin/ai/koog/prompt/structure/json/generator/JsonSchemaGeneratorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 819,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 713,
      "startLine" : 434,
      "endLine" : 452,
      "cleanedStartLine" : 347,
      "cleanedEndLine" : 362
    } ]
  }, {
    "blockSize" : 16,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-memory/src/jvmTest/kotlin/ai/koog/agents/memory/feature/RetrieveFactsFromHistoryTest.kt",
        "extension" : "kt",
        "linesOfCode" : 194,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 152,
      "startLine" : 98,
      "endLine" : 115,
      "cleanedStartLine" : 43,
      "cleanedEndLine" : 58
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-memory/src/jvmTest/kotlin/ai/koog/agents/memory/feature/RetrieveFactsFromHistoryTest.kt",
        "extension" : "kt",
        "linesOfCode" : 194,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 152,
      "startLine" : 139,
      "endLine" : 156,
      "cleanedStartLine" : 68,
      "cleanedEndLine" : 83
    } ]
  }, {
    "blockSize" : 15,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/weave/WeaveTraceStructureTest.kt",
        "extension" : "kt",
        "linesOfCode" : 270,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 257,
      "startLine" : 56,
      "endLine" : 72,
      "cleanedStartLine" : 41,
      "cleanedEndLine" : 55
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/weave/WeaveTraceStructureTest.kt",
        "extension" : "kt",
        "linesOfCode" : 270,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 257,
      "startLine" : 188,
      "endLine" : 204,
      "cleanedStartLine" : 162,
      "cleanedEndLine" : 176
    } ]
  }, {
    "blockSize" : 15,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 47,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 3,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 15
    }, {
      "file" : {
        "relativePath" : "a2a/a2a-server/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 50,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 3,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 15
    } ]
  }, {
    "blockSize" : 15,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rag/vector-storage/src/commonTest/kotlin/ai/koog/rag/vector/FileVectorStorageTest.kt",
        "extension" : "kt",
        "linesOfCode" : 130,
        "components" : [ "primary::rag" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 105,
      "startLine" : 153,
      "endLine" : 174,
      "cleanedStartLine" : 91,
      "cleanedEndLine" : 105
    }, {
      "file" : {
        "relativePath" : "rag/vector-storage/src/jvmTest/kotlin/ai/koog/rag/vector/JVMFileVectorStorageTest.kt",
        "extension" : "kt",
        "linesOfCode" : 160,
        "components" : [ "primary::rag" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 130,
      "startLine" : 191,
      "endLine" : 212,
      "cleanedStartLine" : 116,
      "cleanedEndLine" : 130
    } ]
  }, {
    "blockSize" : 15,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/langfuse/LangfuseTraceStructureTest.kt",
        "extension" : "kt",
        "linesOfCode" : 249,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 236,
      "startLine" : 198,
      "endLine" : 214,
      "cleanedStartLine" : 169,
      "cleanedEndLine" : 183
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/weave/WeaveTraceStructureTest.kt",
        "extension" : "kt",
        "linesOfCode" : 270,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 257,
      "startLine" : 204,
      "endLine" : 220,
      "cleanedStartLine" : 176,
      "cleanedEndLine" : 190
    } ]
  }, {
    "blockSize" : 15,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetrySubgraphTest.kt",
        "extension" : "kt",
        "linesOfCode" : 334,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 313,
      "startLine" : 169,
      "endLine" : 186,
      "cleanedStartLine" : 131,
      "cleanedEndLine" : 145
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetrySubgraphTest.kt",
        "extension" : "kt",
        "linesOfCode" : 334,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 313,
      "startLine" : 285,
      "endLine" : 302,
      "cleanedStartLine" : 230,
      "cleanedEndLine" : 244
    } ]
  }, {
    "blockSize" : 15,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/src/jvmTest/kotlin/dashscope/DashscopeLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 255,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 196,
      "startLine" : 182,
      "endLine" : 200,
      "cleanedStartLine" : 116,
      "cleanedEndLine" : 130
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-deepseek-client/src/jvmTest/kotlin/deepseek/DeepSeekLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 247,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 191,
      "startLine" : 180,
      "endLine" : 198,
      "cleanedStartLine" : 116,
      "cleanedEndLine" : 130
    } ]
  }, {
    "blockSize" : 15,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmMain/kotlin/ai/koog/agents/core/agent/feature/pipeline/AIAgentGraphPipeline.kt",
        "extension" : "kt",
        "linesOfCode" : 100,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 67,
      "startLine" : 21,
      "endLine" : 37,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/wasmJsMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentGraphPipeline.kt",
        "extension" : "kt",
        "linesOfCode" : 26,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 19,
      "startLine" : 13,
      "endLine" : 29,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 15,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/google/GoogleLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 480,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 432,
      "startLine" : 130,
      "endLine" : 146,
      "cleanedStartLine" : 87,
      "cleanedEndLine" : 101
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/google/GoogleLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 480,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 432,
      "startLine" : 190,
      "endLine" : 206,
      "cleanedStartLine" : 135,
      "cleanedEndLine" : 149
    } ]
  }, {
    "blockSize" : 15,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/span/GenAIAgentSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 227,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 201,
      "startLine" : 20,
      "endLine" : 36,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/span/GenAIAgentSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 227,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 201,
      "startLine" : 78,
      "endLine" : 94,
      "cleanedStartLine" : 46,
      "cleanedEndLine" : 60
    } ]
  }, {
    "blockSize" : 15,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-deepseek-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/deepseek/DeepSeekParams.kt",
        "extension" : "kt",
        "linesOfCode" : 143,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 85,
      "endLine" : 105,
      "cleanedStartLine" : 52,
      "cleanedEndLine" : 66
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 381,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 343,
      "startLine" : 141,
      "endLine" : 161,
      "cleanedStartLine" : 76,
      "cleanedEndLine" : 90
    } ]
  }, {
    "blockSize" : 15,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryInferenceSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 556,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 517,
      "startLine" : 194,
      "endLine" : 208,
      "cleanedStartLine" : 142,
      "cleanedEndLine" : 156
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryInferenceSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 556,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 517,
      "startLine" : 483,
      "endLine" : 497,
      "cleanedStartLine" : 399,
      "cleanedEndLine" : 413
    } ]
  }, {
    "blockSize" : 15,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetrySubgraphTest.kt",
        "extension" : "kt",
        "linesOfCode" : 334,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 313,
      "startLine" : 54,
      "endLine" : 71,
      "cleanedStartLine" : 31,
      "cleanedEndLine" : 45
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetrySubgraphTest.kt",
        "extension" : "kt",
        "linesOfCode" : 334,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 313,
      "startLine" : 169,
      "endLine" : 186,
      "cleanedStartLine" : 131,
      "cleanedEndLine" : 145
    } ]
  }, {
    "blockSize" : 15,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 48,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 3,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 15
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 46,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 34,
      "startLine" : 3,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 15
    } ]
  }, {
    "blockSize" : 15,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/appleMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentGraphPipeline.kt",
        "extension" : "kt",
        "linesOfCode" : 26,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 19,
      "startLine" : 13,
      "endLine" : 29,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmMain/kotlin/ai/koog/agents/core/agent/feature/pipeline/AIAgentGraphPipeline.kt",
        "extension" : "kt",
        "linesOfCode" : 100,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 67,
      "startLine" : 21,
      "endLine" : 37,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 15,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryInferenceSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 556,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 517,
      "startLine" : 192,
      "endLine" : 206,
      "cleanedStartLine" : 140,
      "cleanedEndLine" : 154
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryInferenceSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 556,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 517,
      "startLine" : 319,
      "endLine" : 333,
      "cleanedStartLine" : 257,
      "cleanedEndLine" : 271
    } ]
  }, {
    "blockSize" : 15,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 381,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 343,
      "startLine" : 141,
      "endLine" : 161,
      "cleanedStartLine" : 76,
      "cleanedEndLine" : 90
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openrouter-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openrouter/OpenRouterParams.kt",
        "extension" : "kt",
        "linesOfCode" : 197,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 177,
      "startLine" : 116,
      "endLine" : 136,
      "cleanedStartLine" : 67,
      "cleanedEndLine" : 81
    } ]
  }, {
    "blockSize" : 15,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryAgentSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 148,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 126,
      "startLine" : 70,
      "endLine" : 85,
      "cleanedStartLine" : 41,
      "cleanedEndLine" : 55
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryAgentSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 148,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 126,
      "startLine" : 144,
      "endLine" : 159,
      "cleanedStartLine" : 99,
      "cleanedEndLine" : 113
    } ]
  }, {
    "blockSize" : 15,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-processor/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 38,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 18,
      "endLine" : 47,
      "cleanedStartLine" : 12,
      "cleanedEndLine" : 26
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-structure/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 39,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 19,
      "endLine" : 48,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 27
    } ]
  }, {
    "blockSize" : 15,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/NodeUniquenessCheckpointTest.kt",
        "extension" : "kt",
        "linesOfCode" : 99,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 71,
      "startLine" : 82,
      "endLine" : 103,
      "cleanedStartLine" : 34,
      "cleanedEndLine" : 48
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/NodeUniquenessCheckpointTest.kt",
        "extension" : "kt",
        "linesOfCode" : 99,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 71,
      "startLine" : 121,
      "endLine" : 143,
      "cleanedStartLine" : 55,
      "cleanedEndLine" : 69
    } ]
  }, {
    "blockSize" : 15,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-structure/src/commonMain/kotlin/ai/koog/prompt/structure/json/generator/BasicJsonSchemaGenerator.kt",
        "extension" : "kt",
        "linesOfCode" : 67,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 48,
      "startLine" : 73,
      "endLine" : 101,
      "cleanedStartLine" : 32,
      "cleanedEndLine" : 46
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-structure/src/commonMain/kotlin/ai/koog/prompt/structure/json/generator/StandardJsonSchemaGenerator.kt",
        "extension" : "kt",
        "linesOfCode" : 206,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 156,
      "startLine" : 118,
      "endLine" : 146,
      "cleanedStartLine" : 56,
      "cleanedEndLine" : 70
    } ]
  }, {
    "blockSize" : 15,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jsMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentGraphPipeline.kt",
        "extension" : "kt",
        "linesOfCode" : 26,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 19,
      "startLine" : 13,
      "endLine" : 29,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmMain/kotlin/ai/koog/agents/core/agent/feature/pipeline/AIAgentGraphPipeline.kt",
        "extension" : "kt",
        "linesOfCode" : 100,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 67,
      "startLine" : 21,
      "endLine" : 37,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 15,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/FunctionalAIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 110,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 84,
      "startLine" : 84,
      "endLine" : 100,
      "cleanedStartLine" : 30,
      "cleanedEndLine" : 44
    }, {
      "file" : {
        "relativePath" : "agents/agents-planner/src/commonMain/kotlin/ai/koog/agents/planner/PlannerAIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 101,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 76,
      "startLine" : 82,
      "endLine" : 98,
      "cleanedStartLine" : 30,
      "cleanedEndLine" : 44
    } ]
  }, {
    "blockSize" : 15,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/feature/AIAgentPipelineTest.kt",
        "extension" : "kt",
        "linesOfCode" : 736,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 595,
      "startLine" : 494,
      "endLine" : 512,
      "cleanedStartLine" : 311,
      "cleanedEndLine" : 325
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/feature/AIAgentPipelineTest.kt",
        "extension" : "kt",
        "linesOfCode" : 736,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 595,
      "startLine" : 762,
      "endLine" : 780,
      "cleanedStartLine" : 498,
      "cleanedEndLine" : 512
    } ]
  }, {
    "blockSize" : 15,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/androidMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentGraphPipeline.kt",
        "extension" : "kt",
        "linesOfCode" : 26,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 19,
      "startLine" : 13,
      "endLine" : 29,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmMain/kotlin/ai/koog/agents/core/agent/feature/pipeline/AIAgentGraphPipeline.kt",
        "extension" : "kt",
        "linesOfCode" : 100,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 67,
      "startLine" : 21,
      "endLine" : 37,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 15,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/mock/TestAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 82,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 63,
      "startLine" : 34,
      "endLine" : 71,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/mock/TestAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 85,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 64,
      "startLine" : 39,
      "endLine" : 76,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 18
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 29,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 19,
      "startLine" : 3,
      "endLine" : 22,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 14
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openrouter-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 25,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 17,
      "startLine" : 3,
      "endLine" : 22,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 14
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 130,
      "endLine" : 143,
      "cleanedStartLine" : 40,
      "cleanedEndLine" : 53
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 194,
      "endLine" : 207,
      "cleanedStartLine" : 82,
      "cleanedEndLine" : 95
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 130,
      "endLine" : 143,
      "cleanedStartLine" : 40,
      "cleanedEndLine" : 53
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 162,
      "endLine" : 175,
      "cleanedStartLine" : 61,
      "cleanedEndLine" : 74
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/commonTest/kotlin/ai/koog/prompt/executor/clients/google/structure/GoogleStandardJsonSchemaGeneratorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 323,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 297,
      "startLine" : 215,
      "endLine" : 228,
      "cleanedStartLine" : 183,
      "cleanedEndLine" : 196
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client-base/src/commonTest/kotlin/ai/koog/prompt/executor/clients/openai/structure/OpenAIStandardJsonSchemaGeneratorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 375,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 342,
      "startLine" : 148,
      "endLine" : 161,
      "cleanedStartLine" : 117,
      "cleanedEndLine" : 130
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/commonTest/kotlin/ai/koog/prompt/executor/clients/google/structure/GoogleStandardJsonSchemaGeneratorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 323,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 297,
      "startLine" : 181,
      "endLine" : 194,
      "cleanedStartLine" : 150,
      "cleanedEndLine" : 163
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/commonTest/kotlin/ai/koog/prompt/executor/clients/google/structure/GoogleStandardJsonSchemaGeneratorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 323,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 297,
      "startLine" : 215,
      "endLine" : 228,
      "cleanedStartLine" : 183,
      "cleanedEndLine" : 196
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client-base/src/commonTest/kotlin/ai/koog/prompt/executor/clients/openai/structure/OpenAIStandardJsonSchemaGeneratorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 375,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 342,
      "startLine" : 148,
      "endLine" : 161,
      "cleanedStartLine" : 117,
      "cleanedEndLine" : 130
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client-base/src/commonTest/kotlin/ai/koog/prompt/executor/clients/openai/structure/OpenAIStandardJsonSchemaGeneratorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 375,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 342,
      "startLine" : 216,
      "endLine" : 229,
      "cleanedStartLine" : 183,
      "cleanedEndLine" : 196
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client-base/src/commonTest/kotlin/ai/koog/prompt/executor/clients/openai/structure/OpenAIStandardJsonSchemaGeneratorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 375,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 342,
      "startLine" : 148,
      "endLine" : 161,
      "cleanedStartLine" : 117,
      "cleanedEndLine" : 130
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client-base/src/commonTest/kotlin/ai/koog/prompt/executor/clients/openai/structure/OpenAIStandardJsonSchemaGeneratorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 375,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 342,
      "startLine" : 182,
      "endLine" : 195,
      "cleanedStartLine" : 150,
      "cleanedEndLine" : 163
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client-base/src/commonTest/kotlin/ai/koog/prompt/executor/clients/openai/structure/OpenAIStandardJsonSchemaGeneratorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 375,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 342,
      "startLine" : 182,
      "endLine" : 195,
      "cleanedStartLine" : 150,
      "cleanedEndLine" : 163
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client-base/src/commonTest/kotlin/ai/koog/prompt/executor/clients/openai/structure/OpenAIStandardJsonSchemaGeneratorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 375,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 342,
      "startLine" : 216,
      "endLine" : 229,
      "cleanedStartLine" : 183,
      "cleanedEndLine" : 196
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/commonTest/kotlin/ai/koog/prompt/executor/clients/google/structure/GoogleStandardJsonSchemaGeneratorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 323,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 297,
      "startLine" : 129,
      "endLine" : 143,
      "cleanedStartLine" : 100,
      "cleanedEndLine" : 113
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client-base/src/commonTest/kotlin/ai/koog/prompt/executor/clients/openai/structure/OpenAIBasicJsonSchemaGeneratorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 152,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 134,
      "startLine" : 99,
      "endLine" : 113,
      "cleanedStartLine" : 76,
      "cleanedEndLine" : 89
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/src/jvmTest/kotlin/dashscope/DashscopeLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 255,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 196,
      "startLine" : 51,
      "endLine" : 71,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 28
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/mistralai/MistralAILLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 295,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 232,
      "startLine" : 47,
      "endLine" : 67,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 28
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/dashscope/DashscopeModels.kt",
        "extension" : "kt",
        "linesOfCode" : 118,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 112,
      "startLine" : 63,
      "endLine" : 83,
      "cleanedStartLine" : 36,
      "cleanedEndLine" : 49
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/dashscope/DashscopeModels.kt",
        "extension" : "kt",
        "linesOfCode" : 118,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 112,
      "startLine" : 87,
      "endLine" : 105,
      "cleanedStartLine" : 53,
      "cleanedEndLine" : 66
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/langfuse/LangfuseTraceStructureTest.kt",
        "extension" : "kt",
        "linesOfCode" : 249,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 236,
      "startLine" : 121,
      "endLine" : 134,
      "cleanedStartLine" : 97,
      "cleanedEndLine" : 110
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/weave/WeaveTraceStructureTest.kt",
        "extension" : "kt",
        "linesOfCode" : 270,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 257,
      "startLine" : 46,
      "endLine" : 59,
      "cleanedStartLine" : 31,
      "cleanedEndLine" : 44
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client-base/src/commonTest/kotlin/ai/koog/prompt/executor/clients/openai/structure/OpenAIBasicJsonSchemaGeneratorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 152,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 134,
      "startLine" : 99,
      "endLine" : 113,
      "cleanedStartLine" : 76,
      "cleanedEndLine" : 89
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client-base/src/commonTest/kotlin/ai/koog/prompt/executor/clients/openai/structure/OpenAIStandardJsonSchemaGeneratorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 375,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 342,
      "startLine" : 130,
      "endLine" : 144,
      "cleanedStartLine" : 100,
      "cleanedEndLine" : 113
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryNodeExecuteSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 307,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 276,
      "startLine" : 47,
      "endLine" : 60,
      "cleanedStartLine" : 20,
      "cleanedEndLine" : 33
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryNodeExecuteSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 307,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 276,
      "startLine" : 319,
      "endLine" : 332,
      "cleanedStartLine" : 250,
      "cleanedEndLine" : 263
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-deepseek-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/deepseek/DeepSeekParams.kt",
        "extension" : "kt",
        "linesOfCode" : 143,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 130,
      "endLine" : 143,
      "cleanedStartLine" : 90,
      "cleanedEndLine" : 103
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openrouter-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openrouter/OpenRouterParams.kt",
        "extension" : "kt",
        "linesOfCode" : 197,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 177,
      "startLine" : 177,
      "endLine" : 190,
      "cleanedStartLine" : 121,
      "cleanedEndLine" : 134
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/SingleRunStrategyWithHistoryCompressionTests.kt",
        "extension" : "kt",
        "linesOfCode" : 119,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 93,
      "startLine" : 87,
      "endLine" : 105,
      "cleanedStartLine" : 54,
      "cleanedEndLine" : 67
    }, {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/SingleRunStrategyWithHistoryCompressionTests.kt",
        "extension" : "kt",
        "linesOfCode" : 119,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 93,
      "startLine" : 116,
      "endLine" : 134,
      "cleanedStartLine" : 75,
      "cleanedEndLine" : 88
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 30,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 20,
      "startLine" : 3,
      "endLine" : 22,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 14
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-deepseek-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 29,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 19,
      "startLine" : 3,
      "endLine" : 22,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 14
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicLLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 524,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 393,
      "startLine" : 251,
      "endLine" : 277,
      "cleanedStartLine" : 124,
      "cleanedEndLine" : 137
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmMain/kotlin/ai/koog/prompt/executor/clients/bedrock/modelfamilies/anthropic/BedrockAnthropicClaudeSerialization.kt",
        "extension" : "kt",
        "linesOfCode" : 286,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 208,
      "startLine" : 290,
      "endLine" : 316,
      "cleanedStartLine" : 192,
      "cleanedEndLine" : 205
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryInferenceSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 556,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 517,
      "startLine" : 108,
      "endLine" : 124,
      "cleanedStartLine" : 67,
      "cleanedEndLine" : 80
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryInferenceSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 556,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 517,
      "startLine" : 255,
      "endLine" : 271,
      "cleanedStartLine" : 200,
      "cleanedEndLine" : 213
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/commonTest/kotlin/ai/koog/prompt/executor/clients/google/structure/GoogleStandardJsonSchemaGeneratorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 323,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 297,
      "startLine" : 215,
      "endLine" : 228,
      "cleanedStartLine" : 183,
      "cleanedEndLine" : 196
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client-base/src/commonTest/kotlin/ai/koog/prompt/executor/clients/openai/structure/OpenAIStandardJsonSchemaGeneratorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 375,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 342,
      "startLine" : 182,
      "endLine" : 195,
      "cleanedStartLine" : 150,
      "cleanedEndLine" : 163
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/commonTest/kotlin/ai/koog/prompt/executor/clients/google/structure/GoogleStandardJsonSchemaGeneratorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 323,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 297,
      "startLine" : 181,
      "endLine" : 194,
      "cleanedStartLine" : 150,
      "cleanedEndLine" : 163
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client-base/src/commonTest/kotlin/ai/koog/prompt/executor/clients/openai/structure/OpenAIStandardJsonSchemaGeneratorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 375,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 342,
      "startLine" : 148,
      "endLine" : 161,
      "cleanedStartLine" : 117,
      "cleanedEndLine" : 130
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/commonTest/kotlin/ai/koog/prompt/executor/clients/google/structure/GoogleStandardJsonSchemaGeneratorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 323,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 297,
      "startLine" : 181,
      "endLine" : 194,
      "cleanedStartLine" : 150,
      "cleanedEndLine" : 163
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client-base/src/commonTest/kotlin/ai/koog/prompt/executor/clients/openai/structure/OpenAIStandardJsonSchemaGeneratorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 375,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 342,
      "startLine" : 216,
      "endLine" : 229,
      "cleanedStartLine" : 183,
      "cleanedEndLine" : 196
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageLogWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 480,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 396,
      "startLine" : 244,
      "endLine" : 257,
      "cleanedStartLine" : 162,
      "cleanedEndLine" : 175
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageLogWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 480,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 396,
      "startLine" : 514,
      "endLine" : 527,
      "cleanedStartLine" : 362,
      "cleanedEndLine" : 375
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/feature/AIAgentFeatureTestAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 395,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 341,
      "startLine" : 357,
      "endLine" : 370,
      "cleanedStartLine" : 277,
      "cleanedEndLine" : 290
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/feature/AIAgentFeatureTestAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 395,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 341,
      "startLine" : 380,
      "endLine" : 393,
      "cleanedStartLine" : 299,
      "cleanedEndLine" : 312
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/agent/FunctionalAIAgentTest.kt",
        "extension" : "kt",
        "linesOfCode" : 674,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 581,
      "startLine" : 29,
      "endLine" : 46,
      "cleanedStartLine" : 6,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/agent/SingleRunStrategyTests.kt",
        "extension" : "kt",
        "linesOfCode" : 234,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 186,
      "startLine" : 215,
      "endLine" : 233,
      "cleanedStartLine" : 135,
      "cleanedEndLine" : 148
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-test/src/commonMain/kotlin/ai/koog/agents/testing/tools/MockLLMBuilder.kt",
        "extension" : "kt",
        "linesOfCode" : 495,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 414,
      "startLine" : 264,
      "endLine" : 277,
      "cleanedStartLine" : 97,
      "cleanedEndLine" : 110
    }, {
      "file" : {
        "relativePath" : "agents/agents-test/src/commonMain/kotlin/ai/koog/agents/testing/tools/MockLLMBuilder.kt",
        "extension" : "kt",
        "linesOfCode" : 495,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 414,
      "startLine" : 294,
      "endLine" : 307,
      "cleanedStartLine" : 115,
      "cleanedEndLine" : 128
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/agent/FunctionalAIAgentTest.kt",
        "extension" : "kt",
        "linesOfCode" : 674,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 581,
      "startLine" : 29,
      "endLine" : 46,
      "cleanedStartLine" : 6,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/agent/SingleRunStrategyTests.kt",
        "extension" : "kt",
        "linesOfCode" : 234,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 186,
      "startLine" : 255,
      "endLine" : 273,
      "cleanedStartLine" : 162,
      "cleanedEndLine" : 175
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-deepseek-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 29,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 19,
      "startLine" : 3,
      "endLine" : 22,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 14
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openrouter-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 25,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 17,
      "startLine" : 3,
      "endLine" : 22,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 14
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-structure/src/commonTest/kotlin/ai/koog/prompt/structure/json/generator/JsonSchemaGeneratorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 819,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 713,
      "startLine" : 240,
      "endLine" : 255,
      "cleanedStartLine" : 188,
      "cleanedEndLine" : 201
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-structure/src/commonTest/kotlin/ai/koog/prompt/structure/json/generator/JsonSchemaGeneratorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 819,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 713,
      "startLine" : 288,
      "endLine" : 303,
      "cleanedStartLine" : 227,
      "cleanedEndLine" : 240
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageFileWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 509,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 418,
      "startLine" : 266,
      "endLine" : 279,
      "cleanedStartLine" : 175,
      "cleanedEndLine" : 188
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageFileWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 509,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 418,
      "startLine" : 544,
      "endLine" : 557,
      "cleanedStartLine" : 384,
      "cleanedEndLine" : 397
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-structure/src/commonTest/kotlin/ai/koog/prompt/structure/json/generator/JsonSchemaGeneratorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 819,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 713,
      "startLine" : 358,
      "endLine" : 371,
      "cleanedStartLine" : 282,
      "cleanedEndLine" : 295
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-structure/src/commonTest/kotlin/ai/koog/prompt/structure/json/generator/JsonSchemaGeneratorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 819,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 713,
      "startLine" : 418,
      "endLine" : 431,
      "cleanedStartLine" : 331,
      "cleanedEndLine" : 344
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/TraceStructureTestBase.kt",
        "extension" : "kt",
        "linesOfCode" : 802,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 688,
      "startLine" : 113,
      "endLine" : 126,
      "cleanedStartLine" : 39,
      "cleanedEndLine" : 52
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/TraceStructureTestBase.kt",
        "extension" : "kt",
        "linesOfCode" : 802,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 688,
      "startLine" : 596,
      "endLine" : 609,
      "cleanedStartLine" : 411,
      "cleanedEndLine" : 424
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/feature/AIAgentFeatureTestAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 395,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 341,
      "startLine" : 295,
      "endLine" : 308,
      "cleanedStartLine" : 218,
      "cleanedEndLine" : 231
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/feature/AIAgentFeatureTestAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 395,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 341,
      "startLine" : 357,
      "endLine" : 370,
      "cleanedStartLine" : 277,
      "cleanedEndLine" : 290
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/commonTest/kotlin/ai/koog/prompt/executor/clients/google/structure/GoogleSimpleJsonSchemaGeneratorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 147,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 130,
      "startLine" : 98,
      "endLine" : 112,
      "cleanedStartLine" : 76,
      "cleanedEndLine" : 89
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/commonTest/kotlin/ai/koog/prompt/executor/clients/google/structure/GoogleStandardJsonSchemaGeneratorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 323,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 297,
      "startLine" : 129,
      "endLine" : 143,
      "cleanedStartLine" : 100,
      "cleanedEndLine" : 113
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/feature/AIAgentFeatureTestAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 395,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 341,
      "startLine" : 295,
      "endLine" : 308,
      "cleanedStartLine" : 218,
      "cleanedEndLine" : 231
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/feature/AIAgentFeatureTestAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 395,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 341,
      "startLine" : 338,
      "endLine" : 351,
      "cleanedStartLine" : 259,
      "cleanedEndLine" : 272
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/feature/AIAgentFeatureTestAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 395,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 341,
      "startLine" : 295,
      "endLine" : 308,
      "cleanedStartLine" : 218,
      "cleanedEndLine" : 231
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/feature/AIAgentFeatureTestAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 395,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 341,
      "startLine" : 319,
      "endLine" : 332,
      "cleanedStartLine" : 241,
      "cleanedEndLine" : 254
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/src/jvmTest/kotlin/dashscope/DashscopeLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 255,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 196,
      "startLine" : 51,
      "endLine" : 71,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 28
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-deepseek-client/src/jvmTest/kotlin/deepseek/DeepSeekLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 247,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 191,
      "startLine" : 49,
      "endLine" : 69,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 28
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/feature/AIAgentFeatureTestAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 395,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 341,
      "startLine" : 295,
      "endLine" : 308,
      "cleanedStartLine" : 218,
      "cleanedEndLine" : 231
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/feature/AIAgentFeatureTestAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 395,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 341,
      "startLine" : 380,
      "endLine" : 393,
      "cleanedStartLine" : 299,
      "cleanedEndLine" : 312
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-deepseek-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/deepseek/DeepSeekParams.kt",
        "extension" : "kt",
        "linesOfCode" : 143,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 41,
      "endLine" : 54,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 29
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openrouter-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openrouter/OpenRouterParams.kt",
        "extension" : "kt",
        "linesOfCode" : 197,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 177,
      "startLine" : 52,
      "endLine" : 65,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 28
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/commonTest/kotlin/ai/koog/prompt/executor/clients/google/structure/GoogleStandardJsonSchemaGeneratorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 323,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 297,
      "startLine" : 147,
      "endLine" : 160,
      "cleanedStartLine" : 117,
      "cleanedEndLine" : 130
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/commonTest/kotlin/ai/koog/prompt/executor/clients/google/structure/GoogleStandardJsonSchemaGeneratorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 323,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 297,
      "startLine" : 215,
      "endLine" : 228,
      "cleanedStartLine" : 183,
      "cleanedEndLine" : 196
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-llms/src/jvmTest/java/ai/koog/prompt/executor/llms/ExecutorsTest.java",
        "extension" : "java",
        "linesOfCode" : 100,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 71,
      "startLine" : 59,
      "endLine" : 81,
      "cleanedStartLine" : 24,
      "cleanedEndLine" : 37
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-llms/src/jvmTest/java/ai/koog/prompt/executor/llms/ExecutorsTest.java",
        "extension" : "java",
        "linesOfCode" : 100,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 71,
      "startLine" : 100,
      "endLine" : 122,
      "cleanedStartLine" : 53,
      "cleanedEndLine" : 66
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/commonTest/kotlin/ai/koog/prompt/executor/clients/google/structure/GoogleStandardJsonSchemaGeneratorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 323,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 297,
      "startLine" : 147,
      "endLine" : 160,
      "cleanedStartLine" : 117,
      "cleanedEndLine" : 130
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/commonTest/kotlin/ai/koog/prompt/executor/clients/google/structure/GoogleStandardJsonSchemaGeneratorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 323,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 297,
      "startLine" : 181,
      "endLine" : 194,
      "cleanedStartLine" : 150,
      "cleanedEndLine" : 163
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageFileWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 509,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 418,
      "startLine" : 544,
      "endLine" : 557,
      "cleanedStartLine" : 384,
      "cleanedEndLine" : 397
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageFileWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 509,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 418,
      "startLine" : 560,
      "endLine" : 573,
      "cleanedStartLine" : 400,
      "cleanedEndLine" : 413
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerTestAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 281,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 212,
      "startLine" : 180,
      "endLine" : 193,
      "cleanedStartLine" : 98,
      "cleanedEndLine" : 111
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageRemoteWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 816,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 671,
      "startLine" : 408,
      "endLine" : 421,
      "cleanedStartLine" : 249,
      "cleanedEndLine" : 262
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/commonTest/kotlin/ai/koog/prompt/executor/clients/google/structure/GoogleStandardJsonSchemaGeneratorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 323,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 297,
      "startLine" : 147,
      "endLine" : 160,
      "cleanedStartLine" : 117,
      "cleanedEndLine" : 130
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client-base/src/commonTest/kotlin/ai/koog/prompt/executor/clients/openai/structure/OpenAIStandardJsonSchemaGeneratorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 375,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 342,
      "startLine" : 216,
      "endLine" : 229,
      "cleanedStartLine" : 183,
      "cleanedEndLine" : 196
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/commonTest/kotlin/ai/koog/prompt/executor/clients/google/structure/GoogleStandardJsonSchemaGeneratorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 323,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 297,
      "startLine" : 147,
      "endLine" : 160,
      "cleanedStartLine" : 117,
      "cleanedEndLine" : 130
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client-base/src/commonTest/kotlin/ai/koog/prompt/executor/clients/openai/structure/OpenAIStandardJsonSchemaGeneratorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 375,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 342,
      "startLine" : 182,
      "endLine" : 195,
      "cleanedStartLine" : 150,
      "cleanedEndLine" : 163
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-deepseek-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/deepseek/DeepSeekParams.kt",
        "extension" : "kt",
        "linesOfCode" : 143,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 158,
      "endLine" : 171,
      "cleanedStartLine" : 114,
      "cleanedEndLine" : 127
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openrouter-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openrouter/OpenRouterParams.kt",
        "extension" : "kt",
        "linesOfCode" : 197,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 177,
      "startLine" : 215,
      "endLine" : 228,
      "cleanedStartLine" : 155,
      "cleanedEndLine" : 168
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-deepseek-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/deepseek/DeepSeekParams.kt",
        "extension" : "kt",
        "linesOfCode" : 143,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 111,
      "endLine" : 124,
      "cleanedStartLine" : 72,
      "cleanedEndLine" : 85
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openrouter-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openrouter/OpenRouterParams.kt",
        "extension" : "kt",
        "linesOfCode" : 197,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 177,
      "startLine" : 150,
      "endLine" : 163,
      "cleanedStartLine" : 95,
      "cleanedEndLine" : 108
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageTestWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 623,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 501,
      "startLine" : 206,
      "endLine" : 224,
      "cleanedStartLine" : 106,
      "cleanedEndLine" : 119
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageTestWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 623,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 501,
      "startLine" : 245,
      "endLine" : 263,
      "cleanedStartLine" : 134,
      "cleanedEndLine" : 147
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-test/src/commonMain/kotlin/ai/koog/agents/testing/tools/MockLLMBuilder.kt",
        "extension" : "kt",
        "linesOfCode" : 495,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 414,
      "startLine" : 239,
      "endLine" : 262,
      "cleanedStartLine" : 82,
      "cleanedEndLine" : 95
    }, {
      "file" : {
        "relativePath" : "agents/agents-test/src/commonMain/kotlin/ai/koog/agents/testing/tools/MockLLMBuilder.kt",
        "extension" : "kt",
        "linesOfCode" : 495,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 414,
      "startLine" : 266,
      "endLine" : 291,
      "cleanedStartLine" : 99,
      "cleanedEndLine" : 112
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-structure/src/commonTest/kotlin/ai/koog/prompt/structure/json/generator/JsonSchemaGeneratorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 819,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 713,
      "startLine" : 478,
      "endLine" : 492,
      "cleanedStartLine" : 380,
      "cleanedEndLine" : 393
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-structure/src/commonTest/kotlin/ai/koog/prompt/structure/json/generator/JsonSchemaGeneratorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 819,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 713,
      "startLine" : 602,
      "endLine" : 616,
      "cleanedStartLine" : 491,
      "cleanedEndLine" : 504
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-structure/src/commonTest/kotlin/ai/koog/prompt/structure/json/generator/JsonSchemaGeneratorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 819,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 713,
      "startLine" : 478,
      "endLine" : 492,
      "cleanedStartLine" : 380,
      "cleanedEndLine" : 393
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-structure/src/commonTest/kotlin/ai/koog/prompt/structure/json/generator/JsonSchemaGeneratorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 819,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 713,
      "startLine" : 580,
      "endLine" : 594,
      "cleanedStartLine" : 470,
      "cleanedEndLine" : 483
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/AIAgentSimpleStrategies.kt",
        "extension" : "kt",
        "linesOfCode" : 57,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 39,
      "startLine" : 47,
      "endLine" : 63,
      "cleanedStartLine" : 12,
      "cleanedEndLine" : 25
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryExecuteToolSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 184,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 154,
      "startLine" : 121,
      "endLine" : 134,
      "cleanedStartLine" : 79,
      "cleanedEndLine" : 92
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/feature/AIAgentFeatureTestAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 395,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 341,
      "startLine" : 319,
      "endLine" : 332,
      "cleanedStartLine" : 241,
      "cleanedEndLine" : 254
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/feature/AIAgentFeatureTestAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 395,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 341,
      "startLine" : 338,
      "endLine" : 351,
      "cleanedStartLine" : 259,
      "cleanedEndLine" : 272
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageFileWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 509,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 418,
      "startLine" : 250,
      "endLine" : 263,
      "cleanedStartLine" : 159,
      "cleanedEndLine" : 172
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageFileWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 509,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 418,
      "startLine" : 266,
      "endLine" : 279,
      "cleanedStartLine" : 175,
      "cleanedEndLine" : 188
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageLogWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 480,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 396,
      "startLine" : 514,
      "endLine" : 527,
      "cleanedStartLine" : 362,
      "cleanedEndLine" : 375
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageLogWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 480,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 396,
      "startLine" : 530,
      "endLine" : 543,
      "cleanedStartLine" : 378,
      "cleanedEndLine" : 391
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/feature/AIAgentFeatureTestAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 395,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 341,
      "startLine" : 319,
      "endLine" : 332,
      "cleanedStartLine" : 241,
      "cleanedEndLine" : 254
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/feature/AIAgentFeatureTestAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 395,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 341,
      "startLine" : 357,
      "endLine" : 370,
      "cleanedStartLine" : 277,
      "cleanedEndLine" : 290
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageLogWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 480,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 396,
      "startLine" : 173,
      "endLine" : 186,
      "cleanedStartLine" : 91,
      "cleanedEndLine" : 104
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageLogWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 480,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 396,
      "startLine" : 499,
      "endLine" : 512,
      "cleanedStartLine" : 347,
      "cleanedEndLine" : 360
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageFileWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 509,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 418,
      "startLine" : 250,
      "endLine" : 263,
      "cleanedStartLine" : 159,
      "cleanedEndLine" : 172
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageFileWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 509,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 418,
      "startLine" : 560,
      "endLine" : 573,
      "cleanedStartLine" : 400,
      "cleanedEndLine" : 413
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/feature/AIAgentFeatureTestAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 395,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 341,
      "startLine" : 276,
      "endLine" : 289,
      "cleanedStartLine" : 200,
      "cleanedEndLine" : 213
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/feature/AIAgentFeatureTestAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 395,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 341,
      "startLine" : 295,
      "endLine" : 308,
      "cleanedStartLine" : 218,
      "cleanedEndLine" : 231
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/feature/AIAgentFeatureTestAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 395,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 341,
      "startLine" : 276,
      "endLine" : 289,
      "cleanedStartLine" : 200,
      "cleanedEndLine" : 213
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/feature/AIAgentFeatureTestAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 395,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 341,
      "startLine" : 357,
      "endLine" : 370,
      "cleanedStartLine" : 277,
      "cleanedEndLine" : 290
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/feature/AIAgentFeatureTestAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 395,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 341,
      "startLine" : 276,
      "endLine" : 289,
      "cleanedStartLine" : 200,
      "cleanedEndLine" : 213
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/feature/AIAgentFeatureTestAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 395,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 341,
      "startLine" : 338,
      "endLine" : 351,
      "cleanedStartLine" : 259,
      "cleanedEndLine" : 272
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/test-python-a2a-server/src/agent_executor.py",
        "extension" : "py",
        "linesOfCode" : 160,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 154,
      "startLine" : 94,
      "endLine" : 109,
      "cleanedStartLine" : 70,
      "cleanedEndLine" : 83
    }, {
      "file" : {
        "relativePath" : "a2a/test-python-a2a-server/src/agent_executor.py",
        "extension" : "py",
        "linesOfCode" : 160,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 154,
      "startLine" : 113,
      "endLine" : 129,
      "cleanedStartLine" : 85,
      "cleanedEndLine" : 98
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageLogWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 480,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 396,
      "startLine" : 228,
      "endLine" : 241,
      "cleanedStartLine" : 146,
      "cleanedEndLine" : 159
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageLogWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 480,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 396,
      "startLine" : 530,
      "endLine" : 543,
      "cleanedStartLine" : 378,
      "cleanedEndLine" : 391
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/src/jvmTest/kotlin/dashscope/DashscopeLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 255,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 196,
      "startLine" : 157,
      "endLine" : 173,
      "cleanedStartLine" : 96,
      "cleanedEndLine" : 109
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-deepseek-client/src/jvmTest/kotlin/deepseek/DeepSeekLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 247,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 191,
      "startLine" : 155,
      "endLine" : 171,
      "cleanedStartLine" : 96,
      "cleanedEndLine" : 109
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/span/SpanCollectorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 437,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 399,
      "startLine" : 49,
      "endLine" : 63,
      "cleanedStartLine" : 25,
      "cleanedEndLine" : 38
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/span/SpanCollectorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 437,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 399,
      "startLine" : 83,
      "endLine" : 99,
      "cleanedStartLine" : 51,
      "cleanedEndLine" : 64
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/weave/WeaveTraceStructureTest.kt",
        "extension" : "kt",
        "linesOfCode" : 270,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 257,
      "startLine" : 46,
      "endLine" : 59,
      "cleanedStartLine" : 31,
      "cleanedEndLine" : 44
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/weave/WeaveTraceStructureTest.kt",
        "extension" : "kt",
        "linesOfCode" : 270,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 257,
      "startLine" : 114,
      "endLine" : 127,
      "cleanedStartLine" : 94,
      "cleanedEndLine" : 107
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/AIAgentHelper.kt",
        "extension" : "kt",
        "linesOfCode" : 190,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 171,
      "startLine" : 225,
      "endLine" : 238,
      "cleanedStartLine" : 123,
      "cleanedEndLine" : 136
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/AIAgentHelper.kt",
        "extension" : "kt",
        "linesOfCode" : 190,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 171,
      "startLine" : 274,
      "endLine" : 287,
      "cleanedStartLine" : 154,
      "cleanedEndLine" : 167
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 30,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 20,
      "startLine" : 3,
      "endLine" : 22,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 14
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 29,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 19,
      "startLine" : 3,
      "endLine" : 22,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 14
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageLogWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 480,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 396,
      "startLine" : 228,
      "endLine" : 241,
      "cleanedStartLine" : 146,
      "cleanedEndLine" : 159
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageLogWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 480,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 396,
      "startLine" : 244,
      "endLine" : 257,
      "cleanedStartLine" : 162,
      "cleanedEndLine" : 175
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-ollama-client/src/commonTest/kotlin/ai/koog/prompt/executor/ollama/client/dto/OllamaSerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 154,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 131,
      "startLine" : 86,
      "endLine" : 99,
      "cleanedStartLine" : 53,
      "cleanedEndLine" : 66
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-ollama-client/src/commonTest/kotlin/ai/koog/prompt/executor/ollama/client/dto/OllamaSerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 154,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 131,
      "startLine" : 111,
      "endLine" : 124,
      "cleanedStartLine" : 73,
      "cleanedEndLine" : 86
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 30,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 20,
      "startLine" : 3,
      "endLine" : 22,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 14
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openrouter-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 25,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 17,
      "startLine" : 3,
      "endLine" : 22,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 14
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/SubgraphWithTaskTest.kt",
        "extension" : "kt",
        "linesOfCode" : 603,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 509,
      "startLine" : 170,
      "endLine" : 188,
      "cleanedStartLine" : 95,
      "cleanedEndLine" : 108
    }, {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/SubgraphWithTaskTest.kt",
        "extension" : "kt",
        "linesOfCode" : 603,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 509,
      "startLine" : 259,
      "endLine" : 281,
      "cleanedStartLine" : 157,
      "cleanedEndLine" : 170
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/feature/remote/client/FeatureMessageRemoteClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 388,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 293,
      "startLine" : 48,
      "endLine" : 67,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 21
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/feature/remote/client/FeatureMessageRemoteClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 388,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 293,
      "startLine" : 92,
      "endLine" : 111,
      "cleanedStartLine" : 35,
      "cleanedEndLine" : 48
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 381,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 343,
      "startLine" : 101,
      "endLine" : 115,
      "cleanedStartLine" : 51,
      "cleanedEndLine" : 64
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 381,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 343,
      "startLine" : 323,
      "endLine" : 337,
      "cleanedStartLine" : 212,
      "cleanedEndLine" : 225
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openrouter-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/openrouter/models/OpenRouterSerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 670,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 554,
      "startLine" : 613,
      "endLine" : 626,
      "cleanedStartLine" : 439,
      "cleanedEndLine" : 452
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openrouter-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/openrouter/models/OpenRouterSerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 670,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 554,
      "startLine" : 668,
      "endLine" : 681,
      "cleanedStartLine" : 486,
      "cleanedEndLine" : 499
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/SubgraphWithTaskTest.kt",
        "extension" : "kt",
        "linesOfCode" : 603,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 509,
      "startLine" : 170,
      "endLine" : 188,
      "cleanedStartLine" : 95,
      "cleanedEndLine" : 108
    }, {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/SubgraphWithTaskTest.kt",
        "extension" : "kt",
        "linesOfCode" : 603,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 509,
      "startLine" : 604,
      "endLine" : 622,
      "cleanedStartLine" : 396,
      "cleanedEndLine" : 409
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/SubgraphWithTaskTest.kt",
        "extension" : "kt",
        "linesOfCode" : 603,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 509,
      "startLine" : 170,
      "endLine" : 188,
      "cleanedStartLine" : 95,
      "cleanedEndLine" : 108
    }, {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/SubgraphWithTaskTest.kt",
        "extension" : "kt",
        "linesOfCode" : 603,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 509,
      "startLine" : 527,
      "endLine" : 545,
      "cleanedStartLine" : 341,
      "cleanedEndLine" : 354
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/span/SpanCollectorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 437,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 399,
      "startLine" : 29,
      "endLine" : 44,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 22
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/span/SpanCollectorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 437,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 399,
      "startLine" : 49,
      "endLine" : 63,
      "cleanedStartLine" : 25,
      "cleanedEndLine" : 38
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/AIAgentHelper.kt",
        "extension" : "kt",
        "linesOfCode" : 190,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 171,
      "startLine" : 274,
      "endLine" : 287,
      "cleanedStartLine" : 154,
      "cleanedEndLine" : 167
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/AIAgentServiceHelper.kt",
        "extension" : "kt",
        "linesOfCode" : 101,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 89,
      "startLine" : 107,
      "endLine" : 120,
      "cleanedStartLine" : 59,
      "cleanedEndLine" : 72
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/span/SpanCollectorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 437,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 399,
      "startLine" : 29,
      "endLine" : 44,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 22
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/span/SpanCollectorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 437,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 399,
      "startLine" : 83,
      "endLine" : 99,
      "cleanedStartLine" : 51,
      "cleanedEndLine" : 64
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/commonTest/kotlin/ai/koog/prompt/executor/clients/google/structure/GoogleSimpleJsonSchemaGeneratorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 147,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 130,
      "startLine" : 98,
      "endLine" : 112,
      "cleanedStartLine" : 76,
      "cleanedEndLine" : 89
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client-base/src/commonTest/kotlin/ai/koog/prompt/executor/clients/openai/structure/OpenAIStandardJsonSchemaGeneratorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 375,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 342,
      "startLine" : 130,
      "endLine" : 144,
      "cleanedStartLine" : 100,
      "cleanedEndLine" : 113
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/dsl/builder/AIAgentParallelNodesMergeContext.kt",
        "extension" : "kt",
        "linesOfCode" : 96,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 75,
      "startLine" : 67,
      "endLine" : 80,
      "cleanedStartLine" : 27,
      "cleanedEndLine" : 40
    }, {
      "file" : {
        "relativePath" : "agents/agents-test/src/commonMain/kotlin/ai/koog/agents/testing/tools/DummyAIAgentContext.kt",
        "extension" : "kt",
        "linesOfCode" : 208,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 169,
      "startLine" : 142,
      "endLine" : 155,
      "cleanedStartLine" : 57,
      "cleanedEndLine" : 70
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 130,
      "endLine" : 143,
      "cleanedStartLine" : 40,
      "cleanedEndLine" : 53
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 227,
      "endLine" : 240,
      "cleanedStartLine" : 103,
      "cleanedEndLine" : 116
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-structure/src/commonTest/kotlin/ai/koog/prompt/structure/json/generator/JsonSchemaGeneratorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 819,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 713,
      "startLine" : 559,
      "endLine" : 573,
      "cleanedStartLine" : 450,
      "cleanedEndLine" : 463
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-structure/src/commonTest/kotlin/ai/koog/prompt/structure/json/generator/JsonSchemaGeneratorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 819,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 713,
      "startLine" : 580,
      "endLine" : 594,
      "cleanedStartLine" : 470,
      "cleanedEndLine" : 483
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-structure/src/commonTest/kotlin/ai/koog/prompt/structure/json/generator/JsonSchemaGeneratorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 819,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 713,
      "startLine" : 559,
      "endLine" : 573,
      "cleanedStartLine" : 450,
      "cleanedEndLine" : 463
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-structure/src/commonTest/kotlin/ai/koog/prompt/structure/json/generator/JsonSchemaGeneratorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 819,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 713,
      "startLine" : 602,
      "endLine" : 616,
      "cleanedStartLine" : 491,
      "cleanedEndLine" : 504
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-deepseek-client/src/jvmTest/kotlin/deepseek/DeepSeekLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 247,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 191,
      "startLine" : 49,
      "endLine" : 69,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 28
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/mistralai/MistralAILLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 295,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 232,
      "startLine" : 47,
      "endLine" : 67,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 28
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/AIAgentHelper.kt",
        "extension" : "kt",
        "linesOfCode" : 190,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 171,
      "startLine" : 169,
      "endLine" : 182,
      "cleanedStartLine" : 86,
      "cleanedEndLine" : 99
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/AIAgentHelper.kt",
        "extension" : "kt",
        "linesOfCode" : 190,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 171,
      "startLine" : 274,
      "endLine" : 287,
      "cleanedStartLine" : 154,
      "cleanedEndLine" : 167
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/SubgraphWithTaskTest.kt",
        "extension" : "kt",
        "linesOfCode" : 603,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 509,
      "startLine" : 134,
      "endLine" : 152,
      "cleanedStartLine" : 71,
      "cleanedEndLine" : 84
    }, {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/SubgraphWithTaskTest.kt",
        "extension" : "kt",
        "linesOfCode" : 603,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 509,
      "startLine" : 491,
      "endLine" : 509,
      "cleanedStartLine" : 317,
      "cleanedEndLine" : 330
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/feature/AIAgentFeatureTestAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 395,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 341,
      "startLine" : 338,
      "endLine" : 351,
      "cleanedStartLine" : 259,
      "cleanedEndLine" : 272
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/feature/AIAgentFeatureTestAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 395,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 341,
      "startLine" : 357,
      "endLine" : 370,
      "cleanedStartLine" : 277,
      "cleanedEndLine" : 290
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/feature/AIAgentFeatureTestAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 395,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 341,
      "startLine" : 338,
      "endLine" : 351,
      "cleanedStartLine" : 259,
      "cleanedEndLine" : 272
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/feature/AIAgentFeatureTestAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 395,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 341,
      "startLine" : 380,
      "endLine" : 393,
      "cleanedStartLine" : 299,
      "cleanedEndLine" : 312
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/dashscope/DashscopeParams.kt",
        "extension" : "kt",
        "linesOfCode" : 159,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 144,
      "startLine" : 61,
      "endLine" : 73,
      "cleanedStartLine" : 33,
      "cleanedEndLine" : 45
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/mistralai/MistralAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 145,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 133,
      "startLine" : 63,
      "endLine" : 75,
      "cleanedStartLine" : 31,
      "cleanedEndLine" : 43
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-test/src/commonMain/kotlin/ai/koog/agents/testing/tools/MockLLMBuilder.kt",
        "extension" : "kt",
        "linesOfCode" : 495,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 414,
      "startLine" : 211,
      "endLine" : 223,
      "cleanedStartLine" : 64,
      "cleanedEndLine" : 76
    }, {
      "file" : {
        "relativePath" : "agents/agents-test/src/commonMain/kotlin/ai/koog/agents/testing/tools/MockLLMBuilder.kt",
        "extension" : "kt",
        "linesOfCode" : 495,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 414,
      "startLine" : 329,
      "endLine" : 341,
      "cleanedStartLine" : 136,
      "cleanedEndLine" : 148
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/appleMain/kotlin/ai/koog/agents/core/agent/context/AIAgentFunctionalContext.kt",
        "extension" : "kt",
        "linesOfCode" : 100,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 87,
      "startLine" : 37,
      "endLine" : 49,
      "cleanedStartLine" : 21,
      "cleanedEndLine" : 33
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jsMain/kotlin/ai/koog/agents/core/agent/context/AIAgentFunctionalContext.kt",
        "extension" : "kt",
        "linesOfCode" : 100,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 87,
      "startLine" : 91,
      "endLine" : 103,
      "cleanedStartLine" : 72,
      "cleanedEndLine" : 84
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/androidMain/kotlin/ai/koog/agents/core/agent/context/AIAgentFunctionalContext.kt",
        "extension" : "kt",
        "linesOfCode" : 100,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 87,
      "startLine" : 37,
      "endLine" : 49,
      "cleanedStartLine" : 21,
      "cleanedEndLine" : 33
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmMain/kotlin/ai/koog/agents/core/agent/context/AIAgentFunctionalContext.kt",
        "extension" : "kt",
        "linesOfCode" : 302,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 250,
      "startLine" : 115,
      "endLine" : 127,
      "cleanedStartLine" : 77,
      "cleanedEndLine" : 89
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmMain/kotlin/ai/koog/agents/core/agent/context/AIAgentFunctionalContext.kt",
        "extension" : "kt",
        "linesOfCode" : 302,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 250,
      "startLine" : 115,
      "endLine" : 127,
      "cleanedStartLine" : 77,
      "cleanedEndLine" : 89
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/wasmJsMain/kotlin/ai/koog/agents/core/agent/context/AIAgentFunctionalContext.kt",
        "extension" : "kt",
        "linesOfCode" : 100,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 87,
      "startLine" : 37,
      "endLine" : 49,
      "cleanedStartLine" : 21,
      "cleanedEndLine" : 33
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/androidMain/kotlin/ai/koog/agents/core/agent/context/AIAgentFunctionalContext.kt",
        "extension" : "kt",
        "linesOfCode" : 100,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 87,
      "startLine" : 37,
      "endLine" : 49,
      "cleanedStartLine" : 21,
      "cleanedEndLine" : 33
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jsMain/kotlin/ai/koog/agents/core/agent/context/AIAgentFunctionalContext.kt",
        "extension" : "kt",
        "linesOfCode" : 100,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 87,
      "startLine" : 91,
      "endLine" : 103,
      "cleanedStartLine" : 72,
      "cleanedEndLine" : 84
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageRemoteWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 816,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 671,
      "startLine" : 253,
      "endLine" : 267,
      "cleanedStartLine" : 121,
      "cleanedEndLine" : 133
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageRemoteWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 816,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 671,
      "startLine" : 821,
      "endLine" : 835,
      "cleanedStartLine" : 585,
      "cleanedEndLine" : 597
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/androidMain/kotlin/ai/koog/agents/core/agent/context/AIAgentFunctionalContext.kt",
        "extension" : "kt",
        "linesOfCode" : 100,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 87,
      "startLine" : 91,
      "endLine" : 103,
      "cleanedStartLine" : 72,
      "cleanedEndLine" : 84
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/appleMain/kotlin/ai/koog/agents/core/agent/context/AIAgentFunctionalContext.kt",
        "extension" : "kt",
        "linesOfCode" : 100,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 87,
      "startLine" : 37,
      "endLine" : 49,
      "cleanedStartLine" : 21,
      "cleanedEndLine" : 33
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-sql/src/jvmTest/kotlin/ai/koog/agents/features/sql/providers/MySQLPersistencyStorageProviderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 106,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 76,
      "startLine" : 121,
      "endLine" : 133,
      "cleanedStartLine" : 64,
      "cleanedEndLine" : 76
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-sql/src/jvmTest/kotlin/ai/koog/agents/features/sql/providers/SQLPersistenceProvidersTest.kt",
        "extension" : "kt",
        "linesOfCode" : 129,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 107,
      "startLine" : 161,
      "endLine" : 173,
      "cleanedStartLine" : 95,
      "cleanedEndLine" : 107
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jsMain/kotlin/ai/koog/agents/core/agent/context/AIAgentFunctionalContext.kt",
        "extension" : "kt",
        "linesOfCode" : 100,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 87,
      "startLine" : 91,
      "endLine" : 103,
      "cleanedStartLine" : 72,
      "cleanedEndLine" : 84
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/wasmJsMain/kotlin/ai/koog/agents/core/agent/context/AIAgentFunctionalContext.kt",
        "extension" : "kt",
        "linesOfCode" : 100,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 87,
      "startLine" : 37,
      "endLine" : 49,
      "cleanedStartLine" : 21,
      "cleanedEndLine" : 33
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/mistralai/MistralAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 145,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 133,
      "startLine" : 85,
      "endLine" : 103,
      "cleanedStartLine" : 48,
      "cleanedEndLine" : 60
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openrouter-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openrouter/OpenRouterParams.kt",
        "extension" : "kt",
        "linesOfCode" : 197,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 177,
      "startLine" : 116,
      "endLine" : 134,
      "cleanedStartLine" : 67,
      "cleanedEndLine" : 79
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryInferenceSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 556,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 517,
      "startLine" : 215,
      "endLine" : 227,
      "cleanedStartLine" : 163,
      "cleanedEndLine" : 175
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryInferenceSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 556,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 517,
      "startLine" : 466,
      "endLine" : 478,
      "cleanedStartLine" : 382,
      "cleanedEndLine" : 394
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/commonTest/kotlin/ai/koog/prompt/executor/clients/google/structure/GoogleSimpleJsonSchemaGeneratorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 147,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 130,
      "startLine" : 128,
      "endLine" : 141,
      "cleanedStartLine" : 105,
      "cleanedEndLine" : 117
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client-base/src/commonTest/kotlin/ai/koog/prompt/executor/clients/openai/structure/OpenAIStandardJsonSchemaGeneratorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 375,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 342,
      "startLine" : 255,
      "endLine" : 268,
      "cleanedStartLine" : 221,
      "cleanedEndLine" : 233
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/appleMain/kotlin/ai/koog/agents/core/agent/context/AIAgentFunctionalContext.kt",
        "extension" : "kt",
        "linesOfCode" : 100,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 87,
      "startLine" : 91,
      "endLine" : 103,
      "cleanedStartLine" : 72,
      "cleanedEndLine" : 84
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/wasmJsMain/kotlin/ai/koog/agents/core/agent/context/AIAgentFunctionalContext.kt",
        "extension" : "kt",
        "linesOfCode" : 100,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 87,
      "startLine" : 37,
      "endLine" : 49,
      "cleanedStartLine" : 21,
      "cleanedEndLine" : 33
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/androidMain/kotlin/ai/koog/agents/core/agent/context/AIAgentFunctionalContext.kt",
        "extension" : "kt",
        "linesOfCode" : 100,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 87,
      "startLine" : 37,
      "endLine" : 49,
      "cleanedStartLine" : 21,
      "cleanedEndLine" : 33
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/appleMain/kotlin/ai/koog/agents/core/agent/context/AIAgentFunctionalContext.kt",
        "extension" : "kt",
        "linesOfCode" : 100,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 87,
      "startLine" : 91,
      "endLine" : 103,
      "cleanedStartLine" : 72,
      "cleanedEndLine" : 84
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/environment/SafeToolTest.kt",
        "extension" : "kt",
        "linesOfCode" : 287,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 239,
      "startLine" : 212,
      "endLine" : 227,
      "cleanedStartLine" : 142,
      "cleanedEndLine" : 154
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/environment/SafeToolTest.kt",
        "extension" : "kt",
        "linesOfCode" : 287,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 239,
      "startLine" : 310,
      "endLine" : 325,
      "cleanedStartLine" : 215,
      "cleanedEndLine" : 227
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/androidMain/kotlin/ai/koog/agents/core/agent/context/AIAgentFunctionalContext.kt",
        "extension" : "kt",
        "linesOfCode" : 100,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 87,
      "startLine" : 91,
      "endLine" : 103,
      "cleanedStartLine" : 72,
      "cleanedEndLine" : 84
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jsMain/kotlin/ai/koog/agents/core/agent/context/AIAgentFunctionalContext.kt",
        "extension" : "kt",
        "linesOfCode" : 100,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 87,
      "startLine" : 37,
      "endLine" : 49,
      "cleanedStartLine" : 21,
      "cleanedEndLine" : 33
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/dashscope/DashscopeParams.kt",
        "extension" : "kt",
        "linesOfCode" : 159,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 144,
      "startLine" : 91,
      "endLine" : 109,
      "cleanedStartLine" : 55,
      "cleanedEndLine" : 67
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 381,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 343,
      "startLine" : 141,
      "endLine" : 159,
      "cleanedStartLine" : 76,
      "cleanedEndLine" : 88
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-structure/src/commonTest/kotlin/ai/koog/prompt/structure/json/generator/JsonSchemaGeneratorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 819,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 713,
      "startLine" : 190,
      "endLine" : 202,
      "cleanedStartLine" : 146,
      "cleanedEndLine" : 158
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-structure/src/commonTest/kotlin/ai/koog/prompt/structure/json/generator/JsonSchemaGeneratorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 819,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 713,
      "startLine" : 244,
      "endLine" : 256,
      "cleanedStartLine" : 190,
      "cleanedEndLine" : 202
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/androidMain/kotlin/ai/koog/agents/core/agent/context/AIAgentFunctionalContext.kt",
        "extension" : "kt",
        "linesOfCode" : 100,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 87,
      "startLine" : 37,
      "endLine" : 49,
      "cleanedStartLine" : 21,
      "cleanedEndLine" : 33
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/androidMain/kotlin/ai/koog/agents/core/agent/context/AIAgentFunctionalContext.kt",
        "extension" : "kt",
        "linesOfCode" : 100,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 87,
      "startLine" : 91,
      "endLine" : 103,
      "cleanedStartLine" : 72,
      "cleanedEndLine" : 84
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmMain/kotlin/ai/koog/agents/core/agent/context/AIAgentFunctionalContext.kt",
        "extension" : "kt",
        "linesOfCode" : 302,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 250,
      "startLine" : 58,
      "endLine" : 70,
      "cleanedStartLine" : 23,
      "cleanedEndLine" : 35
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/wasmJsMain/kotlin/ai/koog/agents/core/agent/context/AIAgentFunctionalContext.kt",
        "extension" : "kt",
        "linesOfCode" : 100,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 87,
      "startLine" : 91,
      "endLine" : 103,
      "cleanedStartLine" : 72,
      "cleanedEndLine" : 84
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerTest.kt",
        "extension" : "kt",
        "linesOfCode" : 521,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 437,
      "startLine" : 253,
      "endLine" : 265,
      "cleanedStartLine" : 137,
      "cleanedEndLine" : 149
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageRemoteWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 816,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 671,
      "startLine" : 360,
      "endLine" : 372,
      "cleanedStartLine" : 201,
      "cleanedEndLine" : 213
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageFileWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 509,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 418,
      "startLine" : 499,
      "endLine" : 511,
      "cleanedStartLine" : 345,
      "cleanedEndLine" : 357
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageRemoteWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 816,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 671,
      "startLine" : 824,
      "endLine" : 836,
      "cleanedStartLine" : 586,
      "cleanedEndLine" : 598
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/google/GoogleLLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 653,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 482,
      "startLine" : 212,
      "endLine" : 227,
      "cleanedStartLine" : 89,
      "cleanedEndLine" : 101
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client-base/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/base/AbstractOpenAILLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 412,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 304,
      "startLine" : 208,
      "endLine" : 224,
      "cleanedStartLine" : 87,
      "cleanedEndLine" : 99
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jsMain/kotlin/ai/koog/agents/core/agent/context/AIAgentFunctionalContext.kt",
        "extension" : "kt",
        "linesOfCode" : 100,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 87,
      "startLine" : 37,
      "endLine" : 49,
      "cleanedStartLine" : 21,
      "cleanedEndLine" : 33
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/wasmJsMain/kotlin/ai/koog/agents/core/agent/context/AIAgentFunctionalContext.kt",
        "extension" : "kt",
        "linesOfCode" : 100,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 87,
      "startLine" : 91,
      "endLine" : 103,
      "cleanedStartLine" : 72,
      "cleanedEndLine" : 84
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-deepseek-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/deepseek/DeepSeekParams.kt",
        "extension" : "kt",
        "linesOfCode" : 143,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 55,
      "endLine" : 67,
      "cleanedStartLine" : 30,
      "cleanedEndLine" : 42
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/mistralai/MistralAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 145,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 133,
      "startLine" : 63,
      "endLine" : 75,
      "cleanedStartLine" : 31,
      "cleanedEndLine" : 43
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/SubgraphCheckpointsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 183,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 146,
      "startLine" : 95,
      "endLine" : 111,
      "cleanedStartLine" : 60,
      "cleanedEndLine" : 72
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/SubgraphCheckpointsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 183,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 146,
      "startLine" : 123,
      "endLine" : 139,
      "cleanedStartLine" : 82,
      "cleanedEndLine" : 94
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/wasmJsMain/kotlin/ai/koog/agents/core/agent/context/AIAgentFunctionalContext.kt",
        "extension" : "kt",
        "linesOfCode" : 100,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 87,
      "startLine" : 37,
      "endLine" : 49,
      "cleanedStartLine" : 21,
      "cleanedEndLine" : 33
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/wasmJsMain/kotlin/ai/koog/agents/core/agent/context/AIAgentFunctionalContext.kt",
        "extension" : "kt",
        "linesOfCode" : 100,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 87,
      "startLine" : 91,
      "endLine" : 103,
      "cleanedStartLine" : 72,
      "cleanedEndLine" : 84
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/commonTest/kotlin/ai/koog/prompt/executor/clients/google/structure/GoogleSimpleJsonSchemaGeneratorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 147,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 130,
      "startLine" : 128,
      "endLine" : 141,
      "cleanedStartLine" : 105,
      "cleanedEndLine" : 117
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/commonTest/kotlin/ai/koog/prompt/executor/clients/google/structure/GoogleStandardJsonSchemaGeneratorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 323,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 297,
      "startLine" : 254,
      "endLine" : 267,
      "cleanedStartLine" : 221,
      "cleanedEndLine" : 233
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/google/GoogleLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 480,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 432,
      "startLine" : 78,
      "endLine" : 92,
      "cleanedStartLine" : 42,
      "cleanedEndLine" : 54
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/google/GoogleLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 480,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 432,
      "startLine" : 192,
      "endLine" : 206,
      "cleanedStartLine" : 137,
      "cleanedEndLine" : 149
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageFileWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 509,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 418,
      "startLine" : 195,
      "endLine" : 207,
      "cleanedStartLine" : 104,
      "cleanedEndLine" : 116
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageFileWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 509,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 418,
      "startLine" : 529,
      "endLine" : 541,
      "cleanedStartLine" : 369,
      "cleanedEndLine" : 381
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/SubgraphSetExecutionPointTest.kt",
        "extension" : "kt",
        "linesOfCode" : 176,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 143,
      "startLine" : 137,
      "endLine" : 152,
      "cleanedStartLine" : 101,
      "cleanedEndLine" : 113
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/SubgraphSetExecutionPointTest.kt",
        "extension" : "kt",
        "linesOfCode" : 176,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 143,
      "startLine" : 164,
      "endLine" : 179,
      "cleanedStartLine" : 123,
      "cleanedEndLine" : 135
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageLogWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 480,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 396,
      "startLine" : 469,
      "endLine" : 481,
      "cleanedStartLine" : 323,
      "cleanedEndLine" : 335
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageRemoteWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 816,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 671,
      "startLine" : 824,
      "endLine" : 836,
      "cleanedStartLine" : 586,
      "cleanedEndLine" : 598
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/AIAgentBuilder.kt",
        "extension" : "kt",
        "linesOfCode" : 218,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 168,
      "startLine" : 339,
      "endLine" : 351,
      "cleanedStartLine" : 96,
      "cleanedEndLine" : 108
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/AIAgentBuilder.kt",
        "extension" : "kt",
        "linesOfCode" : 218,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 168,
      "startLine" : 534,
      "endLine" : 546,
      "cleanedStartLine" : 156,
      "cleanedEndLine" : 168
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/dsl/extension/AIAgentNodesHistoryCompressionTest.kt",
        "extension" : "kt",
        "linesOfCode" : 151,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 117,
      "startLine" : 59,
      "endLine" : 76,
      "cleanedStartLine" : 24,
      "cleanedEndLine" : 36
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/dsl/extension/AIAgentNodesTest.kt",
        "extension" : "kt",
        "linesOfCode" : 199,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 155,
      "startLine" : 52,
      "endLine" : 69,
      "cleanedStartLine" : 21,
      "cleanedEndLine" : 33
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryNodeExecuteSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 307,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 276,
      "startLine" : 320,
      "endLine" : 332,
      "cleanedStartLine" : 251,
      "cleanedEndLine" : 263
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetrySubgraphTest.kt",
        "extension" : "kt",
        "linesOfCode" : 334,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 313,
      "startLine" : 67,
      "endLine" : 79,
      "cleanedStartLine" : 41,
      "cleanedEndLine" : 53
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/ai/koog/agents/snapshot/providers/file/FileCheckpointsTests.kt",
        "extension" : "kt",
        "linesOfCode" : 236,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 188,
      "startLine" : 178,
      "endLine" : 194,
      "cleanedStartLine" : 113,
      "cleanedEndLine" : 125
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/ai/koog/agents/snapshot/providers/file/FileCheckpointsTests.kt",
        "extension" : "kt",
        "linesOfCode" : 236,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 188,
      "startLine" : 232,
      "endLine" : 248,
      "cleanedStartLine" : 157,
      "cleanedEndLine" : 169
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicLLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 524,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 393,
      "startLine" : 102,
      "endLine" : 117,
      "cleanedStartLine" : 18,
      "cleanedEndLine" : 30
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client-base/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/base/AbstractOpenAILLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 412,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 304,
      "startLine" : 109,
      "endLine" : 123,
      "cleanedStartLine" : 24,
      "cleanedEndLine" : 36
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jsMain/kotlin/ai/koog/agents/core/agent/context/AIAgentFunctionalContext.kt",
        "extension" : "kt",
        "linesOfCode" : 100,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 87,
      "startLine" : 37,
      "endLine" : 49,
      "cleanedStartLine" : 21,
      "cleanedEndLine" : 33
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jsMain/kotlin/ai/koog/agents/core/agent/context/AIAgentFunctionalContext.kt",
        "extension" : "kt",
        "linesOfCode" : 100,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 87,
      "startLine" : 91,
      "endLine" : 103,
      "cleanedStartLine" : 72,
      "cleanedEndLine" : 84
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-deepseek-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/deepseek/DeepSeekParams.kt",
        "extension" : "kt",
        "linesOfCode" : 143,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 64,
      "endLine" : 81,
      "cleanedStartLine" : 39,
      "cleanedEndLine" : 51
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openrouter-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openrouter/OpenRouterParams.kt",
        "extension" : "kt",
        "linesOfCode" : 197,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 177,
      "startLine" : 83,
      "endLine" : 100,
      "cleanedStartLine" : 46,
      "cleanedEndLine" : 58
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmMain/kotlin/ai/koog/agents/core/agent/AIAgentBuilder.kt",
        "extension" : "kt",
        "linesOfCode" : 115,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 88,
      "startLine" : 133,
      "endLine" : 153,
      "cleanedStartLine" : 76,
      "cleanedEndLine" : 88
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/wasmJsMain/kotlin/ai/koog/agents/core/agent/AIAgentBuilder.kt",
        "extension" : "kt",
        "linesOfCode" : 100,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 78,
      "startLine" : 106,
      "endLine" : 126,
      "cleanedStartLine" : 66,
      "cleanedEndLine" : 78
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jsMain/kotlin/ai/koog/agents/core/agent/AIAgentBuilder.kt",
        "extension" : "kt",
        "linesOfCode" : 100,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 78,
      "startLine" : 106,
      "endLine" : 126,
      "cleanedStartLine" : 66,
      "cleanedEndLine" : 78
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmMain/kotlin/ai/koog/agents/core/agent/AIAgentBuilder.kt",
        "extension" : "kt",
        "linesOfCode" : 115,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 88,
      "startLine" : 133,
      "endLine" : 153,
      "cleanedStartLine" : 76,
      "cleanedEndLine" : 88
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-sql/src/jvmTest/kotlin/ai/koog/agents/features/sql/providers/H2PersistencyStorageProviderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 85,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 60,
      "startLine" : 98,
      "endLine" : 110,
      "cleanedStartLine" : 48,
      "cleanedEndLine" : 60
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-sql/src/jvmTest/kotlin/ai/koog/agents/features/sql/providers/SQLPersistenceProvidersTest.kt",
        "extension" : "kt",
        "linesOfCode" : 129,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 107,
      "startLine" : 161,
      "endLine" : 173,
      "cleanedStartLine" : 95,
      "cleanedEndLine" : 107
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/appleMain/kotlin/ai/koog/agents/core/agent/AIAgentBuilder.kt",
        "extension" : "kt",
        "linesOfCode" : 100,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 78,
      "startLine" : 106,
      "endLine" : 126,
      "cleanedStartLine" : 66,
      "cleanedEndLine" : 78
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmMain/kotlin/ai/koog/agents/core/agent/AIAgentBuilder.kt",
        "extension" : "kt",
        "linesOfCode" : 115,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 88,
      "startLine" : 133,
      "endLine" : 153,
      "cleanedStartLine" : 76,
      "cleanedEndLine" : 88
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-sql/src/jvmTest/kotlin/ai/koog/agents/features/sql/providers/PostgresPersistencyStorageProviderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 105,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 76,
      "startLine" : 120,
      "endLine" : 132,
      "cleanedStartLine" : 64,
      "cleanedEndLine" : 76
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-sql/src/jvmTest/kotlin/ai/koog/agents/features/sql/providers/SQLPersistenceProvidersTest.kt",
        "extension" : "kt",
        "linesOfCode" : 129,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 107,
      "startLine" : 161,
      "endLine" : 173,
      "cleanedStartLine" : 95,
      "cleanedEndLine" : 107
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-acp/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 26,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 3,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 13
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 41,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 3,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 13
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/appleMain/kotlin/ai/koog/agents/core/agent/context/AIAgentFunctionalContext.kt",
        "extension" : "kt",
        "linesOfCode" : 100,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 87,
      "startLine" : 37,
      "endLine" : 49,
      "cleanedStartLine" : 21,
      "cleanedEndLine" : 33
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/appleMain/kotlin/ai/koog/agents/core/agent/context/AIAgentFunctionalContext.kt",
        "extension" : "kt",
        "linesOfCode" : 100,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 87,
      "startLine" : 91,
      "endLine" : 103,
      "cleanedStartLine" : 72,
      "cleanedEndLine" : 84
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/langfuse/LangfuseSpanAdapterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 261,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 227,
      "startLine" : 42,
      "endLine" : 56,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 23
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/langfuse/LangfuseSpanAdapterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 261,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 227,
      "startLine" : 181,
      "endLine" : 195,
      "cleanedStartLine" : 116,
      "cleanedEndLine" : 128
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryInferenceSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 556,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 517,
      "startLine" : 155,
      "endLine" : 168,
      "cleanedStartLine" : 104,
      "cleanedEndLine" : 116
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryInferenceSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 556,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 517,
      "startLine" : 447,
      "endLine" : 460,
      "cleanedStartLine" : 364,
      "cleanedEndLine" : 376
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/androidMain/kotlin/ai/koog/agents/core/agent/context/AIAgentFunctionalContext.kt",
        "extension" : "kt",
        "linesOfCode" : 100,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 87,
      "startLine" : 91,
      "endLine" : 103,
      "cleanedStartLine" : 72,
      "cleanedEndLine" : 84
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/wasmJsMain/kotlin/ai/koog/agents/core/agent/context/AIAgentFunctionalContext.kt",
        "extension" : "kt",
        "linesOfCode" : 100,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 87,
      "startLine" : 37,
      "endLine" : 49,
      "cleanedStartLine" : 21,
      "cleanedEndLine" : 33
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/androidMain/kotlin/ai/koog/agents/core/agent/context/AIAgentFunctionalContext.kt",
        "extension" : "kt",
        "linesOfCode" : 100,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 87,
      "startLine" : 37,
      "endLine" : 49,
      "cleanedStartLine" : 21,
      "cleanedEndLine" : 33
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/wasmJsMain/kotlin/ai/koog/agents/core/agent/context/AIAgentFunctionalContext.kt",
        "extension" : "kt",
        "linesOfCode" : 100,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 87,
      "startLine" : 91,
      "endLine" : 103,
      "cleanedStartLine" : 72,
      "cleanedEndLine" : 84
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageFileWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 509,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 418,
      "startLine" : 140,
      "endLine" : 152,
      "cleanedStartLine" : 56,
      "cleanedEndLine" : 68
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageRemoteWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 816,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 671,
      "startLine" : 824,
      "endLine" : 836,
      "cleanedStartLine" : 586,
      "cleanedEndLine" : 598
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/commonTest/kotlin/ai/koog/prompt/executor/clients/google/structure/GoogleStandardJsonSchemaGeneratorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 323,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 297,
      "startLine" : 293,
      "endLine" : 306,
      "cleanedStartLine" : 258,
      "cleanedEndLine" : 270
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client-base/src/commonTest/kotlin/ai/koog/prompt/executor/clients/openai/structure/OpenAIStandardJsonSchemaGeneratorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 375,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 342,
      "startLine" : 362,
      "endLine" : 375,
      "cleanedStartLine" : 318,
      "cleanedEndLine" : 330
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rag/vector-storage/src/jvmTest/kotlin/ai/koog/rag/vector/JVMFileDocumentEmbeddingStorageTest.kt",
        "extension" : "kt",
        "linesOfCode" : 184,
        "components" : [ "primary::rag" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 148,
      "startLine" : 115,
      "endLine" : 131,
      "cleanedStartLine" : 71,
      "cleanedEndLine" : 83
    }, {
      "file" : {
        "relativePath" : "rag/vector-storage/src/jvmTest/kotlin/ai/koog/rag/vector/JVMTextFileDocumentEmbeddingStorageTest.kt",
        "extension" : "kt",
        "linesOfCode" : 234,
        "components" : [ "primary::rag" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 193,
      "startLine" : 112,
      "endLine" : 128,
      "cleanedStartLine" : 70,
      "cleanedEndLine" : 82
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/commonTest/kotlin/ai/koog/prompt/executor/clients/google/structure/GoogleStandardJsonSchemaGeneratorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 323,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 297,
      "startLine" : 293,
      "endLine" : 306,
      "cleanedStartLine" : 258,
      "cleanedEndLine" : 270
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client-base/src/commonTest/kotlin/ai/koog/prompt/executor/clients/openai/structure/OpenAIStandardJsonSchemaGeneratorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 375,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 342,
      "startLine" : 294,
      "endLine" : 307,
      "cleanedStartLine" : 258,
      "cleanedEndLine" : 270
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/dsl/extension/ParallelNodesTest.kt",
        "extension" : "kt",
        "linesOfCode" : 380,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 299,
      "startLine" : 350,
      "endLine" : 364,
      "cleanedStartLine" : 226,
      "cleanedEndLine" : 238
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/dsl/extension/ParallelNodesTest.kt",
        "extension" : "kt",
        "linesOfCode" : 380,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 299,
      "startLine" : 382,
      "endLine" : 396,
      "cleanedStartLine" : 248,
      "cleanedEndLine" : 260
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/agent/DummyTools.kt",
        "extension" : "kt",
        "linesOfCode" : 23,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 17,
      "startLine" : 11,
      "endLine" : 26,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "agents/agents-test/src/commonTest/kotlin/ai/koog/agents/testing/feature/Tools.kt",
        "extension" : "kt",
        "linesOfCode" : 35,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 28,
      "startLine" : 11,
      "endLine" : 26,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/SubgraphWithRetryTest.kt",
        "extension" : "kt",
        "linesOfCode" : 429,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 348,
      "startLine" : 329,
      "endLine" : 347,
      "cleanedStartLine" : 222,
      "cleanedEndLine" : 234
    }, {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/SubgraphWithRetryTest.kt",
        "extension" : "kt",
        "linesOfCode" : 429,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 348,
      "startLine" : 380,
      "endLine" : 398,
      "cleanedStartLine" : 258,
      "cleanedEndLine" : 270
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-transport/a2a-transport-server-jsonrpc-http/src/jvmTest/kotlin/ai/koog/a2a/transport/server/jsonrpc/http/HttpJSONRPCServerTransportTest.kt",
        "extension" : "kt",
        "linesOfCode" : 547,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 452,
      "startLine" : 355,
      "endLine" : 369,
      "cleanedStartLine" : 238,
      "cleanedEndLine" : 250
    }, {
      "file" : {
        "relativePath" : "a2a/a2a-transport/a2a-transport-server-jsonrpc-http/src/jvmTest/kotlin/ai/koog/a2a/transport/server/jsonrpc/http/HttpJSONRPCServerTransportTest.kt",
        "extension" : "kt",
        "linesOfCode" : 547,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 452,
      "startLine" : 385,
      "endLine" : 399,
      "cleanedStartLine" : 262,
      "cleanedEndLine" : 274
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryInferenceSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 556,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 517,
      "startLine" : 321,
      "endLine" : 333,
      "cleanedStartLine" : 259,
      "cleanedEndLine" : 271
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryInferenceSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 556,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 517,
      "startLine" : 483,
      "endLine" : 495,
      "cleanedStartLine" : 399,
      "cleanedEndLine" : 411
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/feature/remote/client/FeatureMessageRemoteClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 388,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 293,
      "startLine" : 92,
      "endLine" : 110,
      "cleanedStartLine" : 35,
      "cleanedEndLine" : 47
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/feature/remote/client/FeatureMessageRemoteClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 388,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 293,
      "startLine" : 158,
      "endLine" : 176,
      "cleanedStartLine" : 77,
      "cleanedEndLine" : 89
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/src/commonMain/kotlin/ai/koog/prompt/executor/clients/LLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 53,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 40,
      "startLine" : 30,
      "endLine" : 68,
      "cleanedStartLine" : 6,
      "cleanedEndLine" : 18
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-model/src/commonMain/kotlin/ai/koog/prompt/executor/model/PromptExecutor.kt",
        "extension" : "kt",
        "linesOfCode" : 39,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 33,
      "endLine" : 71,
      "cleanedStartLine" : 6,
      "cleanedEndLine" : 18
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-server/src/jvmTest/kotlin/ai/koog/a2a/server/TestAgentExecutor.kt",
        "extension" : "kt",
        "linesOfCode" : 193,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 161,
      "startLine" : 40,
      "endLine" : 54,
      "cleanedStartLine" : 17,
      "cleanedEndLine" : 29
    }, {
      "file" : {
        "relativePath" : "a2a/a2a-server/src/jvmTest/kotlin/ai/koog/a2a/server/TestAgentExecutor.kt",
        "extension" : "kt",
        "linesOfCode" : 193,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 161,
      "startLine" : 98,
      "endLine" : 111,
      "cleanedStartLine" : 67,
      "cleanedEndLine" : 79
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/androidMain/kotlin/ai/koog/agents/core/agent/context/AIAgentFunctionalContext.kt",
        "extension" : "kt",
        "linesOfCode" : 100,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 87,
      "startLine" : 91,
      "endLine" : 103,
      "cleanedStartLine" : 72,
      "cleanedEndLine" : 84
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmMain/kotlin/ai/koog/agents/core/agent/context/AIAgentFunctionalContext.kt",
        "extension" : "kt",
        "linesOfCode" : 302,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 250,
      "startLine" : 58,
      "endLine" : 70,
      "cleanedStartLine" : 23,
      "cleanedEndLine" : 35
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-server/src/jvmTest/kotlin/ai/koog/a2a/server/TestAgentExecutor.kt",
        "extension" : "kt",
        "linesOfCode" : 193,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 161,
      "startLine" : 40,
      "endLine" : 54,
      "cleanedStartLine" : 17,
      "cleanedEndLine" : 29
    }, {
      "file" : {
        "relativePath" : "a2a/a2a-server/src/jvmTest/kotlin/ai/koog/a2a/server/TestAgentExecutor.kt",
        "extension" : "kt",
        "linesOfCode" : 193,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 161,
      "startLine" : 115,
      "endLine" : 128,
      "cleanedStartLine" : 81,
      "cleanedEndLine" : 93
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageLogWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 480,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 396,
      "startLine" : 125,
      "endLine" : 137,
      "cleanedStartLine" : 50,
      "cleanedEndLine" : 62
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageRemoteWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 816,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 671,
      "startLine" : 824,
      "endLine" : 836,
      "cleanedStartLine" : 586,
      "cleanedEndLine" : 598
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/langfuse/LangfuseTraceStructureTest.kt",
        "extension" : "kt",
        "linesOfCode" : 249,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 236,
      "startLine" : 64,
      "endLine" : 76,
      "cleanedStartLine" : 46,
      "cleanedEndLine" : 58
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/langfuse/LangfuseTraceStructureTest.kt",
        "extension" : "kt",
        "linesOfCode" : 249,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 236,
      "startLine" : 185,
      "endLine" : 198,
      "cleanedStartLine" : 157,
      "cleanedEndLine" : 169
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/mistralai/MistralAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 145,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 133,
      "startLine" : 85,
      "endLine" : 103,
      "cleanedStartLine" : 48,
      "cleanedEndLine" : 60
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 381,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 343,
      "startLine" : 141,
      "endLine" : 159,
      "cleanedStartLine" : 76,
      "cleanedEndLine" : 88
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/SubgraphWithTaskTest.kt",
        "extension" : "kt",
        "linesOfCode" : 603,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 509,
      "startLine" : 337,
      "endLine" : 354,
      "cleanedStartLine" : 209,
      "cleanedEndLine" : 221
    }, {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/SubgraphWithTaskTest.kt",
        "extension" : "kt",
        "linesOfCode" : 603,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 509,
      "startLine" : 548,
      "endLine" : 565,
      "cleanedStartLine" : 357,
      "cleanedEndLine" : 369
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/dashscope/DashscopeParams.kt",
        "extension" : "kt",
        "linesOfCode" : 159,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 144,
      "startLine" : 70,
      "endLine" : 87,
      "cleanedStartLine" : 42,
      "cleanedEndLine" : 54
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openrouter-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openrouter/OpenRouterParams.kt",
        "extension" : "kt",
        "linesOfCode" : 197,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 177,
      "startLine" : 83,
      "endLine" : 100,
      "cleanedStartLine" : 46,
      "cleanedEndLine" : 58
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-server/src/jvmTest/kotlin/ai/koog/a2a/server/TestAgentExecutor.kt",
        "extension" : "kt",
        "linesOfCode" : 193,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 161,
      "startLine" : 98,
      "endLine" : 111,
      "cleanedStartLine" : 67,
      "cleanedEndLine" : 79
    }, {
      "file" : {
        "relativePath" : "a2a/a2a-server/src/jvmTest/kotlin/ai/koog/a2a/server/TestAgentExecutor.kt",
        "extension" : "kt",
        "linesOfCode" : 193,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 161,
      "startLine" : 115,
      "endLine" : 128,
      "cleanedStartLine" : 81,
      "cleanedEndLine" : 93
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/feature/remote/client/FeatureMessageRemoteClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 388,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 293,
      "startLine" : 273,
      "endLine" : 291,
      "cleanedStartLine" : 152,
      "cleanedEndLine" : 164
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/feature/remote/client/FeatureMessageRemoteClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 388,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 293,
      "startLine" : 392,
      "endLine" : 409,
      "cleanedStartLine" : 220,
      "cleanedEndLine" : 232
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/androidMain/kotlin/ai/koog/agents/core/agent/AIAgentBuilder.kt",
        "extension" : "kt",
        "linesOfCode" : 100,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 78,
      "startLine" : 106,
      "endLine" : 126,
      "cleanedStartLine" : 66,
      "cleanedEndLine" : 78
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmMain/kotlin/ai/koog/agents/core/agent/AIAgentBuilder.kt",
        "extension" : "kt",
        "linesOfCode" : 115,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 88,
      "startLine" : 133,
      "endLine" : 153,
      "cleanedStartLine" : 76,
      "cleanedEndLine" : 88
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerSubgraphTest.kt",
        "extension" : "kt",
        "linesOfCode" : 262,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 194,
      "startLine" : 113,
      "endLine" : 129,
      "cleanedStartLine" : 47,
      "cleanedEndLine" : 59
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerSubgraphTest.kt",
        "extension" : "kt",
        "linesOfCode" : 262,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 194,
      "startLine" : 255,
      "endLine" : 270,
      "cleanedStartLine" : 143,
      "cleanedEndLine" : 155
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/feature/remote/client/FeatureMessageRemoteClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 388,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 293,
      "startLine" : 48,
      "endLine" : 66,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 20
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/feature/remote/client/FeatureMessageRemoteClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 388,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 293,
      "startLine" : 158,
      "endLine" : 176,
      "cleanedStartLine" : 77,
      "cleanedEndLine" : 89
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryNodeExecuteSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 307,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 276,
      "startLine" : 48,
      "endLine" : 60,
      "cleanedStartLine" : 21,
      "cleanedEndLine" : 33
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetrySubgraphTest.kt",
        "extension" : "kt",
        "linesOfCode" : 334,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 313,
      "startLine" : 67,
      "endLine" : 79,
      "cleanedStartLine" : 41,
      "cleanedEndLine" : 53
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/debugger/Debugger.kt",
        "extension" : "kt",
        "linesOfCode" : 399,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 318,
      "startLine" : 342,
      "endLine" : 354,
      "cleanedStartLine" : 187,
      "cleanedEndLine" : 199
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/commonMain/kotlin/ai/koog/agents/features/tracing/feature/Tracing.kt",
        "extension" : "kt",
        "linesOfCode" : 335,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 266,
      "startLine" : 389,
      "endLine" : 401,
      "cleanedStartLine" : 218,
      "cleanedEndLine" : 230
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/appleMain/kotlin/ai/koog/agents/core/agent/context/AIAgentFunctionalContext.kt",
        "extension" : "kt",
        "linesOfCode" : 100,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 87,
      "startLine" : 37,
      "endLine" : 49,
      "cleanedStartLine" : 21,
      "cleanedEndLine" : 33
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmMain/kotlin/ai/koog/agents/core/agent/context/AIAgentFunctionalContext.kt",
        "extension" : "kt",
        "linesOfCode" : 302,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 250,
      "startLine" : 115,
      "endLine" : 127,
      "cleanedStartLine" : 77,
      "cleanedEndLine" : 89
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/TraceStructureTestBase.kt",
        "extension" : "kt",
        "linesOfCode" : 802,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 688,
      "startLine" : 199,
      "endLine" : 214,
      "cleanedStartLine" : 110,
      "cleanedEndLine" : 122
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/TraceStructureTestBase.kt",
        "extension" : "kt",
        "linesOfCode" : 802,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 688,
      "startLine" : 336,
      "endLine" : 351,
      "cleanedStartLine" : 217,
      "cleanedEndLine" : 229
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerStreamingTest.kt",
        "extension" : "kt",
        "linesOfCode" : 347,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 262,
      "startLine" : 328,
      "endLine" : 344,
      "cleanedStartLine" : 193,
      "cleanedEndLine" : 205
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerSubgraphTest.kt",
        "extension" : "kt",
        "linesOfCode" : 262,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 194,
      "startLine" : 232,
      "endLine" : 248,
      "cleanedStartLine" : 129,
      "cleanedEndLine" : 141
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicToolSerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 156,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 135,
      "startLine" : 81,
      "endLine" : 93,
      "cleanedStartLine" : 51,
      "cleanedEndLine" : 63
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client-base/src/commonTest/kotlin/ai/koog/prompt/executor/clients/openai/base/OpenAICompatibleToolDescriptorConverterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 214,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 181,
      "startLine" : 196,
      "endLine" : 208,
      "cleanedStartLine" : 150,
      "cleanedEndLine" : 162
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/dsl/extension/AIAgentNodesHistoryCompressionTest.kt",
        "extension" : "kt",
        "linesOfCode" : 151,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 117,
      "startLine" : 111,
      "endLine" : 128,
      "cleanedStartLine" : 57,
      "cleanedEndLine" : 69
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/dsl/extension/AIAgentNodesTest.kt",
        "extension" : "kt",
        "linesOfCode" : 199,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 155,
      "startLine" : 52,
      "endLine" : 69,
      "cleanedStartLine" : 21,
      "cleanedEndLine" : 33
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/dashscope/models/DashscopeSerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 453,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 372,
      "startLine" : 384,
      "endLine" : 396,
      "cleanedStartLine" : 263,
      "cleanedEndLine" : 275
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-deepseek-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/deepseek/models/DeepSeekSerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 327,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 263,
      "startLine" : 201,
      "endLine" : 213,
      "cleanedStartLine" : 141,
      "cleanedEndLine" : 153
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/appleMain/kotlin/ai/koog/agents/core/agent/context/AIAgentFunctionalContext.kt",
        "extension" : "kt",
        "linesOfCode" : 100,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 87,
      "startLine" : 37,
      "endLine" : 49,
      "cleanedStartLine" : 21,
      "cleanedEndLine" : 33
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/wasmJsMain/kotlin/ai/koog/agents/core/agent/context/AIAgentFunctionalContext.kt",
        "extension" : "kt",
        "linesOfCode" : 100,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 87,
      "startLine" : 91,
      "endLine" : 103,
      "cleanedStartLine" : 72,
      "cleanedEndLine" : 84
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/dashscope/DashscopeParams.kt",
        "extension" : "kt",
        "linesOfCode" : 159,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 144,
      "startLine" : 91,
      "endLine" : 109,
      "cleanedStartLine" : 55,
      "cleanedEndLine" : 67
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openrouter-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openrouter/OpenRouterParams.kt",
        "extension" : "kt",
        "linesOfCode" : 197,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 177,
      "startLine" : 116,
      "endLine" : 134,
      "cleanedStartLine" : 67,
      "cleanedEndLine" : 79
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 361,
      "endLine" : 373,
      "cleanedStartLine" : 182,
      "cleanedEndLine" : 194
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 455,
      "endLine" : 467,
      "cleanedStartLine" : 242,
      "cleanedEndLine" : 254
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 361,
      "endLine" : 373,
      "cleanedStartLine" : 182,
      "cleanedEndLine" : 194
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 423,
      "endLine" : 435,
      "cleanedStartLine" : 222,
      "cleanedEndLine" : 234
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 361,
      "endLine" : 373,
      "cleanedStartLine" : 182,
      "cleanedEndLine" : 194
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 392,
      "endLine" : 404,
      "cleanedStartLine" : 202,
      "cleanedEndLine" : 214
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/appleMain/kotlin/ai/koog/agents/core/agent/context/AIAgentFunctionalContext.kt",
        "extension" : "kt",
        "linesOfCode" : 100,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 87,
      "startLine" : 91,
      "endLine" : 103,
      "cleanedStartLine" : 72,
      "cleanedEndLine" : 84
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmMain/kotlin/ai/koog/agents/core/agent/context/AIAgentFunctionalContext.kt",
        "extension" : "kt",
        "linesOfCode" : 302,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 250,
      "startLine" : 58,
      "endLine" : 70,
      "cleanedStartLine" : 23,
      "cleanedEndLine" : 35
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/appleMain/kotlin/ai/koog/agents/core/agent/context/AIAgentFunctionalContext.kt",
        "extension" : "kt",
        "linesOfCode" : 100,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 87,
      "startLine" : 91,
      "endLine" : 103,
      "cleanedStartLine" : 72,
      "cleanedEndLine" : 84
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jsMain/kotlin/ai/koog/agents/core/agent/context/AIAgentFunctionalContext.kt",
        "extension" : "kt",
        "linesOfCode" : 100,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 87,
      "startLine" : 37,
      "endLine" : 49,
      "cleanedStartLine" : 21,
      "cleanedEndLine" : 33
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/SubgraphWithTaskTest.kt",
        "extension" : "kt",
        "linesOfCode" : 603,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 509,
      "startLine" : 457,
      "endLine" : 474,
      "cleanedStartLine" : 294,
      "cleanedEndLine" : 306
    }, {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/SubgraphWithTaskTest.kt",
        "extension" : "kt",
        "linesOfCode" : 603,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 509,
      "startLine" : 674,
      "endLine" : 691,
      "cleanedStartLine" : 448,
      "cleanedEndLine" : 460
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/TestStrategies.kt",
        "extension" : "kt",
        "linesOfCode" : 398,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 340,
      "startLine" : 235,
      "endLine" : 250,
      "cleanedStartLine" : 153,
      "cleanedEndLine" : 165
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-sql/src/jvmTest/kotlin/ai/koog/agents/features/sql/providers/PostgresPersistenceAgentRunTest.kt",
        "extension" : "kt",
        "linesOfCode" : 243,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 182,
      "startLine" : 82,
      "endLine" : 95,
      "cleanedStartLine" : 33,
      "cleanedEndLine" : 45
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jsMain/kotlin/ai/koog/agents/core/agent/context/AIAgentFunctionalContext.kt",
        "extension" : "kt",
        "linesOfCode" : 100,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 87,
      "startLine" : 37,
      "endLine" : 49,
      "cleanedStartLine" : 21,
      "cleanedEndLine" : 33
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmMain/kotlin/ai/koog/agents/core/agent/context/AIAgentFunctionalContext.kt",
        "extension" : "kt",
        "linesOfCode" : 302,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 250,
      "startLine" : 115,
      "endLine" : 127,
      "cleanedStartLine" : 77,
      "cleanedEndLine" : 89
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/SubgraphWithRetryTest.kt",
        "extension" : "kt",
        "linesOfCode" : 429,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 348,
      "startLine" : 340,
      "endLine" : 355,
      "cleanedStartLine" : 229,
      "cleanedEndLine" : 241
    }, {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/SubgraphWithRetryTest.kt",
        "extension" : "kt",
        "linesOfCode" : 429,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 348,
      "startLine" : 464,
      "endLine" : 479,
      "cleanedStartLine" : 319,
      "cleanedEndLine" : 331
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-client/src/jvmTest/kotlin/ai/koog/a2a/client/A2AClientJsonRpcIntegrationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 76,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 56,
      "startLine" : 69,
      "endLine" : 85,
      "cleanedStartLine" : 33,
      "cleanedEndLine" : 45
    }, {
      "file" : {
        "relativePath" : "a2a/a2a-server/src/jvmTest/kotlin/ai/koog/a2a/server/jsonrpc/A2AServerJsonRpcIntegrationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 200,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 139,
      "startLine" : 65,
      "endLine" : 81,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 28
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerTest.kt",
        "extension" : "kt",
        "linesOfCode" : 521,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 437,
      "startLine" : 418,
      "endLine" : 430,
      "cleanedStartLine" : 302,
      "cleanedEndLine" : 314
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerTest.kt",
        "extension" : "kt",
        "linesOfCode" : 521,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 437,
      "startLine" : 437,
      "endLine" : 449,
      "cleanedStartLine" : 321,
      "cleanedEndLine" : 333
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jsMain/kotlin/ai/koog/agents/core/agent/context/AIAgentFunctionalContext.kt",
        "extension" : "kt",
        "linesOfCode" : 100,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 87,
      "startLine" : 91,
      "endLine" : 103,
      "cleanedStartLine" : 72,
      "cleanedEndLine" : 84
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmMain/kotlin/ai/koog/agents/core/agent/context/AIAgentFunctionalContext.kt",
        "extension" : "kt",
        "linesOfCode" : 302,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 250,
      "startLine" : 58,
      "endLine" : 70,
      "cleanedStartLine" : 23,
      "cleanedEndLine" : 35
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmMain/kotlin/ai/koog/agents/core/agent/context/AIAgentFunctionalContext.kt",
        "extension" : "kt",
        "linesOfCode" : 302,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 250,
      "startLine" : 58,
      "endLine" : 70,
      "cleanedStartLine" : 23,
      "cleanedEndLine" : 35
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmMain/kotlin/ai/koog/agents/core/agent/context/AIAgentFunctionalContext.kt",
        "extension" : "kt",
        "linesOfCode" : 302,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 250,
      "startLine" : 115,
      "endLine" : 127,
      "cleanedStartLine" : 77,
      "cleanedEndLine" : 89
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryInferenceSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 556,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 517,
      "startLine" : 53,
      "endLine" : 67,
      "cleanedStartLine" : 17,
      "cleanedEndLine" : 29
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryInferenceSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 556,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 517,
      "startLine" : 567,
      "endLine" : 581,
      "cleanedStartLine" : 469,
      "cleanedEndLine" : 481
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryNodeExecuteSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 307,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 276,
      "startLine" : 113,
      "endLine" : 125,
      "cleanedStartLine" : 76,
      "cleanedEndLine" : 88
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetrySubgraphTest.kt",
        "extension" : "kt",
        "linesOfCode" : 334,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 313,
      "startLine" : 182,
      "endLine" : 194,
      "cleanedStartLine" : 141,
      "cleanedEndLine" : 153
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/commonTest/kotlin/ai/koog/prompt/executor/clients/google/structure/GoogleStandardJsonSchemaGeneratorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 323,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 297,
      "startLine" : 25,
      "endLine" : 36,
      "cleanedStartLine" : 12,
      "cleanedEndLine" : 23
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client-base/src/commonTest/kotlin/ai/koog/prompt/executor/clients/openai/structure/OpenAIBasicJsonSchemaGeneratorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 152,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 134,
      "startLine" : 23,
      "endLine" : 34,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 21
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-event-handler/src/commonMain/kotlin/ai/koog/agents/features/eventHandler/messageFormat.kt",
        "extension" : "kt",
        "linesOfCode" : 25,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 19,
      "startLine" : 15,
      "endLine" : 28,
      "cleanedStartLine" : 3,
      "cleanedEndLine" : 14
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/commonMain/kotlin/ai/koog/agents/features/tracing/messageFormat.kt",
        "extension" : "kt",
        "linesOfCode" : 20,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 16,
      "startLine" : 14,
      "endLine" : 27,
      "cleanedStartLine" : 3,
      "cleanedEndLine" : 14
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-test/src/commonMain/kotlin/ai/koog/agents/testing/tools/MockLLMBuilder.kt",
        "extension" : "kt",
        "linesOfCode" : 495,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 414,
      "startLine" : 185,
      "endLine" : 206,
      "cleanedStartLine" : 48,
      "cleanedEndLine" : 59
    }, {
      "file" : {
        "relativePath" : "agents/agents-test/src/commonMain/kotlin/ai/koog/agents/testing/tools/MockLLMBuilder.kt",
        "extension" : "kt",
        "linesOfCode" : 495,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 414,
      "startLine" : 214,
      "endLine" : 235,
      "cleanedStartLine" : 67,
      "cleanedEndLine" : 78
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/BedrockLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 751,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 628,
      "startLine" : 380,
      "endLine" : 396,
      "cleanedStartLine" : 237,
      "cleanedEndLine" : 248
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/BedrockLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 751,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 628,
      "startLine" : 412,
      "endLine" : 428,
      "cleanedStartLine" : 258,
      "cleanedEndLine" : 269
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/BedrockLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 751,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 628,
      "startLine" : 380,
      "endLine" : 396,
      "cleanedStartLine" : 237,
      "cleanedEndLine" : 248
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/BedrockLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 751,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 628,
      "startLine" : 449,
      "endLine" : 465,
      "cleanedStartLine" : 284,
      "cleanedEndLine" : 295
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 164,
      "endLine" : 175,
      "cleanedStartLine" : 63,
      "cleanedEndLine" : 74
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 393,
      "endLine" : 404,
      "cleanedStartLine" : 203,
      "cleanedEndLine" : 214
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 164,
      "endLine" : 175,
      "cleanedStartLine" : 63,
      "cleanedEndLine" : 74
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 424,
      "endLine" : 435,
      "cleanedStartLine" : 223,
      "cleanedEndLine" : 234
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/debugger/Debugger.kt",
        "extension" : "kt",
        "linesOfCode" : 399,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 318,
      "startLine" : 373,
      "endLine" : 384,
      "cleanedStartLine" : 214,
      "cleanedEndLine" : 225
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/commonMain/kotlin/ai/koog/agents/features/tracing/feature/Tracing.kt",
        "extension" : "kt",
        "linesOfCode" : 335,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 266,
      "startLine" : 420,
      "endLine" : 431,
      "cleanedStartLine" : 245,
      "cleanedEndLine" : 256
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 164,
      "endLine" : 175,
      "cleanedStartLine" : 63,
      "cleanedEndLine" : 74
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 456,
      "endLine" : 467,
      "cleanedStartLine" : 243,
      "cleanedEndLine" : 254
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageFileWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 509,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 418,
      "startLine" : 499,
      "endLine" : 510,
      "cleanedStartLine" : 345,
      "cleanedEndLine" : 356
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageRemoteWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 816,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 671,
      "startLine" : 256,
      "endLine" : 267,
      "cleanedStartLine" : 122,
      "cleanedEndLine" : 133
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 164,
      "endLine" : 175,
      "cleanedStartLine" : 63,
      "cleanedEndLine" : 74
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 362,
      "endLine" : 373,
      "cleanedStartLine" : 183,
      "cleanedEndLine" : 194
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/tool/file/EditFileToolCoreTest.kt",
        "extension" : "kt",
        "linesOfCode" : 235,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 214,
      "startLine" : 83,
      "endLine" : 98,
      "cleanedStartLine" : 50,
      "cleanedEndLine" : 61
    }, {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/tool/file/EditFileToolCoreTest.kt",
        "extension" : "kt",
        "linesOfCode" : 235,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 214,
      "startLine" : 153,
      "endLine" : 168,
      "cleanedStartLine" : 106,
      "cleanedEndLine" : 117
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicModels.kt",
        "extension" : "kt",
        "linesOfCode" : 195,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 178,
      "startLine" : 100,
      "endLine" : 121,
      "cleanedStartLine" : 35,
      "cleanedEndLine" : 46
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicModels.kt",
        "extension" : "kt",
        "linesOfCode" : 195,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 178,
      "startLine" : 125,
      "endLine" : 146,
      "cleanedStartLine" : 50,
      "cleanedEndLine" : 61
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/BedrockLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 751,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 628,
      "startLine" : 538,
      "endLine" : 550,
      "cleanedStartLine" : 345,
      "cleanedEndLine" : 356
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/BedrockLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 751,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 628,
      "startLine" : 600,
      "endLine" : 612,
      "cleanedStartLine" : 395,
      "cleanedEndLine" : 406
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/feature/writer/TestLogger.kt",
        "extension" : "kt",
        "linesOfCode" : 36,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 12,
      "endLine" : 29,
      "cleanedStartLine" : 6,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/mock/TestLogger.kt",
        "extension" : "kt",
        "linesOfCode" : 31,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 23,
      "startLine" : 12,
      "endLine" : 29,
      "cleanedStartLine" : 6,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/langfuse/LangfuseTraceStructureTest.kt",
        "extension" : "kt",
        "linesOfCode" : 249,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 236,
      "startLine" : 28,
      "endLine" : 40,
      "cleanedStartLine" : 14,
      "cleanedEndLine" : 25
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/langfuse/LangfuseTraceStructureTest.kt",
        "extension" : "kt",
        "linesOfCode" : 249,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 236,
      "startLine" : 158,
      "endLine" : 170,
      "cleanedStartLine" : 132,
      "cleanedEndLine" : 143
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-test/src/commonMain/kotlin/ai/koog/agents/testing/tools/MockLLMBuilder.kt",
        "extension" : "kt",
        "linesOfCode" : 495,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 414,
      "startLine" : 239,
      "endLine" : 250,
      "cleanedStartLine" : 82,
      "cleanedEndLine" : 93
    }, {
      "file" : {
        "relativePath" : "agents/agents-test/src/commonMain/kotlin/ai/koog/agents/testing/tools/MockLLMBuilder.kt",
        "extension" : "kt",
        "linesOfCode" : 495,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 414,
      "startLine" : 358,
      "endLine" : 369,
      "cleanedStartLine" : 155,
      "cleanedEndLine" : 166
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-test/src/commonMain/kotlin/ai/koog/agents/testing/tools/MockLLMBuilder.kt",
        "extension" : "kt",
        "linesOfCode" : 495,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 414,
      "startLine" : 239,
      "endLine" : 250,
      "cleanedStartLine" : 82,
      "cleanedEndLine" : 93
    }, {
      "file" : {
        "relativePath" : "agents/agents-test/src/commonMain/kotlin/ai/koog/agents/testing/tools/MockLLMBuilder.kt",
        "extension" : "kt",
        "linesOfCode" : 495,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 414,
      "startLine" : 296,
      "endLine" : 307,
      "cleanedStartLine" : 117,
      "cleanedEndLine" : 128
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryInferenceSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 556,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 517,
      "startLine" : 285,
      "endLine" : 296,
      "cleanedStartLine" : 223,
      "cleanedEndLine" : 234
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryInferenceSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 556,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 517,
      "startLine" : 325,
      "endLine" : 336,
      "cleanedStartLine" : 263,
      "cleanedEndLine" : 274
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/mistralai/models/MistralAISerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 146,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 114,
      "startLine" : 163,
      "endLine" : 176,
      "cleanedStartLine" : 103,
      "cleanedEndLine" : 114
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-ollama-client/src/commonTest/kotlin/ai/koog/prompt/executor/ollama/client/dto/OllamaSerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 154,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 131,
      "startLine" : 171,
      "endLine" : 184,
      "cleanedStartLine" : 120,
      "cleanedEndLine" : 131
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-server/src/commonTest/kotlin/ai/koog/a2a/server/session/SessionEventProcessorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 287,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 234,
      "startLine" : 44,
      "endLine" : 56,
      "cleanedStartLine" : 12,
      "cleanedEndLine" : 23
    }, {
      "file" : {
        "relativePath" : "a2a/a2a-server/src/commonTest/kotlin/ai/koog/a2a/server/tasks/InMemoryTaskStorageTest.kt",
        "extension" : "kt",
        "linesOfCode" : 279,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 239,
      "startLine" : 326,
      "endLine" : 338,
      "cleanedStartLine" : 216,
      "cleanedEndLine" : 227
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/span/SpanCollectorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 437,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 399,
      "startLine" : 110,
      "endLine" : 121,
      "cleanedStartLine" : 71,
      "cleanedEndLine" : 82
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/span/SpanCollectorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 437,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 399,
      "startLine" : 216,
      "endLine" : 227,
      "cleanedStartLine" : 145,
      "cleanedEndLine" : 156
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-planner/src/commonTest/kotlin/ai/koog/agents/planner/GOAPPlannerAgentTest.kt",
        "extension" : "kt",
        "linesOfCode" : 203,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 173,
      "startLine" : 63,
      "endLine" : 77,
      "cleanedStartLine" : 37,
      "cleanedEndLine" : 48
    }, {
      "file" : {
        "relativePath" : "agents/agents-planner/src/commonTest/kotlin/ai/koog/agents/planner/GOAPPlannerAgentTest.kt",
        "extension" : "kt",
        "linesOfCode" : 203,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 173,
      "startLine" : 135,
      "endLine" : 149,
      "cleanedStartLine" : 87,
      "cleanedEndLine" : 98
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryExecuteToolSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 184,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 154,
      "startLine" : 57,
      "endLine" : 71,
      "cleanedStartLine" : 27,
      "cleanedEndLine" : 38
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryExecuteToolSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 184,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 154,
      "startLine" : 98,
      "endLine" : 112,
      "cleanedStartLine" : 61,
      "cleanedEndLine" : 72
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerStreamingTest.kt",
        "extension" : "kt",
        "linesOfCode" : 347,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 262,
      "startLine" : 103,
      "endLine" : 119,
      "cleanedStartLine" : 30,
      "cleanedEndLine" : 41
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerStreamingTest.kt",
        "extension" : "kt",
        "linesOfCode" : 347,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 262,
      "startLine" : 299,
      "endLine" : 315,
      "cleanedStartLine" : 171,
      "cleanedEndLine" : 182
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/src/commonTest/kotlin/ai/koog/prompt/executor/clients/retry/RetryingLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 381,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 318,
      "startLine" : 119,
      "endLine" : 135,
      "cleanedStartLine" : 62,
      "cleanedEndLine" : 73
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/src/commonTest/kotlin/ai/koog/prompt/executor/clients/retry/RetryingLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 381,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 318,
      "startLine" : 141,
      "endLine" : 157,
      "cleanedStartLine" : 79,
      "cleanedEndLine" : 90
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageRemoteWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 816,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 671,
      "startLine" : 268,
      "endLine" : 286,
      "cleanedStartLine" : 134,
      "cleanedEndLine" : 145
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageRemoteWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 816,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 671,
      "startLine" : 839,
      "endLine" : 857,
      "cleanedStartLine" : 600,
      "cleanedEndLine" : 611
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageLogWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 480,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 396,
      "startLine" : 125,
      "endLine" : 136,
      "cleanedStartLine" : 50,
      "cleanedEndLine" : 61
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageRemoteWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 816,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 671,
      "startLine" : 256,
      "endLine" : 267,
      "cleanedStartLine" : 122,
      "cleanedEndLine" : 133
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicModels.kt",
        "extension" : "kt",
        "linesOfCode" : 195,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 178,
      "startLine" : 174,
      "endLine" : 195,
      "cleanedStartLine" : 80,
      "cleanedEndLine" : 91
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicModels.kt",
        "extension" : "kt",
        "linesOfCode" : 195,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 178,
      "startLine" : 250,
      "endLine" : 271,
      "cleanedStartLine" : 125,
      "cleanedEndLine" : 136
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/BedrockLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 751,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 628,
      "startLine" : 557,
      "endLine" : 569,
      "cleanedStartLine" : 360,
      "cleanedEndLine" : 371
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/BedrockLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 751,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 628,
      "startLine" : 619,
      "endLine" : 631,
      "cleanedStartLine" : 410,
      "cleanedEndLine" : 421
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/SubgraphWithTaskTest.kt",
        "extension" : "kt",
        "linesOfCode" : 603,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 509,
      "startLine" : 411,
      "endLine" : 427,
      "cleanedStartLine" : 261,
      "cleanedEndLine" : 272
    }, {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/SubgraphWithTaskTest.kt",
        "extension" : "kt",
        "linesOfCode" : 603,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 509,
      "startLine" : 625,
      "endLine" : 641,
      "cleanedStartLine" : 412,
      "cleanedEndLine" : 423
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/agent/context/AIAgentLLMContextTest.kt",
        "extension" : "kt",
        "linesOfCode" : 177,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 136,
      "startLine" : 174,
      "endLine" : 186,
      "cleanedStartLine" : 107,
      "cleanedEndLine" : 118
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/agent/context/AIAgentLLMContextConcurrencyTest.kt",
        "extension" : "kt",
        "linesOfCode" : 184,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 126,
      "startLine" : 145,
      "endLine" : 157,
      "cleanedStartLine" : 75,
      "cleanedEndLine" : 86
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/tool/file/EditFileToolCoreTest.kt",
        "extension" : "kt",
        "linesOfCode" : 235,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 214,
      "startLine" : 83,
      "endLine" : 98,
      "cleanedStartLine" : 50,
      "cleanedEndLine" : 61
    }, {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/tool/file/EditFileToolCoreTest.kt",
        "extension" : "kt",
        "linesOfCode" : 235,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 214,
      "startLine" : 118,
      "endLine" : 133,
      "cleanedStartLine" : 78,
      "cleanedEndLine" : 89
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "convention-plugin-ai/src/main/kotlin/ai.kotlin.multiplatform.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 69,
        "components" : [ "primary::convention-plugin-ai" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 47,
      "startLine" : 73,
      "endLine" : 91,
      "cleanedStartLine" : 36,
      "cleanedEndLine" : 47
    }, {
      "file" : {
        "relativePath" : "convention-plugin-ai/src/main/kotlin/ai.kotlin.multiplatform.server.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 38,
        "components" : [ "primary::convention-plugin-ai" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 24,
      "startLine" : 26,
      "endLine" : 44,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 24
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-memory/src/jvmTest/kotlin/ai/koog/agents/memory/MemoryNodesTest.kt",
        "extension" : "kt",
        "linesOfCode" : 418,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 327,
      "startLine" : 179,
      "endLine" : 192,
      "cleanedStartLine" : 96,
      "cleanedEndLine" : 107
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-memory/src/jvmTest/kotlin/ai/koog/agents/memory/MemoryNodesTest.kt",
        "extension" : "kt",
        "linesOfCode" : 418,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 327,
      "startLine" : 231,
      "endLine" : 244,
      "cleanedStartLine" : 134,
      "cleanedEndLine" : 145
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/context/AIAgentGraphContext.kt",
        "extension" : "kt",
        "linesOfCode" : 162,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 130,
      "startLine" : 71,
      "endLine" : 82,
      "cleanedStartLine" : 23,
      "cleanedEndLine" : 34
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/dsl/builder/AIAgentParallelNodesMergeContext.kt",
        "extension" : "kt",
        "linesOfCode" : 96,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 75,
      "startLine" : 83,
      "endLine" : 94,
      "cleanedStartLine" : 43,
      "cleanedEndLine" : 54
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 196,
      "endLine" : 207,
      "cleanedStartLine" : 84,
      "cleanedEndLine" : 95
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 362,
      "endLine" : 373,
      "cleanedStartLine" : 183,
      "cleanedEndLine" : 194
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 99,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 84,
      "startLine" : 198,
      "endLine" : 209,
      "cleanedStartLine" : 57,
      "cleanedEndLine" : 68
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/AIAgentHelper.kt",
        "extension" : "kt",
        "linesOfCode" : 190,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 171,
      "startLine" : 208,
      "endLine" : 219,
      "cleanedStartLine" : 106,
      "cleanedEndLine" : 117
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-deepseek-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/deepseek/models/DeepSeekChatCompletion.kt",
        "extension" : "kt",
        "linesOfCode" : 59,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 44,
      "startLine" : 69,
      "endLine" : 80,
      "cleanedStartLine" : 6,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openrouter-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openrouter/models/OpenRouterChatCompletion.kt",
        "extension" : "kt",
        "linesOfCode" : 115,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 101,
      "startLine" : 28,
      "endLine" : 39,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 18
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 196,
      "endLine" : 207,
      "cleanedStartLine" : 84,
      "cleanedEndLine" : 95
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 424,
      "endLine" : 435,
      "cleanedStartLine" : 223,
      "cleanedEndLine" : 234
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 196,
      "endLine" : 207,
      "cleanedStartLine" : 84,
      "cleanedEndLine" : 95
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 393,
      "endLine" : 404,
      "cleanedStartLine" : 203,
      "cleanedEndLine" : 214
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/debugger/Debugger.kt",
        "extension" : "kt",
        "linesOfCode" : 399,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 318,
      "startLine" : 358,
      "endLine" : 369,
      "cleanedStartLine" : 201,
      "cleanedEndLine" : 212
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/commonMain/kotlin/ai/koog/agents/features/tracing/feature/Tracing.kt",
        "extension" : "kt",
        "linesOfCode" : 335,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 266,
      "startLine" : 405,
      "endLine" : 416,
      "cleanedStartLine" : 232,
      "cleanedEndLine" : 243
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 196,
      "endLine" : 207,
      "cleanedStartLine" : 84,
      "cleanedEndLine" : 95
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 456,
      "endLine" : 467,
      "cleanedStartLine" : 243,
      "cleanedEndLine" : 254
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-memory/src/jvmTest/kotlin/ai/koog/agents/memory/AIAgentMemoryTest.kt",
        "extension" : "kt",
        "linesOfCode" : 470,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 399,
      "startLine" : 103,
      "endLine" : 115,
      "cleanedStartLine" : 38,
      "cleanedEndLine" : 49
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-memory/src/jvmTest/kotlin/ai/koog/agents/memory/AIAgentMemoryTest.kt",
        "extension" : "kt",
        "linesOfCode" : 470,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 399,
      "startLine" : 547,
      "endLine" : 559,
      "cleanedStartLine" : 376,
      "cleanedEndLine" : 387
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-ollama-client/src/commonTest/kotlin/ai/koog/prompt/executor/ollama/client/ContextWindowStrategyTest.kt",
        "extension" : "kt",
        "linesOfCode" : 196,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 162,
      "startLine" : 84,
      "endLine" : 98,
      "cleanedStartLine" : 45,
      "cleanedEndLine" : 56
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-ollama-client/src/commonTest/kotlin/ai/koog/prompt/executor/ollama/client/ContextWindowStrategyTest.kt",
        "extension" : "kt",
        "linesOfCode" : 196,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 162,
      "startLine" : 110,
      "endLine" : 124,
      "cleanedStartLine" : 65,
      "cleanedEndLine" : 76
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/SubgraphWithRetryTest.kt",
        "extension" : "kt",
        "linesOfCode" : 429,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 348,
      "startLine" : 214,
      "endLine" : 231,
      "cleanedStartLine" : 140,
      "cleanedEndLine" : 151
    }, {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/SubgraphWithRetryTest.kt",
        "extension" : "kt",
        "linesOfCode" : 429,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 348,
      "startLine" : 330,
      "endLine" : 347,
      "cleanedStartLine" : 223,
      "cleanedEndLine" : 234
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerTestAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 281,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 212,
      "startLine" : 210,
      "endLine" : 221,
      "cleanedStartLine" : 128,
      "cleanedEndLine" : 139
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageRemoteWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 816,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 671,
      "startLine" : 409,
      "endLine" : 420,
      "cleanedStartLine" : 250,
      "cleanedEndLine" : 261
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-server/src/commonTest/kotlin/ai/koog/a2a/server/session/SessionManagerTest.kt",
        "extension" : "kt",
        "linesOfCode" : 215,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 175,
      "startLine" : 57,
      "endLine" : 69,
      "cleanedStartLine" : 20,
      "cleanedEndLine" : 31
    }, {
      "file" : {
        "relativePath" : "a2a/a2a-server/src/commonTest/kotlin/ai/koog/a2a/server/tasks/InMemoryTaskStorageTest.kt",
        "extension" : "kt",
        "linesOfCode" : 279,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 239,
      "startLine" : 326,
      "endLine" : 338,
      "cleanedStartLine" : 216,
      "cleanedEndLine" : 227
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageLogWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 480,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 396,
      "startLine" : 469,
      "endLine" : 480,
      "cleanedStartLine" : 323,
      "cleanedEndLine" : 334
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageRemoteWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 816,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 671,
      "startLine" : 256,
      "endLine" : 267,
      "cleanedStartLine" : 122,
      "cleanedEndLine" : 133
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicModels.kt",
        "extension" : "kt",
        "linesOfCode" : 195,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 178,
      "startLine" : 150,
      "endLine" : 170,
      "cleanedStartLine" : 65,
      "cleanedEndLine" : 76
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicModels.kt",
        "extension" : "kt",
        "linesOfCode" : 195,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 178,
      "startLine" : 174,
      "endLine" : 195,
      "cleanedStartLine" : 80,
      "cleanedEndLine" : 91
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/mistralai/models/MistralAISerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 146,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 114,
      "startLine" : 132,
      "endLine" : 145,
      "cleanedStartLine" : 81,
      "cleanedEndLine" : 92
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-ollama-client/src/commonTest/kotlin/ai/koog/prompt/executor/ollama/client/dto/OllamaSerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 154,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 131,
      "startLine" : 135,
      "endLine" : 148,
      "cleanedStartLine" : 93,
      "cleanedEndLine" : 104
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicModels.kt",
        "extension" : "kt",
        "linesOfCode" : 195,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 178,
      "startLine" : 150,
      "endLine" : 170,
      "cleanedStartLine" : 65,
      "cleanedEndLine" : 76
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicModels.kt",
        "extension" : "kt",
        "linesOfCode" : 195,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 178,
      "startLine" : 250,
      "endLine" : 271,
      "cleanedStartLine" : 125,
      "cleanedEndLine" : 136
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 47,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 3,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 12
    }, {
      "file" : {
        "relativePath" : "a2a/a2a-transport/a2a-transport-core-jsonrpc/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 37,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 3,
      "endLine" : 18,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 12
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-cache/prompt-cache-files/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 26,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 3,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 12
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-cache/prompt-cache-redis/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 35,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 3,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 12
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/BedrockLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 751,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 628,
      "startLine" : 412,
      "endLine" : 428,
      "cleanedStartLine" : 258,
      "cleanedEndLine" : 269
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/BedrockLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 751,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 628,
      "startLine" : 449,
      "endLine" : 465,
      "cleanedStartLine" : 284,
      "cleanedEndLine" : 295
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryInferenceSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 556,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 517,
      "startLine" : 176,
      "endLine" : 187,
      "cleanedStartLine" : 124,
      "cleanedEndLine" : 135
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryInferenceSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 556,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 517,
      "startLine" : 467,
      "endLine" : 478,
      "cleanedStartLine" : 383,
      "cleanedEndLine" : 394
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client-base/src/commonTest/kotlin/ai/koog/prompt/executor/clients/openai/structure/OpenAIBasicJsonSchemaGeneratorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 152,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 134,
      "startLine" : 23,
      "endLine" : 34,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 21
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client-base/src/commonTest/kotlin/ai/koog/prompt/executor/clients/openai/structure/OpenAIStandardJsonSchemaGeneratorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 375,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 342,
      "startLine" : 26,
      "endLine" : 37,
      "cleanedStartLine" : 12,
      "cleanedEndLine" : 23
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rag/rag-base/src/jvmTest/kotlin/ai/koog/rag/base/files/JVMFileSystemProviderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 933,
        "components" : [ "primary::rag" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 724,
      "startLine" : 634,
      "endLine" : 652,
      "cleanedStartLine" : 391,
      "cleanedEndLine" : 402
    }, {
      "file" : {
        "relativePath" : "rag/rag-base/src/jvmTest/kotlin/ai/koog/rag/base/files/JVMFileSystemProviderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 933,
        "components" : [ "primary::rag" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 724,
      "startLine" : 735,
      "endLine" : 754,
      "cleanedStartLine" : 455,
      "cleanedEndLine" : 466
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/commonTest/kotlin/ai/koog/prompt/executor/clients/google/structure/GoogleSimpleJsonSchemaGeneratorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 147,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 130,
      "startLine" : 22,
      "endLine" : 33,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 21
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/commonTest/kotlin/ai/koog/prompt/executor/clients/google/structure/GoogleStandardJsonSchemaGeneratorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 323,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 297,
      "startLine" : 25,
      "endLine" : 36,
      "cleanedStartLine" : 12,
      "cleanedEndLine" : 23
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-event-handler/src/jvmTest/kotlin/ai/koog/agents/features/eventHandler/feature/NodeLLMRequestStreamingAndSendResultsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 156,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 115,
      "startLine" : 65,
      "endLine" : 84,
      "cleanedStartLine" : 34,
      "cleanedEndLine" : 45
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-event-handler/src/jvmTest/kotlin/ai/koog/agents/features/eventHandler/feature/NodeLLMRequestStreamingAndSendResultsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 156,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 115,
      "startLine" : 109,
      "endLine" : 127,
      "cleanedStartLine" : 60,
      "cleanedEndLine" : 71
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmMain/kotlin/ai/koog/agents/features/opentelemetry/feature/OpenTelemetry.kt",
        "extension" : "kt",
        "linesOfCode" : 583,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 491,
      "startLine" : 584,
      "endLine" : 598,
      "cleanedStartLine" : 371,
      "cleanedEndLine" : 382
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmMain/kotlin/ai/koog/agents/features/opentelemetry/feature/OpenTelemetry.kt",
        "extension" : "kt",
        "linesOfCode" : 583,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 491,
      "startLine" : 619,
      "endLine" : 633,
      "cleanedStartLine" : 396,
      "cleanedEndLine" : 407
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-structure/src/commonTest/kotlin/ai/koog/prompt/structure/json/generator/JsonSchemaGeneratorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 819,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 713,
      "startLine" : 183,
      "endLine" : 196,
      "cleanedStartLine" : 141,
      "cleanedEndLine" : 152
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-structure/src/commonTest/kotlin/ai/koog/prompt/structure/json/generator/JsonSchemaGeneratorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 819,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 713,
      "startLine" : 351,
      "endLine" : 364,
      "cleanedStartLine" : 277,
      "cleanedEndLine" : 288
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-test/src/commonMain/kotlin/ai/koog/agents/testing/tools/MockLLMBuilder.kt",
        "extension" : "kt",
        "linesOfCode" : 495,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 414,
      "startLine" : 296,
      "endLine" : 307,
      "cleanedStartLine" : 117,
      "cleanedEndLine" : 128
    }, {
      "file" : {
        "relativePath" : "agents/agents-test/src/commonMain/kotlin/ai/koog/agents/testing/tools/MockLLMBuilder.kt",
        "extension" : "kt",
        "linesOfCode" : 495,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 414,
      "startLine" : 358,
      "endLine" : 369,
      "cleanedStartLine" : 155,
      "cleanedEndLine" : 166
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerConfigTest.kt",
        "extension" : "kt",
        "linesOfCode" : 192,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 139,
      "startLine" : 133,
      "endLine" : 149,
      "cleanedStartLine" : 66,
      "cleanedEndLine" : 77
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerTestAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 281,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 212,
      "startLine" : 284,
      "endLine" : 300,
      "cleanedStartLine" : 190,
      "cleanedEndLine" : 201
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rag/vector-storage/src/commonTest/kotlin/ai/koog/rag/vector/FileDocumentEmbeddingStorageTest.kt",
        "extension" : "kt",
        "linesOfCode" : 114,
        "components" : [ "primary::rag" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 90,
      "startLine" : 67,
      "endLine" : 82,
      "cleanedStartLine" : 34,
      "cleanedEndLine" : 45
    }, {
      "file" : {
        "relativePath" : "rag/vector-storage/src/commonTest/kotlin/ai/koog/rag/vector/TextFileDocumentEmbeddingStorageTest.kt",
        "extension" : "kt",
        "linesOfCode" : 141,
        "components" : [ "primary::rag" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 112,
      "startLine" : 64,
      "endLine" : 79,
      "cleanedStartLine" : 32,
      "cleanedEndLine" : 43
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetrySpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 256,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 224,
      "startLine" : 176,
      "endLine" : 187,
      "cleanedStartLine" : 118,
      "cleanedEndLine" : 129
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetrySpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 256,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 224,
      "startLine" : 270,
      "endLine" : 281,
      "cleanedStartLine" : 206,
      "cleanedEndLine" : 217
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-test/src/commonMain/kotlin/ai/koog/agents/testing/tools/MockLLMBuilder.kt",
        "extension" : "kt",
        "linesOfCode" : 495,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 414,
      "startLine" : 266,
      "endLine" : 277,
      "cleanedStartLine" : 99,
      "cleanedEndLine" : 110
    }, {
      "file" : {
        "relativePath" : "agents/agents-test/src/commonMain/kotlin/ai/koog/agents/testing/tools/MockLLMBuilder.kt",
        "extension" : "kt",
        "linesOfCode" : 495,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 414,
      "startLine" : 358,
      "endLine" : 369,
      "cleanedStartLine" : 155,
      "cleanedEndLine" : 166
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageFileWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 509,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 418,
      "startLine" : 140,
      "endLine" : 151,
      "cleanedStartLine" : 56,
      "cleanedEndLine" : 67
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageRemoteWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 816,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 671,
      "startLine" : 256,
      "endLine" : 267,
      "cleanedStartLine" : 122,
      "cleanedEndLine" : 133
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-server/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 50,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 3,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 12
    }, {
      "file" : {
        "relativePath" : "a2a/a2a-transport/a2a-transport-core-jsonrpc/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 37,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 3,
      "endLine" : 18,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 12
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-structure/src/commonTest/kotlin/ai/koog/prompt/structure/json/JsonStructureTest.kt",
        "extension" : "kt",
        "linesOfCode" : 244,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 205,
      "startLine" : 242,
      "endLine" : 258,
      "cleanedStartLine" : 170,
      "cleanedEndLine" : 181
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-structure/src/commonTest/kotlin/ai/koog/prompt/structure/json/JsonStructureTest.kt",
        "extension" : "kt",
        "linesOfCode" : 244,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 205,
      "startLine" : 264,
      "endLine" : 280,
      "cleanedStartLine" : 186,
      "cleanedEndLine" : 197
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryAgentSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 148,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 126,
      "startLine" : 35,
      "endLine" : 49,
      "cleanedStartLine" : 12,
      "cleanedEndLine" : 23
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryAgentSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 148,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 126,
      "startLine" : 119,
      "endLine" : 133,
      "cleanedStartLine" : 78,
      "cleanedEndLine" : 89
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-sql/src/jvmTest/kotlin/ai/koog/agents/features/sql/providers/H2PersistencyStorageProviderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 85,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 60,
      "startLine" : 62,
      "endLine" : 81,
      "cleanedStartLine" : 27,
      "cleanedEndLine" : 38
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-sql/src/jvmTest/kotlin/ai/koog/agents/features/sql/providers/MySQLPersistencyStorageProviderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 106,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 76,
      "startLine" : 85,
      "endLine" : 104,
      "cleanedStartLine" : 43,
      "cleanedEndLine" : 54
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmMain/kotlin/ai/koog/agents/features/opentelemetry/feature/OpenTelemetry.kt",
        "extension" : "kt",
        "linesOfCode" : 583,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 491,
      "startLine" : 584,
      "endLine" : 598,
      "cleanedStartLine" : 371,
      "cleanedEndLine" : 382
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmMain/kotlin/ai/koog/agents/features/opentelemetry/feature/OpenTelemetry.kt",
        "extension" : "kt",
        "linesOfCode" : 583,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 491,
      "startLine" : 659,
      "endLine" : 673,
      "cleanedStartLine" : 425,
      "cleanedEndLine" : 436
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-planner/src/commonTest/kotlin/ai/koog/agents/planner/GOAPPlannerAgentTest.kt",
        "extension" : "kt",
        "linesOfCode" : 203,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 173,
      "startLine" : 135,
      "endLine" : 149,
      "cleanedStartLine" : 87,
      "cleanedEndLine" : 98
    }, {
      "file" : {
        "relativePath" : "agents/agents-planner/src/commonTest/kotlin/ai/koog/agents/planner/GOAPPlannerAgentTest.kt",
        "extension" : "kt",
        "linesOfCode" : 203,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 173,
      "startLine" : 229,
      "endLine" : 243,
      "cleanedStartLine" : 155,
      "cleanedEndLine" : 166
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/SubgraphWithRetryTest.kt",
        "extension" : "kt",
        "linesOfCode" : 429,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 348,
      "startLine" : 147,
      "endLine" : 159,
      "cleanedStartLine" : 89,
      "cleanedEndLine" : 100
    }, {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/SubgraphWithRetryTest.kt",
        "extension" : "kt",
        "linesOfCode" : 429,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 348,
      "startLine" : 205,
      "endLine" : 217,
      "cleanedStartLine" : 132,
      "cleanedEndLine" : 143
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerTest.kt",
        "extension" : "kt",
        "linesOfCode" : 521,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 437,
      "startLine" : 302,
      "endLine" : 313,
      "cleanedStartLine" : 186,
      "cleanedEndLine" : 197
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerTestAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 281,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 212,
      "startLine" : 210,
      "endLine" : 221,
      "cleanedStartLine" : 128,
      "cleanedEndLine" : 139
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-structure/src/commonTest/kotlin/ai/koog/prompt/structure/json/generator/JsonSchemaGeneratorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 819,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 713,
      "startLine" : 678,
      "endLine" : 689,
      "cleanedStartLine" : 556,
      "cleanedEndLine" : 567
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-structure/src/commonTest/kotlin/ai/koog/prompt/structure/json/generator/JsonSchemaGeneratorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 819,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 713,
      "startLine" : 770,
      "endLine" : 781,
      "cleanedStartLine" : 631,
      "cleanedEndLine" : 642
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageFileWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 509,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 418,
      "startLine" : 376,
      "endLine" : 394,
      "cleanedStartLine" : 265,
      "cleanedEndLine" : 276
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageLogWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 480,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 396,
      "startLine" : 347,
      "endLine" : 365,
      "cleanedStartLine" : 246,
      "cleanedEndLine" : 257
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-sql/src/jvmTest/kotlin/ai/koog/agents/features/sql/providers/H2PersistencyStorageProviderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 85,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 60,
      "startLine" : 62,
      "endLine" : 81,
      "cleanedStartLine" : 27,
      "cleanedEndLine" : 38
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-sql/src/jvmTest/kotlin/ai/koog/agents/features/sql/providers/PostgresPersistencyStorageProviderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 105,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 76,
      "startLine" : 84,
      "endLine" : 103,
      "cleanedStartLine" : 43,
      "cleanedEndLine" : 54
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetrySubgraphTest.kt",
        "extension" : "kt",
        "linesOfCode" : 334,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 313,
      "startLine" : 19,
      "endLine" : 35,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetrySubgraphTest.kt",
        "extension" : "kt",
        "linesOfCode" : 334,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 313,
      "startLine" : 134,
      "endLine" : 150,
      "cleanedStartLine" : 105,
      "cleanedEndLine" : 116
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 676,
      "endLine" : 699,
      "cleanedStartLine" : 372,
      "cleanedEndLine" : 383
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 703,
      "endLine" : 724,
      "cleanedStartLine" : 387,
      "cleanedEndLine" : 398
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 132,
      "endLine" : 143,
      "cleanedStartLine" : 42,
      "cleanedEndLine" : 53
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 362,
      "endLine" : 373,
      "cleanedStartLine" : 183,
      "cleanedEndLine" : 194
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 132,
      "endLine" : 143,
      "cleanedStartLine" : 42,
      "cleanedEndLine" : 53
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 393,
      "endLine" : 404,
      "cleanedStartLine" : 203,
      "cleanedEndLine" : 214
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 132,
      "endLine" : 143,
      "cleanedStartLine" : 42,
      "cleanedEndLine" : 53
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 424,
      "endLine" : 435,
      "cleanedStartLine" : 223,
      "cleanedEndLine" : 234
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 132,
      "endLine" : 143,
      "cleanedStartLine" : 42,
      "cleanedEndLine" : 53
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 456,
      "endLine" : 467,
      "cleanedStartLine" : 243,
      "cleanedEndLine" : 254
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmMain/kotlin/ai/koog/agents/features/opentelemetry/integration/langfuse/LangfuseSpanAdapter.kt",
        "extension" : "kt",
        "linesOfCode" : 132,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 83,
      "startLine" : 91,
      "endLine" : 114,
      "cleanedStartLine" : 42,
      "cleanedEndLine" : 53
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmMain/kotlin/ai/koog/agents/features/opentelemetry/integration/weave/WeaveSpanAdapter.kt",
        "extension" : "kt",
        "linesOfCode" : 173,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 106,
      "startLine" : 58,
      "endLine" : 82,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 27
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-structure/src/commonTest/kotlin/ai/koog/prompt/structure/json/generator/JsonSchemaGeneratorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 819,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 713,
      "startLine" : 190,
      "endLine" : 201,
      "cleanedStartLine" : 146,
      "cleanedEndLine" : 157
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-structure/src/commonTest/kotlin/ai/koog/prompt/structure/json/generator/JsonSchemaGeneratorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 819,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 713,
      "startLine" : 292,
      "endLine" : 303,
      "cleanedStartLine" : 229,
      "cleanedEndLine" : 240
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/commonTest/kotlin/ai/koog/prompt/executor/clients/google/structure/GoogleSimpleJsonSchemaGeneratorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 147,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 130,
      "startLine" : 22,
      "endLine" : 33,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 21
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client-base/src/commonTest/kotlin/ai/koog/prompt/executor/clients/openai/structure/OpenAIStandardJsonSchemaGeneratorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 375,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 342,
      "startLine" : 26,
      "endLine" : 37,
      "cleanedStartLine" : 12,
      "cleanedEndLine" : 23
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-tools/src/jvmMain/kotlin/ai/koog/agents/core/tools/reflect/java/javaIUtils.kt",
        "extension" : "kt",
        "linesOfCode" : 260,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 198,
      "startLine" : 113,
      "endLine" : 126,
      "cleanedStartLine" : 51,
      "cleanedEndLine" : 62
    }, {
      "file" : {
        "relativePath" : "agents/agents-tools/src/jvmMain/kotlin/ai/koog/agents/core/tools/reflect/util.kt",
        "extension" : "kt",
        "linesOfCode" : 210,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 156,
      "startLine" : 315,
      "endLine" : 328,
      "cleanedStartLine" : 98,
      "cleanedEndLine" : 109
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-ollama-client/src/commonTest/kotlin/ai/koog/prompt/executor/ollama/client/OllamaToolDescriptorConverterAdditionalTest.kt",
        "extension" : "kt",
        "linesOfCode" : 129,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 109,
      "startLine" : 109,
      "endLine" : 120,
      "cleanedStartLine" : 82,
      "cleanedEndLine" : 93
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client-base/src/commonTest/kotlin/ai/koog/prompt/executor/clients/openai/base/OpenAICompatibleToolDescriptorConverterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 214,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 181,
      "startLine" : 104,
      "endLine" : 115,
      "cleanedStartLine" : 78,
      "cleanedEndLine" : 89
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-ollama-client/src/commonTest/kotlin/ai/koog/prompt/executor/ollama/client/OllamaToolDescriptorConverterAdditionalTest.kt",
        "extension" : "kt",
        "linesOfCode" : 129,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 109,
      "startLine" : 17,
      "endLine" : 28,
      "cleanedStartLine" : 6,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client-base/src/commonTest/kotlin/ai/koog/prompt/executor/clients/openai/base/OpenAICompatibleToolDescriptorConverterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 214,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 181,
      "startLine" : 16,
      "endLine" : 27,
      "cleanedStartLine" : 6,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 229,
      "endLine" : 240,
      "cleanedStartLine" : 105,
      "cleanedEndLine" : 116
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 362,
      "endLine" : 373,
      "cleanedStartLine" : 183,
      "cleanedEndLine" : 194
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 229,
      "endLine" : 240,
      "cleanedStartLine" : 105,
      "cleanedEndLine" : 116
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 393,
      "endLine" : 404,
      "cleanedStartLine" : 203,
      "cleanedEndLine" : 214
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/dsl/extension/ParallelNodesTest.kt",
        "extension" : "kt",
        "linesOfCode" : 380,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 299,
      "startLine" : 279,
      "endLine" : 297,
      "cleanedStartLine" : 178,
      "cleanedEndLine" : 189
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/dsl/extension/ParallelNodesTest.kt",
        "extension" : "kt",
        "linesOfCode" : 380,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 299,
      "startLine" : 402,
      "endLine" : 420,
      "cleanedStartLine" : 263,
      "cleanedEndLine" : 274
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 229,
      "endLine" : 240,
      "cleanedStartLine" : 105,
      "cleanedEndLine" : 116
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 456,
      "endLine" : 467,
      "cleanedStartLine" : 243,
      "cleanedEndLine" : 254
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 229,
      "endLine" : 240,
      "cleanedStartLine" : 105,
      "cleanedEndLine" : 116
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 424,
      "endLine" : 435,
      "cleanedStartLine" : 223,
      "cleanedEndLine" : 234
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerTestAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 281,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 212,
      "startLine" : 181,
      "endLine" : 192,
      "cleanedStartLine" : 99,
      "cleanedEndLine" : 110
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerTestAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 281,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 212,
      "startLine" : 210,
      "endLine" : 221,
      "cleanedStartLine" : 128,
      "cleanedEndLine" : 139
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-planner/src/commonTest/kotlin/ai/koog/agents/planner/GOAPPlannerAgentTest.kt",
        "extension" : "kt",
        "linesOfCode" : 203,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 173,
      "startLine" : 63,
      "endLine" : 77,
      "cleanedStartLine" : 37,
      "cleanedEndLine" : 48
    }, {
      "file" : {
        "relativePath" : "agents/agents-planner/src/commonTest/kotlin/ai/koog/agents/planner/GOAPPlannerAgentTest.kt",
        "extension" : "kt",
        "linesOfCode" : 203,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 173,
      "startLine" : 229,
      "endLine" : 243,
      "cleanedStartLine" : 155,
      "cleanedEndLine" : 166
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicModels.kt",
        "extension" : "kt",
        "linesOfCode" : 195,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 178,
      "startLine" : 199,
      "endLine" : 220,
      "cleanedStartLine" : 95,
      "cleanedEndLine" : 106
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicModels.kt",
        "extension" : "kt",
        "linesOfCode" : 195,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 178,
      "startLine" : 224,
      "endLine" : 246,
      "cleanedStartLine" : 110,
      "cleanedEndLine" : 121
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-memory/src/jvmTest/kotlin/ai/koog/agents/memory/AIAgentMemoryTest.kt",
        "extension" : "kt",
        "linesOfCode" : 470,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 399,
      "startLine" : 103,
      "endLine" : 115,
      "cleanedStartLine" : 38,
      "cleanedEndLine" : 49
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-memory/src/jvmTest/kotlin/ai/koog/agents/memory/AIAgentMemoryTest.kt",
        "extension" : "kt",
        "linesOfCode" : 470,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 399,
      "startLine" : 180,
      "endLine" : 192,
      "cleanedStartLine" : 98,
      "cleanedEndLine" : 109
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/appleMain/kotlin/ai/koog/agents/snapshot/feature/RollbackToolRegistryBuilder.kt",
        "extension" : "kt",
        "linesOfCode" : 14,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 11,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 11
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/wasmJsMain/kotlin/ai/koog/agents/snapshot/feature/RollbackToolRegistryBuilder.kt",
        "extension" : "kt",
        "linesOfCode" : 14,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 11,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 11
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/appleMain/kotlin/ai/koog/agents/core/agent/context/AIAgentFunctionalContext.kt",
        "extension" : "kt",
        "linesOfCode" : 100,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 87,
      "startLine" : 78,
      "endLine" : 88,
      "cleanedStartLine" : 59,
      "cleanedEndLine" : 69
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jsMain/kotlin/ai/koog/agents/core/agent/context/AIAgentFunctionalContext.kt",
        "extension" : "kt",
        "linesOfCode" : 100,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 87,
      "startLine" : 24,
      "endLine" : 34,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 18
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-test/src/commonMain/kotlin/ai/koog/agents/testing/feature/TestingFeature.kt",
        "extension" : "kt",
        "linesOfCode" : 505,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 400,
      "startLine" : 752,
      "endLine" : 762,
      "cleanedStartLine" : 174,
      "cleanedEndLine" : 184
    }, {
      "file" : {
        "relativePath" : "agents/agents-test/src/commonMain/kotlin/ai/koog/agents/testing/tools/DummyAIAgentContext.kt",
        "extension" : "kt",
        "linesOfCode" : 208,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 169,
      "startLine" : 444,
      "endLine" : 454,
      "cleanedStartLine" : 127,
      "cleanedEndLine" : 137
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicModels.kt",
        "extension" : "kt",
        "linesOfCode" : 195,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 178,
      "startLine" : 52,
      "endLine" : 72,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicModels.kt",
        "extension" : "kt",
        "linesOfCode" : 195,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 178,
      "startLine" : 76,
      "endLine" : 96,
      "cleanedStartLine" : 21,
      "cleanedEndLine" : 31
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerStreamingTest.kt",
        "extension" : "kt",
        "linesOfCode" : 347,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 262,
      "startLine" : 152,
      "endLine" : 165,
      "cleanedStartLine" : 64,
      "cleanedEndLine" : 74
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerSubgraphTest.kt",
        "extension" : "kt",
        "linesOfCode" : 262,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 194,
      "startLine" : 255,
      "endLine" : 267,
      "cleanedStartLine" : 143,
      "cleanedEndLine" : 153
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerSubgraphTest.kt",
        "extension" : "kt",
        "linesOfCode" : 262,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 194,
      "startLine" : 255,
      "endLine" : 267,
      "cleanedStartLine" : 143,
      "cleanedEndLine" : 153
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerTest.kt",
        "extension" : "kt",
        "linesOfCode" : 521,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 437,
      "startLine" : 196,
      "endLine" : 208,
      "cleanedStartLine" : 93,
      "cleanedEndLine" : 103
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/ext/agent/LLMAsAJudge.kt",
        "extension" : "kt",
        "linesOfCode" : 86,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 69,
      "startLine" : 71,
      "endLine" : 82,
      "cleanedStartLine" : 31,
      "cleanedEndLine" : 41
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-memory/src/commonMain/kotlin/ai/koog/agents/memory/feature/AgentMemory.kt",
        "extension" : "kt",
        "linesOfCode" : 281,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 200,
      "startLine" : 484,
      "endLine" : 494,
      "cleanedStartLine" : 163,
      "cleanedEndLine" : 173
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/context/AIAgentFunctionalContext.kt",
        "extension" : "kt",
        "linesOfCode" : 179,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 153,
      "startLine" : 57,
      "endLine" : 67,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmMain/kotlin/ai/koog/agents/core/agent/context/AIAgentFunctionalContext.kt",
        "extension" : "kt",
        "linesOfCode" : 302,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 250,
      "startLine" : 102,
      "endLine" : 112,
      "cleanedStartLine" : 64,
      "cleanedEndLine" : 74
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicLLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 524,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 393,
      "startLine" : 183,
      "endLine" : 196,
      "cleanedStartLine" : 74,
      "cleanedEndLine" : 84
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmMain/kotlin/ai/koog/prompt/executor/clients/bedrock/modelfamilies/anthropic/BedrockAnthropicClaudeSerialization.kt",
        "extension" : "kt",
        "linesOfCode" : 286,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 208,
      "startLine" : 231,
      "endLine" : 244,
      "cleanedStartLine" : 152,
      "cleanedEndLine" : 162
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/context/AIAgentFunctionalContext.kt",
        "extension" : "kt",
        "linesOfCode" : 179,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 153,
      "startLine" : 57,
      "endLine" : 67,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmMain/kotlin/ai/koog/agents/core/agent/context/AIAgentFunctionalContext.kt",
        "extension" : "kt",
        "linesOfCode" : 302,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 250,
      "startLine" : 45,
      "endLine" : 55,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 20
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerStreamingTest.kt",
        "extension" : "kt",
        "linesOfCode" : 347,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 262,
      "startLine" : 328,
      "endLine" : 342,
      "cleanedStartLine" : 193,
      "cleanedEndLine" : 203
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerTest.kt",
        "extension" : "kt",
        "linesOfCode" : 521,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 437,
      "startLine" : 176,
      "endLine" : 190,
      "cleanedStartLine" : 81,
      "cleanedEndLine" : 91
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/OpenTelemetryTestAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 258,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 193,
      "startLine" : 216,
      "endLine" : 226,
      "cleanedStartLine" : 115,
      "cleanedEndLine" : 125
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/OpenTelemetryTestAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 258,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 193,
      "startLine" : 246,
      "endLine" : 256,
      "cleanedStartLine" : 142,
      "cleanedEndLine" : 152
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-test/src/commonMain/kotlin/ai/koog/agents/testing/feature/TestingFeature.kt",
        "extension" : "kt",
        "linesOfCode" : 505,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 400,
      "startLine" : 861,
      "endLine" : 871,
      "cleanedStartLine" : 202,
      "cleanedEndLine" : 212
    }, {
      "file" : {
        "relativePath" : "agents/agents-test/src/commonMain/kotlin/ai/koog/agents/testing/tools/DummyAIAgentContext.kt",
        "extension" : "kt",
        "linesOfCode" : 208,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 169,
      "startLine" : 444,
      "endLine" : 454,
      "cleanedStartLine" : 127,
      "cleanedEndLine" : 137
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-deepseek-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/deepseek/DeepSeekParams.kt",
        "extension" : "kt",
        "linesOfCode" : 143,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 55,
      "endLine" : 65,
      "cleanedStartLine" : 30,
      "cleanedEndLine" : 40
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/google/GoogleParams.kt",
        "extension" : "kt",
        "linesOfCode" : 115,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 103,
      "startLine" : 52,
      "endLine" : 62,
      "cleanedStartLine" : 27,
      "cleanedEndLine" : 37
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 105,
      "endLine" : 126,
      "cleanedStartLine" : 26,
      "cleanedEndLine" : 36
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 137,
      "endLine" : 158,
      "cleanedStartLine" : 47,
      "cleanedEndLine" : 57
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageFileWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 509,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 418,
      "startLine" : 478,
      "endLine" : 491,
      "cleanedStartLine" : 330,
      "cleanedEndLine" : 340
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageRemoteWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 816,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 671,
      "startLine" : 234,
      "endLine" : 247,
      "cleanedStartLine" : 105,
      "cleanedEndLine" : 115
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/span/SpanCollectorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 437,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 399,
      "startLine" : 83,
      "endLine" : 94,
      "cleanedStartLine" : 51,
      "cleanedEndLine" : 61
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/span/SpanCollectorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 437,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 399,
      "startLine" : 110,
      "endLine" : 120,
      "cleanedStartLine" : 71,
      "cleanedEndLine" : 81
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/mistralai/models/MistralAISerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 146,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 114,
      "startLine" : 112,
      "endLine" : 124,
      "cleanedStartLine" : 67,
      "cleanedEndLine" : 77
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/openai/models/OpenAIChatCompletionRequestSerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 149,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 109,
      "startLine" : 104,
      "endLine" : 116,
      "cleanedStartLine" : 67,
      "cleanedEndLine" : 77
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/span/SpanCollectorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 437,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 399,
      "startLine" : 83,
      "endLine" : 94,
      "cleanedStartLine" : 51,
      "cleanedEndLine" : 61
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/span/SpanCollectorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 437,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 399,
      "startLine" : 216,
      "endLine" : 226,
      "cleanedStartLine" : 145,
      "cleanedEndLine" : 155
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageRemoteWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 816,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 671,
      "startLine" : 607,
      "endLine" : 626,
      "cleanedStartLine" : 447,
      "cleanedEndLine" : 457
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageRemoteWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 816,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 671,
      "startLine" : 918,
      "endLine" : 934,
      "cleanedStartLine" : 661,
      "cleanedEndLine" : 671
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerStreamingTest.kt",
        "extension" : "kt",
        "linesOfCode" : 347,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 262,
      "startLine" : 328,
      "endLine" : 342,
      "cleanedStartLine" : 193,
      "cleanedEndLine" : 203
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerSubgraphTest.kt",
        "extension" : "kt",
        "linesOfCode" : 262,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 194,
      "startLine" : 93,
      "endLine" : 107,
      "cleanedStartLine" : 35,
      "cleanedEndLine" : 45
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/commonTest/kotlin/ai/koog/prompt/executor/clients/google/structure/GoogleStandardJsonSchemaGeneratorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 323,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 297,
      "startLine" : 272,
      "endLine" : 282,
      "cleanedStartLine" : 238,
      "cleanedEndLine" : 248
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client-base/src/commonTest/kotlin/ai/koog/prompt/executor/clients/openai/structure/OpenAIBasicJsonSchemaGeneratorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 152,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 134,
      "startLine" : 83,
      "endLine" : 93,
      "cleanedStartLine" : 60,
      "cleanedEndLine" : 70
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/dashscope/DashscopeModels.kt",
        "extension" : "kt",
        "linesOfCode" : 118,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 112,
      "startLine" : 63,
      "endLine" : 73,
      "cleanedStartLine" : 36,
      "cleanedEndLine" : 46
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/dashscope/DashscopeModels.kt",
        "extension" : "kt",
        "linesOfCode" : 118,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 112,
      "startLine" : 109,
      "endLine" : 119,
      "cleanedStartLine" : 70,
      "cleanedEndLine" : 80
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipeline.kt",
        "extension" : "kt",
        "linesOfCode" : 448,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 394,
      "startLine" : 358,
      "endLine" : 368,
      "cleanedStartLine" : 112,
      "cleanedEndLine" : 122
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 328,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 286,
      "startLine" : 178,
      "endLine" : 188,
      "cleanedStartLine" : 107,
      "cleanedEndLine" : 117
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/SubgraphWithTaskTest.kt",
        "extension" : "kt",
        "linesOfCode" : 603,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 509,
      "startLine" : 76,
      "endLine" : 91,
      "cleanedStartLine" : 31,
      "cleanedEndLine" : 41
    }, {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/SubgraphWithTaskTest.kt",
        "extension" : "kt",
        "linesOfCode" : 603,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 509,
      "startLine" : 262,
      "endLine" : 281,
      "cleanedStartLine" : 160,
      "cleanedEndLine" : 170
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-ollama-client/src/commonTest/kotlin/ai/koog/prompt/executor/ollama/client/OllamaToolCallTest.kt",
        "extension" : "kt",
        "linesOfCode" : 210,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 189,
      "startLine" : 138,
      "endLine" : 148,
      "cleanedStartLine" : 98,
      "cleanedEndLine" : 108
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-ollama-client/src/commonTest/kotlin/ai/koog/prompt/executor/ollama/client/OllamaToolCallTest.kt",
        "extension" : "kt",
        "linesOfCode" : 210,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 189,
      "startLine" : 151,
      "endLine" : 161,
      "cleanedStartLine" : 110,
      "cleanedEndLine" : 120
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/SubgraphWithTaskTest.kt",
        "extension" : "kt",
        "linesOfCode" : 603,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 509,
      "startLine" : 599,
      "endLine" : 613,
      "cleanedStartLine" : 394,
      "cleanedEndLine" : 404
    }, {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/SubgraphWithTaskTest.kt",
        "extension" : "kt",
        "linesOfCode" : 603,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 509,
      "startLine" : 667,
      "endLine" : 680,
      "cleanedStartLine" : 443,
      "cleanedEndLine" : 453
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/SubgraphCheckpointsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 183,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 146,
      "startLine" : 23,
      "endLine" : 35,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 12
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/SubgraphSetExecutionPointTest.kt",
        "extension" : "kt",
        "linesOfCode" : 176,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 143,
      "startLine" : 16,
      "endLine" : 28,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 12
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/GenAIAgentSpanUtilsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 329,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 292,
      "startLine" : 356,
      "endLine" : 366,
      "cleanedStartLine" : 244,
      "cleanedEndLine" : 254
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/GenAIAgentSpanUtilsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 329,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 292,
      "startLine" : 386,
      "endLine" : 396,
      "cleanedStartLine" : 266,
      "cleanedEndLine" : 276
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-test/src/commonMain/kotlin/ai/koog/agents/testing/tools/MockLLMBuilder.kt",
        "extension" : "kt",
        "linesOfCode" : 495,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 414,
      "startLine" : 297,
      "endLine" : 307,
      "cleanedStartLine" : 118,
      "cleanedEndLine" : 128
    }, {
      "file" : {
        "relativePath" : "agents/agents-test/src/commonMain/kotlin/ai/koog/agents/testing/tools/MockLLMBuilder.kt",
        "extension" : "kt",
        "linesOfCode" : 495,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 414,
      "startLine" : 330,
      "endLine" : 340,
      "cleanedStartLine" : 137,
      "cleanedEndLine" : 147
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/dashscope/DashscopeParams.kt",
        "extension" : "kt",
        "linesOfCode" : 159,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 144,
      "startLine" : 61,
      "endLine" : 71,
      "cleanedStartLine" : 33,
      "cleanedEndLine" : 43
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/google/GoogleParams.kt",
        "extension" : "kt",
        "linesOfCode" : 115,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 103,
      "startLine" : 52,
      "endLine" : 62,
      "cleanedStartLine" : 27,
      "cleanedEndLine" : 37
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/appleMain/kotlin/ai/koog/agents/core/agent/context/AIAgentFunctionalContext.kt",
        "extension" : "kt",
        "linesOfCode" : 100,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 87,
      "startLine" : 24,
      "endLine" : 34,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 18
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jsMain/kotlin/ai/koog/agents/core/agent/context/AIAgentFunctionalContext.kt",
        "extension" : "kt",
        "linesOfCode" : 100,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 87,
      "startLine" : 78,
      "endLine" : 88,
      "cleanedStartLine" : 59,
      "cleanedEndLine" : 69
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicParams.kt",
        "extension" : "kt",
        "linesOfCode" : 154,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 135,
      "startLine" : 107,
      "endLine" : 117,
      "cleanedStartLine" : 58,
      "cleanedEndLine" : 68
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/google/GoogleParams.kt",
        "extension" : "kt",
        "linesOfCode" : 115,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 103,
      "startLine" : 77,
      "endLine" : 87,
      "cleanedStartLine" : 44,
      "cleanedEndLine" : 54
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/SubgraphWithTaskTest.kt",
        "extension" : "kt",
        "linesOfCode" : 603,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 509,
      "startLine" : 311,
      "endLine" : 325,
      "cleanedStartLine" : 191,
      "cleanedEndLine" : 201
    }, {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/SubgraphWithTaskTest.kt",
        "extension" : "kt",
        "linesOfCode" : 603,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 509,
      "startLine" : 450,
      "endLine" : 463,
      "cleanedStartLine" : 289,
      "cleanedEndLine" : 299
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/SubgraphWithTaskTest.kt",
        "extension" : "kt",
        "linesOfCode" : 603,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 509,
      "startLine" : 76,
      "endLine" : 91,
      "cleanedStartLine" : 31,
      "cleanedEndLine" : 41
    }, {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/SubgraphWithTaskTest.kt",
        "extension" : "kt",
        "linesOfCode" : 603,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 509,
      "startLine" : 607,
      "endLine" : 622,
      "cleanedStartLine" : 399,
      "cleanedEndLine" : 409
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/AIAgentBuilder.kt",
        "extension" : "kt",
        "linesOfCode" : 218,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 168,
      "startLine" : 181,
      "endLine" : 191,
      "cleanedStartLine" : 49,
      "cleanedEndLine" : 59
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/AIAgentBuilder.kt",
        "extension" : "kt",
        "linesOfCode" : 218,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 168,
      "startLine" : 382,
      "endLine" : 392,
      "cleanedStartLine" : 111,
      "cleanedEndLine" : 121
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/SubgraphWithTaskTest.kt",
        "extension" : "kt",
        "linesOfCode" : 603,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 509,
      "startLine" : 76,
      "endLine" : 91,
      "cleanedStartLine" : 31,
      "cleanedEndLine" : 41
    }, {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/SubgraphWithTaskTest.kt",
        "extension" : "kt",
        "linesOfCode" : 603,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 509,
      "startLine" : 530,
      "endLine" : 545,
      "cleanedStartLine" : 344,
      "cleanedEndLine" : 354
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jsMain/kotlin/ai/koog/agents/core/agent/context/AIAgentFunctionalContext.kt",
        "extension" : "kt",
        "linesOfCode" : 100,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 87,
      "startLine" : 24,
      "endLine" : 34,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 18
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmMain/kotlin/ai/koog/agents/core/agent/context/AIAgentFunctionalContext.kt",
        "extension" : "kt",
        "linesOfCode" : 302,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 250,
      "startLine" : 102,
      "endLine" : 112,
      "cleanedStartLine" : 64,
      "cleanedEndLine" : 74
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/AIAgentServiceBuilder.kt",
        "extension" : "kt",
        "linesOfCode" : 216,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 168,
      "startLine" : 87,
      "endLine" : 97,
      "cleanedStartLine" : 25,
      "cleanedEndLine" : 35
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/AIAgentServiceBuilder.kt",
        "extension" : "kt",
        "linesOfCode" : 216,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 168,
      "startLine" : 285,
      "endLine" : 295,
      "cleanedStartLine" : 99,
      "cleanedEndLine" : 109
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicModels.kt",
        "extension" : "kt",
        "linesOfCode" : 195,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 178,
      "startLine" : 275,
      "endLine" : 285,
      "cleanedStartLine" : 140,
      "cleanedEndLine" : 150
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicModels.kt",
        "extension" : "kt",
        "linesOfCode" : 195,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 178,
      "startLine" : 300,
      "endLine" : 310,
      "cleanedStartLine" : 155,
      "cleanedEndLine" : 165
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerStreamingTest.kt",
        "extension" : "kt",
        "linesOfCode" : 347,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 262,
      "startLine" : 82,
      "endLine" : 93,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 26
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerStreamingTest.kt",
        "extension" : "kt",
        "linesOfCode" : 347,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 262,
      "startLine" : 254,
      "endLine" : 265,
      "cleanedStartLine" : 138,
      "cleanedEndLine" : 148
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/dashscope/DashscopeModels.kt",
        "extension" : "kt",
        "linesOfCode" : 118,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 112,
      "startLine" : 87,
      "endLine" : 97,
      "cleanedStartLine" : 53,
      "cleanedEndLine" : 63
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/dashscope/DashscopeModels.kt",
        "extension" : "kt",
        "linesOfCode" : 118,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 112,
      "startLine" : 109,
      "endLine" : 119,
      "cleanedStartLine" : 70,
      "cleanedEndLine" : 80
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/appleMain/kotlin/ai/koog/agents/snapshot/feature/RollbackToolRegistryBuilder.kt",
        "extension" : "kt",
        "linesOfCode" : 14,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 11,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 11
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jsMain/kotlin/ai/koog/agents/snapshot/feature/RollbackToolRegistryBuilder.kt",
        "extension" : "kt",
        "linesOfCode" : 14,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 11,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 11
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/androidMain/kotlin/ai/koog/agents/core/agent/context/AIAgentFunctionalContext.kt",
        "extension" : "kt",
        "linesOfCode" : 100,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 87,
      "startLine" : 78,
      "endLine" : 88,
      "cleanedStartLine" : 59,
      "cleanedEndLine" : 69
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmMain/kotlin/ai/koog/agents/core/agent/context/AIAgentFunctionalContext.kt",
        "extension" : "kt",
        "linesOfCode" : 302,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 250,
      "startLine" : 45,
      "endLine" : 55,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 20
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/TraceStructureTestBase.kt",
        "extension" : "kt",
        "linesOfCode" : 802,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 688,
      "startLine" : 168,
      "endLine" : 181,
      "cleanedStartLine" : 86,
      "cleanedEndLine" : 96
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/TraceStructureTestBase.kt",
        "extension" : "kt",
        "linesOfCode" : 802,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 688,
      "startLine" : 657,
      "endLine" : 670,
      "cleanedStartLine" : 466,
      "cleanedEndLine" : 476
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-structure/src/commonTest/kotlin/ai/koog/prompt/structure/json/generator/JsonSchemaGeneratorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 819,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 713,
      "startLine" : 656,
      "endLine" : 666,
      "cleanedStartLine" : 535,
      "cleanedEndLine" : 545
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-structure/src/commonTest/kotlin/ai/koog/prompt/structure/json/generator/JsonSchemaGeneratorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 819,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 713,
      "startLine" : 748,
      "endLine" : 758,
      "cleanedStartLine" : 610,
      "cleanedEndLine" : 620
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerStreamingTest.kt",
        "extension" : "kt",
        "linesOfCode" : 347,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 262,
      "startLine" : 352,
      "endLine" : 365,
      "cleanedStartLine" : 207,
      "cleanedEndLine" : 217
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerTest.kt",
        "extension" : "kt",
        "linesOfCode" : 521,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 437,
      "startLine" : 196,
      "endLine" : 208,
      "cleanedStartLine" : 93,
      "cleanedEndLine" : 103
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-test/src/commonMain/kotlin/ai/koog/agents/testing/tools/MockLLMBuilder.kt",
        "extension" : "kt",
        "linesOfCode" : 495,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 414,
      "startLine" : 212,
      "endLine" : 222,
      "cleanedStartLine" : 65,
      "cleanedEndLine" : 75
    }, {
      "file" : {
        "relativePath" : "agents/agents-test/src/commonMain/kotlin/ai/koog/agents/testing/tools/MockLLMBuilder.kt",
        "extension" : "kt",
        "linesOfCode" : 495,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 414,
      "startLine" : 297,
      "endLine" : 307,
      "cleanedStartLine" : 118,
      "cleanedEndLine" : 128
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 846,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 674,
      "startLine" : 359,
      "endLine" : 369,
      "cleanedStartLine" : 203,
      "cleanedEndLine" : 213
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 846,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 674,
      "startLine" : 386,
      "endLine" : 396,
      "cleanedStartLine" : 228,
      "cleanedEndLine" : 238
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-test/src/commonMain/kotlin/ai/koog/agents/testing/tools/MockLLMBuilder.kt",
        "extension" : "kt",
        "linesOfCode" : 495,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 414,
      "startLine" : 212,
      "endLine" : 222,
      "cleanedStartLine" : 65,
      "cleanedEndLine" : 75
    }, {
      "file" : {
        "relativePath" : "agents/agents-test/src/commonMain/kotlin/ai/koog/agents/testing/tools/MockLLMBuilder.kt",
        "extension" : "kt",
        "linesOfCode" : 495,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 414,
      "startLine" : 359,
      "endLine" : 369,
      "cleanedStartLine" : 156,
      "cleanedEndLine" : 166
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/context/AIAgentFunctionalContext.kt",
        "extension" : "kt",
        "linesOfCode" : 179,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 153,
      "startLine" : 57,
      "endLine" : 67,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/wasmJsMain/kotlin/ai/koog/agents/core/agent/context/AIAgentFunctionalContext.kt",
        "extension" : "kt",
        "linesOfCode" : 100,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 87,
      "startLine" : 24,
      "endLine" : 34,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 18
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/GenAIAgentSpanUtilsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 329,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 292,
      "startLine" : 175,
      "endLine" : 185,
      "cleanedStartLine" : 113,
      "cleanedEndLine" : 123
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/GenAIAgentSpanUtilsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 329,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 292,
      "startLine" : 276,
      "endLine" : 286,
      "cleanedStartLine" : 184,
      "cleanedEndLine" : 194
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-client/src/jvmTest/kotlin/ai/koog/a2a/client/A2AClientJsonRpcIntegrationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 76,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 56,
      "startLine" : 86,
      "endLine" : 99,
      "cleanedStartLine" : 46,
      "cleanedEndLine" : 56
    }, {
      "file" : {
        "relativePath" : "a2a/a2a-server/src/jvmTest/kotlin/ai/koog/a2a/server/jsonrpc/A2AServerJsonRpcIntegrationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 200,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 139,
      "startLine" : 83,
      "endLine" : 96,
      "cleanedStartLine" : 30,
      "cleanedEndLine" : 40
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-server/src/commonMain/kotlin/ai/koog/a2a/server/A2AServer.kt",
        "extension" : "kt",
        "linesOfCode" : 315,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 227,
      "startLine" : 404,
      "endLine" : 416,
      "cleanedStartLine" : 55,
      "cleanedEndLine" : 65
    }, {
      "file" : {
        "relativePath" : "a2a/a2a-server/src/commonMain/kotlin/ai/koog/a2a/server/A2AServer.kt",
        "extension" : "kt",
        "linesOfCode" : 315,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 227,
      "startLine" : 546,
      "endLine" : 558,
      "cleanedStartLine" : 141,
      "cleanedEndLine" : 151
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/GenAIAgentSpanUtilsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 329,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 292,
      "startLine" : 175,
      "endLine" : 185,
      "cleanedStartLine" : 113,
      "cleanedEndLine" : 123
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/GenAIAgentSpanUtilsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 329,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 292,
      "startLine" : 226,
      "endLine" : 236,
      "cleanedStartLine" : 151,
      "cleanedEndLine" : 161
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "http-client/http-client-java/src/main/kotlin/ai/koog/http/client/java/JavaKoogHttpClient.kt",
        "extension" : "kt",
        "linesOfCode" : 182,
        "components" : [ "primary::http-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 144,
      "startLine" : 117,
      "endLine" : 129,
      "cleanedStartLine" : 61,
      "cleanedEndLine" : 71
    }, {
      "file" : {
        "relativePath" : "http-client/http-client-okhttp/src/main/kotlin/ai/koog/http/client/okhttp/OkHttpKoogHttpClient.kt",
        "extension" : "kt",
        "linesOfCode" : 173,
        "components" : [ "primary::http-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 127,
      "startLine" : 114,
      "endLine" : 127,
      "cleanedStartLine" : 55,
      "cleanedEndLine" : 65
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/GenAIAgentSpanUtilsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 329,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 292,
      "startLine" : 175,
      "endLine" : 185,
      "cleanedStartLine" : 113,
      "cleanedEndLine" : 123
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/GenAIAgentSpanUtilsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 329,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 292,
      "startLine" : 297,
      "endLine" : 307,
      "cleanedStartLine" : 200,
      "cleanedEndLine" : 210
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageTestWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 623,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 501,
      "startLine" : 589,
      "endLine" : 603,
      "cleanedStartLine" : 397,
      "cleanedEndLine" : 407
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageTestWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 623,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 501,
      "startLine" : 681,
      "endLine" : 695,
      "cleanedStartLine" : 466,
      "cleanedEndLine" : 476
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/context/AIAgentFunctionalContext.kt",
        "extension" : "kt",
        "linesOfCode" : 179,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 153,
      "startLine" : 57,
      "endLine" : 67,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/wasmJsMain/kotlin/ai/koog/agents/core/agent/context/AIAgentFunctionalContext.kt",
        "extension" : "kt",
        "linesOfCode" : 100,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 87,
      "startLine" : 78,
      "endLine" : 88,
      "cleanedStartLine" : 59,
      "cleanedEndLine" : 69
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerStreamingTest.kt",
        "extension" : "kt",
        "linesOfCode" : 347,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 262,
      "startLine" : 352,
      "endLine" : 365,
      "cleanedStartLine" : 207,
      "cleanedEndLine" : 217
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerSubgraphTest.kt",
        "extension" : "kt",
        "linesOfCode" : 262,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 194,
      "startLine" : 255,
      "endLine" : 267,
      "cleanedStartLine" : 143,
      "cleanedEndLine" : 153
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/GenAIAgentSpanUtilsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 329,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 292,
      "startLine" : 175,
      "endLine" : 185,
      "cleanedStartLine" : 113,
      "cleanedEndLine" : 123
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/GenAIAgentSpanUtilsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 329,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 292,
      "startLine" : 356,
      "endLine" : 366,
      "cleanedStartLine" : 244,
      "cleanedEndLine" : 254
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/GenAIAgentSpanUtilsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 329,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 292,
      "startLine" : 175,
      "endLine" : 185,
      "cleanedStartLine" : 113,
      "cleanedEndLine" : 123
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/GenAIAgentSpanUtilsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 329,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 292,
      "startLine" : 328,
      "endLine" : 338,
      "cleanedStartLine" : 223,
      "cleanedEndLine" : 233
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/appleMain/kotlin/ai/koog/agents/core/agent/context/AIAgentFunctionalContext.kt",
        "extension" : "kt",
        "linesOfCode" : 100,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 87,
      "startLine" : 24,
      "endLine" : 34,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 18
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/appleMain/kotlin/ai/koog/agents/core/agent/context/AIAgentFunctionalContext.kt",
        "extension" : "kt",
        "linesOfCode" : 100,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 87,
      "startLine" : 78,
      "endLine" : 88,
      "cleanedStartLine" : 59,
      "cleanedEndLine" : 69
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/GenAIAgentSpanUtilsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 329,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 292,
      "startLine" : 175,
      "endLine" : 185,
      "cleanedStartLine" : 113,
      "cleanedEndLine" : 123
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/GenAIAgentSpanUtilsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 329,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 292,
      "startLine" : 386,
      "endLine" : 396,
      "cleanedStartLine" : 266,
      "cleanedEndLine" : 276
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/androidMain/kotlin/ai/koog/agents/core/agent/context/AIAgentFunctionalContext.kt",
        "extension" : "kt",
        "linesOfCode" : 100,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 87,
      "startLine" : 24,
      "endLine" : 34,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 18
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/context/AIAgentFunctionalContext.kt",
        "extension" : "kt",
        "linesOfCode" : 179,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 153,
      "startLine" : 57,
      "endLine" : 67,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerSubgraphTest.kt",
        "extension" : "kt",
        "linesOfCode" : 262,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 194,
      "startLine" : 232,
      "endLine" : 246,
      "cleanedStartLine" : 129,
      "cleanedEndLine" : 139
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerTest.kt",
        "extension" : "kt",
        "linesOfCode" : 521,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 437,
      "startLine" : 176,
      "endLine" : 190,
      "cleanedStartLine" : 81,
      "cleanedEndLine" : 91
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/NodeUniquenessCheckpointTest.kt",
        "extension" : "kt",
        "linesOfCode" : 99,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 71,
      "startLine" : 85,
      "endLine" : 100,
      "cleanedStartLine" : 35,
      "cleanedEndLine" : 45
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/SimpleGraphCheckpointTest.kt",
        "extension" : "kt",
        "linesOfCode" : 128,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 96,
      "startLine" : 36,
      "endLine" : 51,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 15
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryInferenceSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 556,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 517,
      "startLine" : 154,
      "endLine" : 165,
      "cleanedStartLine" : 103,
      "cleanedEndLine" : 113
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryInferenceSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 556,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 517,
      "startLine" : 574,
      "endLine" : 585,
      "cleanedStartLine" : 475,
      "cleanedEndLine" : 485
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipeline.kt",
        "extension" : "kt",
        "linesOfCode" : 448,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 394,
      "startLine" : 357,
      "endLine" : 367,
      "cleanedStartLine" : 111,
      "cleanedEndLine" : 121
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 846,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 674,
      "startLine" : 373,
      "endLine" : 383,
      "cleanedStartLine" : 215,
      "cleanedEndLine" : 225
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/environment/ContextualAgentEnvironment.kt",
        "extension" : "kt",
        "linesOfCode" : 104,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 87,
      "startLine" : 90,
      "endLine" : 100,
      "cleanedStartLine" : 64,
      "cleanedEndLine" : 74
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/environment/ContextualAgentEnvironment.kt",
        "extension" : "kt",
        "linesOfCode" : 104,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 87,
      "startLine" : 105,
      "endLine" : 115,
      "cleanedStartLine" : 77,
      "cleanedEndLine" : 87
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicParams.kt",
        "extension" : "kt",
        "linesOfCode" : 154,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 135,
      "startLine" : 63,
      "endLine" : 73,
      "cleanedStartLine" : 31,
      "cleanedEndLine" : 41
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/google/GoogleParams.kt",
        "extension" : "kt",
        "linesOfCode" : 115,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 103,
      "startLine" : 52,
      "endLine" : 62,
      "cleanedStartLine" : 27,
      "cleanedEndLine" : 37
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerSubgraphTest.kt",
        "extension" : "kt",
        "linesOfCode" : 262,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 194,
      "startLine" : 145,
      "endLine" : 157,
      "cleanedStartLine" : 69,
      "cleanedEndLine" : 79
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerSubgraphTest.kt",
        "extension" : "kt",
        "linesOfCode" : 262,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 194,
      "startLine" : 289,
      "endLine" : 300,
      "cleanedStartLine" : 164,
      "cleanedEndLine" : 174
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicToolSerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 156,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 135,
      "startLine" : 31,
      "endLine" : 41,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 20
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/google/GoogleLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 480,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 432,
      "startLine" : 70,
      "endLine" : 80,
      "cleanedStartLine" : 34,
      "cleanedEndLine" : 44
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryInferenceSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 556,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 517,
      "startLine" : 466,
      "endLine" : 476,
      "cleanedStartLine" : 382,
      "cleanedEndLine" : 392
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryInferenceSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 556,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 517,
      "startLine" : 503,
      "endLine" : 513,
      "cleanedStartLine" : 419,
      "cleanedEndLine" : 429
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/appleMain/kotlin/ai/koog/agents/core/agent/context/AIAgentFunctionalContext.kt",
        "extension" : "kt",
        "linesOfCode" : 100,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 87,
      "startLine" : 78,
      "endLine" : 88,
      "cleanedStartLine" : 59,
      "cleanedEndLine" : 69
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/wasmJsMain/kotlin/ai/koog/agents/core/agent/context/AIAgentFunctionalContext.kt",
        "extension" : "kt",
        "linesOfCode" : 100,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 87,
      "startLine" : 24,
      "endLine" : 34,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 18
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jsMain/kotlin/ai/koog/agents/core/agent/context/AIAgentFunctionalContext.kt",
        "extension" : "kt",
        "linesOfCode" : 100,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 87,
      "startLine" : 78,
      "endLine" : 88,
      "cleanedStartLine" : 59,
      "cleanedEndLine" : 69
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmMain/kotlin/ai/koog/agents/core/agent/context/AIAgentFunctionalContext.kt",
        "extension" : "kt",
        "linesOfCode" : 302,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 250,
      "startLine" : 45,
      "endLine" : 55,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 20
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmMain/kotlin/ai/koog/agents/core/agent/context/AIAgentFunctionalContext.kt",
        "extension" : "kt",
        "linesOfCode" : 302,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 250,
      "startLine" : 102,
      "endLine" : 112,
      "cleanedStartLine" : 64,
      "cleanedEndLine" : 74
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/wasmJsMain/kotlin/ai/koog/agents/core/agent/context/AIAgentFunctionalContext.kt",
        "extension" : "kt",
        "linesOfCode" : 100,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 87,
      "startLine" : 24,
      "endLine" : 34,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 18
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "koog-ktor/src/commonMain/kotlin/ai/koog/ktor/KoogAgentsConfig.kt",
        "extension" : "kt",
        "linesOfCode" : 362,
        "components" : [ "primary::koog-ktor" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 264,
      "startLine" : 626,
      "endLine" : 665,
      "cleanedStartLine" : 104,
      "cleanedEndLine" : 114
    }, {
      "file" : {
        "relativePath" : "koog-ktor/src/commonMain/kotlin/ai/koog/ktor/KoogAgentsConfig.kt",
        "extension" : "kt",
        "linesOfCode" : 362,
        "components" : [ "primary::koog-ktor" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 264,
      "startLine" : 880,
      "endLine" : 912,
      "cleanedStartLine" : 155,
      "cleanedEndLine" : 165
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/src/jvmTest/kotlin/dashscope/DashscopeLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 255,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 196,
      "startLine" : 97,
      "endLine" : 110,
      "cleanedStartLine" : 47,
      "cleanedEndLine" : 57
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-deepseek-client/src/jvmTest/kotlin/deepseek/DeepSeekLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 247,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 191,
      "startLine" : 95,
      "endLine" : 108,
      "cleanedStartLine" : 47,
      "cleanedEndLine" : 57
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client-base/src/commonTest/kotlin/ai/koog/prompt/executor/clients/openai/structure/OpenAIBasicJsonSchemaGeneratorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 152,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 134,
      "startLine" : 83,
      "endLine" : 93,
      "cleanedStartLine" : 60,
      "cleanedEndLine" : 70
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client-base/src/commonTest/kotlin/ai/koog/prompt/executor/clients/openai/structure/OpenAIStandardJsonSchemaGeneratorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 375,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 342,
      "startLine" : 273,
      "endLine" : 283,
      "cleanedStartLine" : 238,
      "cleanedEndLine" : 248
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/SubgraphWithTaskTest.kt",
        "extension" : "kt",
        "linesOfCode" : 603,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 509,
      "startLine" : 76,
      "endLine" : 91,
      "cleanedStartLine" : 31,
      "cleanedEndLine" : 41
    }, {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/SubgraphWithTaskTest.kt",
        "extension" : "kt",
        "linesOfCode" : 603,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 509,
      "startLine" : 173,
      "endLine" : 188,
      "cleanedStartLine" : 98,
      "cleanedEndLine" : 108
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client-base/src/commonTest/kotlin/ai/koog/prompt/executor/clients/openai/structure/OpenAIBasicJsonSchemaGeneratorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 152,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 134,
      "startLine" : 83,
      "endLine" : 93,
      "cleanedStartLine" : 60,
      "cleanedEndLine" : 70
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client-base/src/commonTest/kotlin/ai/koog/prompt/executor/clients/openai/structure/OpenAIStandardJsonSchemaGeneratorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 375,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 342,
      "startLine" : 341,
      "endLine" : 351,
      "cleanedStartLine" : 298,
      "cleanedEndLine" : 308
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/androidMain/kotlin/ai/koog/agents/core/agent/context/AIAgentFunctionalContext.kt",
        "extension" : "kt",
        "linesOfCode" : 100,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 87,
      "startLine" : 78,
      "endLine" : 88,
      "cleanedStartLine" : 59,
      "cleanedEndLine" : 69
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/context/AIAgentFunctionalContext.kt",
        "extension" : "kt",
        "linesOfCode" : 179,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 153,
      "startLine" : 57,
      "endLine" : 67,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/agent/FunctionalAIAgentTest.kt",
        "extension" : "kt",
        "linesOfCode" : 674,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 581,
      "startLine" : 119,
      "endLine" : 134,
      "cleanedStartLine" : 68,
      "cleanedEndLine" : 78
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/agent/SingleRunStrategyTests.kt",
        "extension" : "kt",
        "linesOfCode" : 234,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 186,
      "startLine" : 46,
      "endLine" : 61,
      "cleanedStartLine" : 25,
      "cleanedEndLine" : 35
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jsMain/kotlin/ai/koog/agents/snapshot/feature/RollbackToolRegistryBuilder.kt",
        "extension" : "kt",
        "linesOfCode" : 14,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 11,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 11
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/wasmJsMain/kotlin/ai/koog/agents/snapshot/feature/RollbackToolRegistryBuilder.kt",
        "extension" : "kt",
        "linesOfCode" : 14,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 11,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 11
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/androidMain/kotlin/ai/koog/agents/core/agent/context/AIAgentFunctionalContext.kt",
        "extension" : "kt",
        "linesOfCode" : 100,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 87,
      "startLine" : 24,
      "endLine" : 34,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 18
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/appleMain/kotlin/ai/koog/agents/core/agent/context/AIAgentFunctionalContext.kt",
        "extension" : "kt",
        "linesOfCode" : 100,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 87,
      "startLine" : 78,
      "endLine" : 88,
      "cleanedStartLine" : 59,
      "cleanedEndLine" : 69
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipeline.kt",
        "extension" : "kt",
        "linesOfCode" : 448,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 394,
      "startLine" : 332,
      "endLine" : 342,
      "cleanedStartLine" : 100,
      "cleanedEndLine" : 110
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 328,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 286,
      "startLine" : 165,
      "endLine" : 175,
      "cleanedStartLine" : 95,
      "cleanedEndLine" : 105
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/GenAIAgentSpanUtilsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 329,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 292,
      "startLine" : 74,
      "endLine" : 84,
      "cleanedStartLine" : 42,
      "cleanedEndLine" : 52
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/GenAIAgentSpanUtilsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 329,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 292,
      "startLine" : 297,
      "endLine" : 307,
      "cleanedStartLine" : 200,
      "cleanedEndLine" : 210
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageLogWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 480,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 396,
      "startLine" : 104,
      "endLine" : 117,
      "cleanedStartLine" : 35,
      "cleanedEndLine" : 45
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageRemoteWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 816,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 671,
      "startLine" : 234,
      "endLine" : 247,
      "cleanedStartLine" : 105,
      "cleanedEndLine" : 115
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/GenAIAgentSpanUtilsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 329,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 292,
      "startLine" : 74,
      "endLine" : 84,
      "cleanedStartLine" : 42,
      "cleanedEndLine" : 52
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/GenAIAgentSpanUtilsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 329,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 292,
      "startLine" : 356,
      "endLine" : 366,
      "cleanedStartLine" : 244,
      "cleanedEndLine" : 254
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/androidMain/kotlin/ai/koog/agents/snapshot/feature/RollbackToolRegistryBuilder.kt",
        "extension" : "kt",
        "linesOfCode" : 14,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 11,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 11
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/appleMain/kotlin/ai/koog/agents/snapshot/feature/RollbackToolRegistryBuilder.kt",
        "extension" : "kt",
        "linesOfCode" : 14,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 11,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 11
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/GenAIAgentSpanUtilsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 329,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 292,
      "startLine" : 74,
      "endLine" : 84,
      "cleanedStartLine" : 42,
      "cleanedEndLine" : 52
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/GenAIAgentSpanUtilsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 329,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 292,
      "startLine" : 328,
      "endLine" : 338,
      "cleanedStartLine" : 223,
      "cleanedEndLine" : 233
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/GenAIAgentSpanUtilsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 329,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 292,
      "startLine" : 74,
      "endLine" : 84,
      "cleanedStartLine" : 42,
      "cleanedEndLine" : 52
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/GenAIAgentSpanUtilsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 329,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 292,
      "startLine" : 386,
      "endLine" : 396,
      "cleanedStartLine" : 266,
      "cleanedEndLine" : 276
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/SubgraphWithTaskTest.kt",
        "extension" : "kt",
        "linesOfCode" : 603,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 509,
      "startLine" : 68,
      "endLine" : 82,
      "cleanedStartLine" : 26,
      "cleanedEndLine" : 36
    }, {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/SubgraphWithTaskTest.kt",
        "extension" : "kt",
        "linesOfCode" : 603,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 509,
      "startLine" : 450,
      "endLine" : 463,
      "cleanedStartLine" : 289,
      "cleanedEndLine" : 299
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/appleMain/kotlin/ai/koog/agents/core/agent/context/AIAgentFunctionalContext.kt",
        "extension" : "kt",
        "linesOfCode" : 100,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 87,
      "startLine" : 78,
      "endLine" : 88,
      "cleanedStartLine" : 59,
      "cleanedEndLine" : 69
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmMain/kotlin/ai/koog/agents/core/agent/context/AIAgentFunctionalContext.kt",
        "extension" : "kt",
        "linesOfCode" : 302,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 250,
      "startLine" : 45,
      "endLine" : 55,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 20
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipeline.kt",
        "extension" : "kt",
        "linesOfCode" : 448,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 394,
      "startLine" : 846,
      "endLine" : 857,
      "cleanedStartLine" : 260,
      "cleanedEndLine" : 270
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 846,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 674,
      "startLine" : 714,
      "endLine" : 725,
      "cleanedStartLine" : 474,
      "cleanedEndLine" : 484
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/GenAIAgentSpanUtilsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 329,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 292,
      "startLine" : 74,
      "endLine" : 84,
      "cleanedStartLine" : 42,
      "cleanedEndLine" : 52
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/GenAIAgentSpanUtilsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 329,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 292,
      "startLine" : 175,
      "endLine" : 185,
      "cleanedStartLine" : 113,
      "cleanedEndLine" : 123
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/GenAIAgentSpanUtilsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 329,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 292,
      "startLine" : 74,
      "endLine" : 84,
      "cleanedStartLine" : 42,
      "cleanedEndLine" : 52
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/GenAIAgentSpanUtilsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 329,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 292,
      "startLine" : 226,
      "endLine" : 236,
      "cleanedStartLine" : 151,
      "cleanedEndLine" : 161
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/appleMain/kotlin/ai/koog/agents/core/agent/context/AIAgentFunctionalContext.kt",
        "extension" : "kt",
        "linesOfCode" : 100,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 87,
      "startLine" : 24,
      "endLine" : 34,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 18
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/context/AIAgentFunctionalContext.kt",
        "extension" : "kt",
        "linesOfCode" : 179,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 153,
      "startLine" : 57,
      "endLine" : 67,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/GenAIAgentSpanUtilsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 329,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 292,
      "startLine" : 74,
      "endLine" : 84,
      "cleanedStartLine" : 42,
      "cleanedEndLine" : 52
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/GenAIAgentSpanUtilsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 329,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 292,
      "startLine" : 276,
      "endLine" : 286,
      "cleanedStartLine" : 184,
      "cleanedEndLine" : 194
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipeline.kt",
        "extension" : "kt",
        "linesOfCode" : 448,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 394,
      "startLine" : 331,
      "endLine" : 341,
      "cleanedStartLine" : 99,
      "cleanedEndLine" : 109
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 846,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 674,
      "startLine" : 346,
      "endLine" : 356,
      "cleanedStartLine" : 190,
      "cleanedEndLine" : 200
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerTest.kt",
        "extension" : "kt",
        "linesOfCode" : 521,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 437,
      "startLine" : 318,
      "endLine" : 328,
      "cleanedStartLine" : 202,
      "cleanedEndLine" : 212
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageRemoteWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 816,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 671,
      "startLine" : 425,
      "endLine" : 435,
      "cleanedStartLine" : 266,
      "cleanedEndLine" : 276
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/span/SpanCollectorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 437,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 399,
      "startLine" : 336,
      "endLine" : 348,
      "cleanedStartLine" : 235,
      "cleanedEndLine" : 245
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/span/SpanCollectorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 437,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 399,
      "startLine" : 399,
      "endLine" : 411,
      "cleanedStartLine" : 283,
      "cleanedEndLine" : 293
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerStreamingTest.kt",
        "extension" : "kt",
        "linesOfCode" : 347,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 262,
      "startLine" : 352,
      "endLine" : 365,
      "cleanedStartLine" : 207,
      "cleanedEndLine" : 217
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerSubgraphTest.kt",
        "extension" : "kt",
        "linesOfCode" : 262,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 194,
      "startLine" : 113,
      "endLine" : 126,
      "cleanedStartLine" : 47,
      "cleanedEndLine" : 57
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/SubgraphSetExecutionPointTest.kt",
        "extension" : "kt",
        "linesOfCode" : 176,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 143,
      "startLine" : 85,
      "endLine" : 98,
      "cleanedStartLine" : 59,
      "cleanedEndLine" : 69
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/SubgraphSetExecutionPointTest.kt",
        "extension" : "kt",
        "linesOfCode" : 176,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 143,
      "startLine" : 110,
      "endLine" : 123,
      "cleanedStartLine" : 79,
      "cleanedEndLine" : 89
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/SubgraphSetExecutionPointTest.kt",
        "extension" : "kt",
        "linesOfCode" : 176,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 143,
      "startLine" : 33,
      "endLine" : 46,
      "cleanedStartLine" : 17,
      "cleanedEndLine" : 27
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/SubgraphSetExecutionPointTest.kt",
        "extension" : "kt",
        "linesOfCode" : 176,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 143,
      "startLine" : 57,
      "endLine" : 70,
      "cleanedStartLine" : 36,
      "cleanedEndLine" : 46
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/SubgraphWithTaskTest.kt",
        "extension" : "kt",
        "linesOfCode" : 603,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 509,
      "startLine" : 393,
      "endLine" : 408,
      "cleanedStartLine" : 248,
      "cleanedEndLine" : 258
    }, {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/SubgraphWithTaskTest.kt",
        "extension" : "kt",
        "linesOfCode" : 603,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 509,
      "startLine" : 607,
      "endLine" : 622,
      "cleanedStartLine" : 399,
      "cleanedEndLine" : 409
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipeline.kt",
        "extension" : "kt",
        "linesOfCode" : 448,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 394,
      "startLine" : 863,
      "endLine" : 874,
      "cleanedStartLine" : 272,
      "cleanedEndLine" : 282
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 846,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 674,
      "startLine" : 730,
      "endLine" : 741,
      "cleanedStartLine" : 487,
      "cleanedEndLine" : 497
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/SubgraphWithTaskTest.kt",
        "extension" : "kt",
        "linesOfCode" : 603,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 509,
      "startLine" : 393,
      "endLine" : 408,
      "cleanedStartLine" : 248,
      "cleanedEndLine" : 258
    }, {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/SubgraphWithTaskTest.kt",
        "extension" : "kt",
        "linesOfCode" : 603,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 509,
      "startLine" : 530,
      "endLine" : 545,
      "cleanedStartLine" : 344,
      "cleanedEndLine" : 354
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerStreamingTest.kt",
        "extension" : "kt",
        "linesOfCode" : 347,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 262,
      "startLine" : 132,
      "endLine" : 146,
      "cleanedStartLine" : 52,
      "cleanedEndLine" : 62
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerStreamingTest.kt",
        "extension" : "kt",
        "linesOfCode" : 347,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 262,
      "startLine" : 328,
      "endLine" : 342,
      "cleanedStartLine" : 193,
      "cleanedEndLine" : 203
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/SubgraphSetExecutionPointTest.kt",
        "extension" : "kt",
        "linesOfCode" : 176,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 143,
      "startLine" : 57,
      "endLine" : 70,
      "cleanedStartLine" : 36,
      "cleanedEndLine" : 46
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/SubgraphSetExecutionPointTest.kt",
        "extension" : "kt",
        "linesOfCode" : 176,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 143,
      "startLine" : 110,
      "endLine" : 123,
      "cleanedStartLine" : 79,
      "cleanedEndLine" : 89
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/SubgraphSetExecutionPointTest.kt",
        "extension" : "kt",
        "linesOfCode" : 176,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 143,
      "startLine" : 57,
      "endLine" : 70,
      "cleanedStartLine" : 36,
      "cleanedEndLine" : 46
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/SubgraphSetExecutionPointTest.kt",
        "extension" : "kt",
        "linesOfCode" : 176,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 143,
      "startLine" : 85,
      "endLine" : 98,
      "cleanedStartLine" : 59,
      "cleanedEndLine" : 69
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-event-handler/src/jvmTest/kotlin/ai/koog/agents/features/eventHandler/feature/EventHandlerTest.kt",
        "extension" : "kt",
        "linesOfCode" : 637,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 548,
      "startLine" : 595,
      "endLine" : 606,
      "cleanedStartLine" : 440,
      "cleanedEndLine" : 450
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageTestWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 623,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 501,
      "startLine" : 460,
      "endLine" : 471,
      "cleanedStartLine" : 295,
      "cleanedEndLine" : 305
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryNodeExecuteSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 307,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 276,
      "startLine" : 68,
      "endLine" : 78,
      "cleanedStartLine" : 41,
      "cleanedEndLine" : 51
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryNodeExecuteSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 307,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 276,
      "startLine" : 266,
      "endLine" : 276,
      "cleanedStartLine" : 210,
      "cleanedEndLine" : 220
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 99,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 84,
      "startLine" : 164,
      "endLine" : 174,
      "cleanedStartLine" : 43,
      "cleanedEndLine" : 53
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/AIAgentHelper.kt",
        "extension" : "kt",
        "linesOfCode" : 190,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 171,
      "startLine" : 154,
      "endLine" : 164,
      "cleanedStartLine" : 71,
      "cleanedEndLine" : 81
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/androidMain/kotlin/ai/koog/agents/snapshot/feature/RollbackToolRegistryBuilder.kt",
        "extension" : "kt",
        "linesOfCode" : 14,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 11,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 11
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jsMain/kotlin/ai/koog/agents/snapshot/feature/RollbackToolRegistryBuilder.kt",
        "extension" : "kt",
        "linesOfCode" : 14,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 11,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 11
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipeline.kt",
        "extension" : "kt",
        "linesOfCode" : 448,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 394,
      "startLine" : 880,
      "endLine" : 891,
      "cleanedStartLine" : 284,
      "cleanedEndLine" : 294
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 846,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 674,
      "startLine" : 746,
      "endLine" : 757,
      "cleanedStartLine" : 500,
      "cleanedEndLine" : 510
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/SubgraphWithTaskTest.kt",
        "extension" : "kt",
        "linesOfCode" : 603,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 509,
      "startLine" : 385,
      "endLine" : 399,
      "cleanedStartLine" : 243,
      "cleanedEndLine" : 253
    }, {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/SubgraphWithTaskTest.kt",
        "extension" : "kt",
        "linesOfCode" : 603,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 509,
      "startLine" : 450,
      "endLine" : 463,
      "cleanedStartLine" : 289,
      "cleanedEndLine" : 299
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/SubgraphSetExecutionPointTest.kt",
        "extension" : "kt",
        "linesOfCode" : 176,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 143,
      "startLine" : 33,
      "endLine" : 46,
      "cleanedStartLine" : 17,
      "cleanedEndLine" : 27
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/SubgraphSetExecutionPointTest.kt",
        "extension" : "kt",
        "linesOfCode" : 176,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 143,
      "startLine" : 85,
      "endLine" : 98,
      "cleanedStartLine" : 59,
      "cleanedEndLine" : 69
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "koog-ktor/src/commonMain/kotlin/ai/koog/ktor/KoogAgentsConfig.kt",
        "extension" : "kt",
        "linesOfCode" : 362,
        "components" : [ "primary::koog-ktor" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 264,
      "startLine" : 771,
      "endLine" : 806,
      "cleanedStartLine" : 131,
      "cleanedEndLine" : 141
    }, {
      "file" : {
        "relativePath" : "koog-ktor/src/commonMain/kotlin/ai/koog/ktor/KoogAgentsConfig.kt",
        "extension" : "kt",
        "linesOfCode" : 362,
        "components" : [ "primary::koog-ktor" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 264,
      "startLine" : 824,
      "endLine" : 859,
      "cleanedStartLine" : 143,
      "cleanedEndLine" : 153
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/SubgraphSetExecutionPointTest.kt",
        "extension" : "kt",
        "linesOfCode" : 176,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 143,
      "startLine" : 33,
      "endLine" : 46,
      "cleanedStartLine" : 17,
      "cleanedEndLine" : 27
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/SubgraphSetExecutionPointTest.kt",
        "extension" : "kt",
        "linesOfCode" : 176,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 143,
      "startLine" : 110,
      "endLine" : 123,
      "cleanedStartLine" : 79,
      "cleanedEndLine" : 89
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/commonTest/kotlin/ai/koog/prompt/executor/clients/google/structure/GoogleSimpleJsonSchemaGeneratorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 147,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 130,
      "startLine" : 82,
      "endLine" : 92,
      "cleanedStartLine" : 60,
      "cleanedEndLine" : 70
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/commonTest/kotlin/ai/koog/prompt/executor/clients/google/structure/GoogleStandardJsonSchemaGeneratorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 323,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 297,
      "startLine" : 272,
      "endLine" : 282,
      "cleanedStartLine" : 238,
      "cleanedEndLine" : 248
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipeline.kt",
        "extension" : "kt",
        "linesOfCode" : 448,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 394,
      "startLine" : 914,
      "endLine" : 925,
      "cleanedStartLine" : 308,
      "cleanedEndLine" : 318
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 846,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 674,
      "startLine" : 778,
      "endLine" : 789,
      "cleanedStartLine" : 526,
      "cleanedEndLine" : 536
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/androidMain/kotlin/ai/koog/agents/core/agent/context/AIAgentFunctionalContext.kt",
        "extension" : "kt",
        "linesOfCode" : 100,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 87,
      "startLine" : 24,
      "endLine" : 34,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 18
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmMain/kotlin/ai/koog/agents/core/agent/context/AIAgentFunctionalContext.kt",
        "extension" : "kt",
        "linesOfCode" : 302,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 250,
      "startLine" : 102,
      "endLine" : 112,
      "cleanedStartLine" : 64,
      "cleanedEndLine" : 74
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/appleMain/kotlin/ai/koog/agents/core/agent/context/AIAgentFunctionalContext.kt",
        "extension" : "kt",
        "linesOfCode" : 100,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 87,
      "startLine" : 24,
      "endLine" : 34,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 18
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmMain/kotlin/ai/koog/agents/core/agent/context/AIAgentFunctionalContext.kt",
        "extension" : "kt",
        "linesOfCode" : 302,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 250,
      "startLine" : 102,
      "endLine" : 112,
      "cleanedStartLine" : 64,
      "cleanedEndLine" : 74
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/commonTest/kotlin/ai/koog/prompt/executor/clients/google/structure/GoogleSimpleJsonSchemaGeneratorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 147,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 130,
      "startLine" : 82,
      "endLine" : 92,
      "cleanedStartLine" : 60,
      "cleanedEndLine" : 70
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client-base/src/commonTest/kotlin/ai/koog/prompt/executor/clients/openai/structure/OpenAIStandardJsonSchemaGeneratorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 375,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 342,
      "startLine" : 341,
      "endLine" : 351,
      "cleanedStartLine" : 298,
      "cleanedEndLine" : 308
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/commonTest/kotlin/ai/koog/prompt/executor/clients/google/structure/GoogleSimpleJsonSchemaGeneratorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 147,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 130,
      "startLine" : 82,
      "endLine" : 92,
      "cleanedStartLine" : 60,
      "cleanedEndLine" : 70
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client-base/src/commonTest/kotlin/ai/koog/prompt/executor/clients/openai/structure/OpenAIStandardJsonSchemaGeneratorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 375,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 342,
      "startLine" : 273,
      "endLine" : 283,
      "cleanedStartLine" : 238,
      "cleanedEndLine" : 248
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/SubgraphWithTaskTest.kt",
        "extension" : "kt",
        "linesOfCode" : 603,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 509,
      "startLine" : 372,
      "endLine" : 383,
      "cleanedStartLine" : 231,
      "cleanedEndLine" : 241
    }, {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/SubgraphWithTaskTest.kt",
        "extension" : "kt",
        "linesOfCode" : 603,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 509,
      "startLine" : 435,
      "endLine" : 446,
      "cleanedStartLine" : 275,
      "cleanedEndLine" : 285
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/GenAIAgentSpanUtilsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 329,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 292,
      "startLine" : 276,
      "endLine" : 286,
      "cleanedStartLine" : 184,
      "cleanedEndLine" : 194
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/GenAIAgentSpanUtilsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 329,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 292,
      "startLine" : 328,
      "endLine" : 338,
      "cleanedStartLine" : 223,
      "cleanedEndLine" : 233
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmMain/kotlin/ai/koog/agents/core/agent/context/AIAgentFunctionalContext.kt",
        "extension" : "kt",
        "linesOfCode" : 302,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 250,
      "startLine" : 45,
      "endLine" : 55,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 20
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/wasmJsMain/kotlin/ai/koog/agents/core/agent/context/AIAgentFunctionalContext.kt",
        "extension" : "kt",
        "linesOfCode" : 100,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 87,
      "startLine" : 78,
      "endLine" : 88,
      "cleanedStartLine" : 59,
      "cleanedEndLine" : 69
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/GenAIAgentSpanUtilsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 329,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 292,
      "startLine" : 276,
      "endLine" : 286,
      "cleanedStartLine" : 184,
      "cleanedEndLine" : 194
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/GenAIAgentSpanUtilsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 329,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 292,
      "startLine" : 297,
      "endLine" : 307,
      "cleanedStartLine" : 200,
      "cleanedEndLine" : 210
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/GenAIAgentSpanUtilsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 329,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 292,
      "startLine" : 276,
      "endLine" : 286,
      "cleanedStartLine" : 184,
      "cleanedEndLine" : 194
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/GenAIAgentSpanUtilsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 329,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 292,
      "startLine" : 386,
      "endLine" : 396,
      "cleanedStartLine" : 266,
      "cleanedEndLine" : 276
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/SubgraphWithTaskTest.kt",
        "extension" : "kt",
        "linesOfCode" : 603,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 509,
      "startLine" : 435,
      "endLine" : 446,
      "cleanedStartLine" : 275,
      "cleanedEndLine" : 285
    }, {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/SubgraphWithTaskTest.kt",
        "extension" : "kt",
        "linesOfCode" : 603,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 509,
      "startLine" : 586,
      "endLine" : 597,
      "cleanedStartLine" : 382,
      "cleanedEndLine" : 392
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/GenAIAgentSpanUtilsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 329,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 292,
      "startLine" : 276,
      "endLine" : 286,
      "cleanedStartLine" : 184,
      "cleanedEndLine" : 194
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/GenAIAgentSpanUtilsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 329,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 292,
      "startLine" : 356,
      "endLine" : 366,
      "cleanedStartLine" : 244,
      "cleanedEndLine" : 254
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicParams.kt",
        "extension" : "kt",
        "linesOfCode" : 154,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 135,
      "startLine" : 63,
      "endLine" : 73,
      "cleanedStartLine" : 31,
      "cleanedEndLine" : 41
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/dashscope/DashscopeParams.kt",
        "extension" : "kt",
        "linesOfCode" : 159,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 144,
      "startLine" : 61,
      "endLine" : 71,
      "cleanedStartLine" : 33,
      "cleanedEndLine" : 43
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/androidMain/kotlin/ai/koog/agents/core/agent/context/AIAgentFunctionalContext.kt",
        "extension" : "kt",
        "linesOfCode" : 100,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 87,
      "startLine" : 24,
      "endLine" : 34,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 18
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/androidMain/kotlin/ai/koog/agents/core/agent/context/AIAgentFunctionalContext.kt",
        "extension" : "kt",
        "linesOfCode" : 100,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 87,
      "startLine" : 78,
      "endLine" : 88,
      "cleanedStartLine" : 59,
      "cleanedEndLine" : 69
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/GenAIAgentSpanUtilsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 329,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 292,
      "startLine" : 297,
      "endLine" : 307,
      "cleanedStartLine" : 200,
      "cleanedEndLine" : 210
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/GenAIAgentSpanUtilsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 329,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 292,
      "startLine" : 328,
      "endLine" : 338,
      "cleanedStartLine" : 223,
      "cleanedEndLine" : 233
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/androidMain/kotlin/ai/koog/agents/snapshot/feature/RollbackToolRegistryBuilder.kt",
        "extension" : "kt",
        "linesOfCode" : 14,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 11,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 11
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/wasmJsMain/kotlin/ai/koog/agents/snapshot/feature/RollbackToolRegistryBuilder.kt",
        "extension" : "kt",
        "linesOfCode" : 14,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 11,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 11
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipeline.kt",
        "extension" : "kt",
        "linesOfCode" : 448,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 394,
      "startLine" : 897,
      "endLine" : 908,
      "cleanedStartLine" : 296,
      "cleanedEndLine" : 306
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 846,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 674,
      "startLine" : 762,
      "endLine" : 773,
      "cleanedStartLine" : 513,
      "cleanedEndLine" : 523
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/GenAIAgentSpanUtilsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 329,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 292,
      "startLine" : 297,
      "endLine" : 307,
      "cleanedStartLine" : 200,
      "cleanedEndLine" : 210
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/GenAIAgentSpanUtilsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 329,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 292,
      "startLine" : 356,
      "endLine" : 366,
      "cleanedStartLine" : 244,
      "cleanedEndLine" : 254
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/GenAIAgentSpanUtilsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 329,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 292,
      "startLine" : 297,
      "endLine" : 307,
      "cleanedStartLine" : 200,
      "cleanedEndLine" : 210
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/GenAIAgentSpanUtilsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 329,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 292,
      "startLine" : 386,
      "endLine" : 396,
      "cleanedStartLine" : 266,
      "cleanedEndLine" : 276
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/debugger/Debugger.kt",
        "extension" : "kt",
        "linesOfCode" : 399,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 318,
      "startLine" : 255,
      "endLine" : 265,
      "cleanedStartLine" : 120,
      "cleanedEndLine" : 130
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/commonMain/kotlin/ai/koog/agents/features/tracing/feature/Tracing.kt",
        "extension" : "kt",
        "linesOfCode" : 335,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 266,
      "startLine" : 302,
      "endLine" : 312,
      "cleanedStartLine" : 151,
      "cleanedEndLine" : 161
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipeline.kt",
        "extension" : "kt",
        "linesOfCode" : 448,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 394,
      "startLine" : 1000,
      "endLine" : 1011,
      "cleanedStartLine" : 368,
      "cleanedEndLine" : 378
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 846,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 674,
      "startLine" : 858,
      "endLine" : 869,
      "cleanedStartLine" : 591,
      "cleanedEndLine" : 601
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 267,
      "endLine" : 291,
      "cleanedStartLine" : 130,
      "cleanedEndLine" : 140
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 367,
      "endLine" : 388,
      "cleanedStartLine" : 188,
      "cleanedEndLine" : 198
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-deepseek-client/src/jvmTest/kotlin/deepseek/DeepSeekLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 247,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 191,
      "startLine" : 95,
      "endLine" : 108,
      "cleanedStartLine" : 47,
      "cleanedEndLine" : 57
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/mistralai/MistralAILLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 295,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 232,
      "startLine" : 93,
      "endLine" : 106,
      "cleanedStartLine" : 47,
      "cleanedEndLine" : 57
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-mcp/src/jvmTest/kotlin/ai/koog/agents/mcp/McpToolTest.kt",
        "extension" : "kt",
        "linesOfCode" : 164,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 117,
      "startLine" : 151,
      "endLine" : 161,
      "cleanedStartLine" : 88,
      "cleanedEndLine" : 98
    }, {
      "file" : {
        "relativePath" : "agents/agents-mcp/src/jvmTest/kotlin/ai/koog/agents/mcp/McpToolTest.kt",
        "extension" : "kt",
        "linesOfCode" : 164,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 117,
      "startLine" : 169,
      "endLine" : 179,
      "cleanedStartLine" : 103,
      "cleanedEndLine" : 113
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-test/src/commonMain/kotlin/ai/koog/agents/testing/tools/MockLLMBuilder.kt",
        "extension" : "kt",
        "linesOfCode" : 495,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 414,
      "startLine" : 831,
      "endLine" : 841,
      "cleanedStartLine" : 300,
      "cleanedEndLine" : 310
    }, {
      "file" : {
        "relativePath" : "agents/agents-test/src/commonMain/kotlin/ai/koog/agents/testing/tools/MockLLMBuilder.kt",
        "extension" : "kt",
        "linesOfCode" : 495,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 414,
      "startLine" : 854,
      "endLine" : 864,
      "cleanedStartLine" : 317,
      "cleanedEndLine" : 327
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-test/src/commonMain/kotlin/ai/koog/agents/testing/feature/TestingFeature.kt",
        "extension" : "kt",
        "linesOfCode" : 505,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 400,
      "startLine" : 752,
      "endLine" : 762,
      "cleanedStartLine" : 174,
      "cleanedEndLine" : 184
    }, {
      "file" : {
        "relativePath" : "agents/agents-test/src/commonMain/kotlin/ai/koog/agents/testing/feature/TestingFeature.kt",
        "extension" : "kt",
        "linesOfCode" : 505,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 400,
      "startLine" : 861,
      "endLine" : 871,
      "cleanedStartLine" : 202,
      "cleanedEndLine" : 212
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/span/SpanCollectorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 437,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 399,
      "startLine" : 29,
      "endLine" : 39,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/span/SpanCollectorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 437,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 399,
      "startLine" : 216,
      "endLine" : 226,
      "cleanedStartLine" : 145,
      "cleanedEndLine" : 155
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-test/src/commonMain/kotlin/ai/koog/agents/testing/tools/MockLLMBuilder.kt",
        "extension" : "kt",
        "linesOfCode" : 495,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 414,
      "startLine" : 240,
      "endLine" : 250,
      "cleanedStartLine" : 83,
      "cleanedEndLine" : 93
    }, {
      "file" : {
        "relativePath" : "agents/agents-test/src/commonMain/kotlin/ai/koog/agents/testing/tools/MockLLMBuilder.kt",
        "extension" : "kt",
        "linesOfCode" : 495,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 414,
      "startLine" : 330,
      "endLine" : 340,
      "cleanedStartLine" : 137,
      "cleanedEndLine" : 147
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/androidMain/kotlin/ai/koog/agents/core/agent/context/AIAgentFunctionalContext.kt",
        "extension" : "kt",
        "linesOfCode" : 100,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 87,
      "startLine" : 24,
      "endLine" : 34,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 18
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/wasmJsMain/kotlin/ai/koog/agents/core/agent/context/AIAgentFunctionalContext.kt",
        "extension" : "kt",
        "linesOfCode" : 100,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 87,
      "startLine" : 78,
      "endLine" : 88,
      "cleanedStartLine" : 59,
      "cleanedEndLine" : 69
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmMain/kotlin/ai/koog/agents/core/agent/context/AIAgentFunctionalContext.kt",
        "extension" : "kt",
        "linesOfCode" : 302,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 250,
      "startLine" : 45,
      "endLine" : 55,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 20
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmMain/kotlin/ai/koog/agents/core/agent/context/AIAgentFunctionalContext.kt",
        "extension" : "kt",
        "linesOfCode" : 302,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 250,
      "startLine" : 102,
      "endLine" : 112,
      "cleanedStartLine" : 64,
      "cleanedEndLine" : 74
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/SubgraphWithTaskTest.kt",
        "extension" : "kt",
        "linesOfCode" : 603,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 509,
      "startLine" : 173,
      "endLine" : 188,
      "cleanedStartLine" : 98,
      "cleanedEndLine" : 108
    }, {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/SubgraphWithTaskTest.kt",
        "extension" : "kt",
        "linesOfCode" : 603,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 509,
      "startLine" : 393,
      "endLine" : 408,
      "cleanedStartLine" : 248,
      "cleanedEndLine" : 258
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/SubgraphWithTaskTest.kt",
        "extension" : "kt",
        "linesOfCode" : 603,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 509,
      "startLine" : 372,
      "endLine" : 383,
      "cleanedStartLine" : 231,
      "cleanedEndLine" : 241
    }, {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/SubgraphWithTaskTest.kt",
        "extension" : "kt",
        "linesOfCode" : 603,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 509,
      "startLine" : 652,
      "endLine" : 663,
      "cleanedStartLine" : 429,
      "cleanedEndLine" : 439
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-planner/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 36,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 3,
      "endLine" : 16,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 11
    }, {
      "file" : {
        "relativePath" : "agents/agents-test/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 39,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 3,
      "endLine" : 16,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 11
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/androidMain/kotlin/ai/koog/agents/core/agent/context/AIAgentFunctionalContext.kt",
        "extension" : "kt",
        "linesOfCode" : 100,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 87,
      "startLine" : 24,
      "endLine" : 34,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 18
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jsMain/kotlin/ai/koog/agents/core/agent/context/AIAgentFunctionalContext.kt",
        "extension" : "kt",
        "linesOfCode" : 100,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 87,
      "startLine" : 78,
      "endLine" : 88,
      "cleanedStartLine" : 59,
      "cleanedEndLine" : 69
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmMain/kotlin/ai/koog/agents/features/opentelemetry/attribute/SpanAttributes.kt",
        "extension" : "kt",
        "linesOfCode" : 339,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 240,
      "startLine" : 144,
      "endLine" : 158,
      "cleanedStartLine" : 51,
      "cleanedEndLine" : 61
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmMain/kotlin/ai/koog/agents/features/opentelemetry/attribute/SpanAttributes.kt",
        "extension" : "kt",
        "linesOfCode" : 339,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 240,
      "startLine" : 175,
      "endLine" : 189,
      "cleanedStartLine" : 69,
      "cleanedEndLine" : 79
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicParams.kt",
        "extension" : "kt",
        "linesOfCode" : 154,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 135,
      "startLine" : 63,
      "endLine" : 73,
      "cleanedStartLine" : 31,
      "cleanedEndLine" : 41
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/mistralai/MistralAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 145,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 133,
      "startLine" : 63,
      "endLine" : 73,
      "cleanedStartLine" : 31,
      "cleanedEndLine" : 41
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/SubgraphWithTaskTest.kt",
        "extension" : "kt",
        "linesOfCode" : 603,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 509,
      "startLine" : 173,
      "endLine" : 188,
      "cleanedStartLine" : 98,
      "cleanedEndLine" : 108
    }, {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/SubgraphWithTaskTest.kt",
        "extension" : "kt",
        "linesOfCode" : 603,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 509,
      "startLine" : 319,
      "endLine" : 334,
      "cleanedStartLine" : 196,
      "cleanedEndLine" : 206
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-event-handler/src/jvmTest/kotlin/ai/koog/agents/features/eventHandler/feature/EventHandlerTest.kt",
        "extension" : "kt",
        "linesOfCode" : 637,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 548,
      "startLine" : 704,
      "endLine" : 717,
      "cleanedStartLine" : 519,
      "cleanedEndLine" : 529
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageTestWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 623,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 501,
      "startLine" : 639,
      "endLine" : 652,
      "cleanedStartLine" : 437,
      "cleanedEndLine" : 447
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-deepseek-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/deepseek/DeepSeekParams.kt",
        "extension" : "kt",
        "linesOfCode" : 143,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 130,
      "endLine" : 140,
      "cleanedStartLine" : 90,
      "cleanedEndLine" : 100
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 381,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 343,
      "startLine" : 202,
      "endLine" : 212,
      "cleanedStartLine" : 130,
      "cleanedEndLine" : 140
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-a2a-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 32,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 17,
      "endLine" : 40,
      "cleanedStartLine" : 12,
      "cleanedEndLine" : 22
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-a2a-server/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 32,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 17,
      "endLine" : 40,
      "cleanedStartLine" : 12,
      "cleanedEndLine" : 22
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerTest.kt",
        "extension" : "kt",
        "linesOfCode" : 521,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 437,
      "startLine" : 289,
      "endLine" : 299,
      "cleanedStartLine" : 173,
      "cleanedEndLine" : 183
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageRemoteWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 816,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 671,
      "startLine" : 396,
      "endLine" : 406,
      "cleanedStartLine" : 237,
      "cleanedEndLine" : 247
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-memory/src/jvmTest/kotlin/ai/koog/agents/memory/AIAgentMemoryTest.kt",
        "extension" : "kt",
        "linesOfCode" : 470,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 399,
      "startLine" : 106,
      "endLine" : 117,
      "cleanedStartLine" : 41,
      "cleanedEndLine" : 51
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-memory/src/jvmTest/kotlin/ai/koog/agents/memory/AIAgentMemoryTest.kt",
        "extension" : "kt",
        "linesOfCode" : 470,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 399,
      "startLine" : 471,
      "endLine" : 482,
      "cleanedStartLine" : 316,
      "cleanedEndLine" : 326
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/feature/AIAgentPipelineTest.kt",
        "extension" : "kt",
        "linesOfCode" : 736,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 595,
      "startLine" : 477,
      "endLine" : 490,
      "cleanedStartLine" : 299,
      "cleanedEndLine" : 309
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/feature/AIAgentPipelineTest.kt",
        "extension" : "kt",
        "linesOfCode" : 736,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 595,
      "startLine" : 743,
      "endLine" : 756,
      "cleanedStartLine" : 484,
      "cleanedEndLine" : 494
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicLLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 524,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 393,
      "startLine" : 221,
      "endLine" : 239,
      "cleanedStartLine" : 104,
      "cleanedEndLine" : 114
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmMain/kotlin/ai/koog/prompt/executor/clients/bedrock/modelfamilies/anthropic/BedrockAnthropicClaudeSerialization.kt",
        "extension" : "kt",
        "linesOfCode" : 286,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 208,
      "startLine" : 263,
      "endLine" : 281,
      "cleanedStartLine" : 175,
      "cleanedEndLine" : 185
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-tokenizer/src/jvmTest/kotlin/ai/koog/agents/features/tokenizer/feature/MessageTokenizerTest.kt",
        "extension" : "kt",
        "linesOfCode" : 33,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 14,
      "startLine" : 36,
      "endLine" : 61,
      "cleanedStartLine" : 3,
      "cleanedEndLine" : 13
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-tokenizer/src/commonTest/kotlin/ai/koog/prompt/tokenizer/PromptTokenizerTest.kt",
        "extension" : "kt",
        "linesOfCode" : 79,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 66,
      "startLine" : 24,
      "endLine" : 49,
      "cleanedStartLine" : 3,
      "cleanedEndLine" : 13
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/context/AIAgentFunctionalContext.kt",
        "extension" : "kt",
        "linesOfCode" : 179,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 153,
      "startLine" : 57,
      "endLine" : 67,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jsMain/kotlin/ai/koog/agents/core/agent/context/AIAgentFunctionalContext.kt",
        "extension" : "kt",
        "linesOfCode" : 100,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 87,
      "startLine" : 24,
      "endLine" : 34,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 18
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/span/SpanCollectorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 437,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 399,
      "startLine" : 49,
      "endLine" : 59,
      "cleanedStartLine" : 25,
      "cleanedEndLine" : 35
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/span/SpanCollectorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 437,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 399,
      "startLine" : 110,
      "endLine" : 120,
      "cleanedStartLine" : 71,
      "cleanedEndLine" : 81
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/wasmJsMain/kotlin/ai/koog/agents/core/agent/context/AIAgentFunctionalContext.kt",
        "extension" : "kt",
        "linesOfCode" : 100,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 87,
      "startLine" : 24,
      "endLine" : 34,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 18
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/wasmJsMain/kotlin/ai/koog/agents/core/agent/context/AIAgentFunctionalContext.kt",
        "extension" : "kt",
        "linesOfCode" : 100,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 87,
      "startLine" : 78,
      "endLine" : 88,
      "cleanedStartLine" : 59,
      "cleanedEndLine" : 69
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/GenAIAgentSpanUtilsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 329,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 292,
      "startLine" : 226,
      "endLine" : 236,
      "cleanedStartLine" : 151,
      "cleanedEndLine" : 161
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/GenAIAgentSpanUtilsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 329,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 292,
      "startLine" : 297,
      "endLine" : 307,
      "cleanedStartLine" : 200,
      "cleanedEndLine" : 210
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerTest.kt",
        "extension" : "kt",
        "linesOfCode" : 521,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 437,
      "startLine" : 496,
      "endLine" : 506,
      "cleanedStartLine" : 380,
      "cleanedEndLine" : 390
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageRemoteWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 816,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 671,
      "startLine" : 560,
      "endLine" : 570,
      "cleanedStartLine" : 400,
      "cleanedEndLine" : 410
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/androidMain/kotlin/ai/koog/agents/core/agent/context/AIAgentFunctionalContext.kt",
        "extension" : "kt",
        "linesOfCode" : 100,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 87,
      "startLine" : 78,
      "endLine" : 88,
      "cleanedStartLine" : 59,
      "cleanedEndLine" : 69
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/appleMain/kotlin/ai/koog/agents/core/agent/context/AIAgentFunctionalContext.kt",
        "extension" : "kt",
        "linesOfCode" : 100,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 87,
      "startLine" : 24,
      "endLine" : 34,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 18
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-test/src/commonMain/kotlin/ai/koog/agents/testing/tools/MockLLMBuilder.kt",
        "extension" : "kt",
        "linesOfCode" : 495,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 414,
      "startLine" : 212,
      "endLine" : 222,
      "cleanedStartLine" : 65,
      "cleanedEndLine" : 75
    }, {
      "file" : {
        "relativePath" : "agents/agents-test/src/commonMain/kotlin/ai/koog/agents/testing/tools/MockLLMBuilder.kt",
        "extension" : "kt",
        "linesOfCode" : 495,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 414,
      "startLine" : 240,
      "endLine" : 250,
      "cleanedStartLine" : 83,
      "cleanedEndLine" : 93
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-test/src/commonMain/kotlin/ai/koog/agents/testing/tools/MockLLMBuilder.kt",
        "extension" : "kt",
        "linesOfCode" : 495,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 414,
      "startLine" : 212,
      "endLine" : 222,
      "cleanedStartLine" : 65,
      "cleanedEndLine" : 75
    }, {
      "file" : {
        "relativePath" : "agents/agents-test/src/commonMain/kotlin/ai/koog/agents/testing/tools/MockLLMBuilder.kt",
        "extension" : "kt",
        "linesOfCode" : 495,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 414,
      "startLine" : 267,
      "endLine" : 277,
      "cleanedStartLine" : 100,
      "cleanedEndLine" : 110
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 581,
      "endLine" : 591,
      "cleanedStartLine" : 319,
      "cleanedEndLine" : 329
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 643,
      "endLine" : 653,
      "cleanedStartLine" : 356,
      "cleanedEndLine" : 366
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-ollama-client/src/commonTest/kotlin/ai/koog/prompt/executor/ollama/client/OllamaToolDescriptorConverterAdditionalTest.kt",
        "extension" : "kt",
        "linesOfCode" : 129,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 109,
      "startLine" : 68,
      "endLine" : 78,
      "cleanedStartLine" : 49,
      "cleanedEndLine" : 59
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client-base/src/commonTest/kotlin/ai/koog/prompt/executor/clients/openai/base/OpenAICompatibleToolDescriptorConverterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 214,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 181,
      "startLine" : 65,
      "endLine" : 75,
      "cleanedStartLine" : 47,
      "cleanedEndLine" : 57
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/GenAIAgentSpanUtilsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 329,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 292,
      "startLine" : 226,
      "endLine" : 236,
      "cleanedStartLine" : 151,
      "cleanedEndLine" : 161
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/GenAIAgentSpanUtilsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 329,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 292,
      "startLine" : 276,
      "endLine" : 286,
      "cleanedStartLine" : 184,
      "cleanedEndLine" : 194
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipeline.kt",
        "extension" : "kt",
        "linesOfCode" : 448,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 394,
      "startLine" : 829,
      "endLine" : 840,
      "cleanedStartLine" : 248,
      "cleanedEndLine" : 258
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 846,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 674,
      "startLine" : 698,
      "endLine" : 709,
      "cleanedStartLine" : 461,
      "cleanedEndLine" : 471
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-test/src/commonMain/kotlin/ai/koog/agents/testing/tools/MockLLMBuilder.kt",
        "extension" : "kt",
        "linesOfCode" : 495,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 414,
      "startLine" : 330,
      "endLine" : 340,
      "cleanedStartLine" : 137,
      "cleanedEndLine" : 147
    }, {
      "file" : {
        "relativePath" : "agents/agents-test/src/commonMain/kotlin/ai/koog/agents/testing/tools/MockLLMBuilder.kt",
        "extension" : "kt",
        "linesOfCode" : 495,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 414,
      "startLine" : 359,
      "endLine" : 369,
      "cleanedStartLine" : 156,
      "cleanedEndLine" : 166
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/google/GoogleParams.kt",
        "extension" : "kt",
        "linesOfCode" : 115,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 103,
      "startLine" : 52,
      "endLine" : 62,
      "cleanedStartLine" : 27,
      "cleanedEndLine" : 37
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/mistralai/MistralAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 145,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 133,
      "startLine" : 63,
      "endLine" : 73,
      "cleanedStartLine" : 31,
      "cleanedEndLine" : 41
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/debugger/Debugger.kt",
        "extension" : "kt",
        "linesOfCode" : 399,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 318,
      "startLine" : 210,
      "endLine" : 222,
      "cleanedStartLine" : 87,
      "cleanedEndLine" : 97
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/commonMain/kotlin/ai/koog/agents/features/tracing/feature/Tracing.kt",
        "extension" : "kt",
        "linesOfCode" : 335,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 266,
      "startLine" : 174,
      "endLine" : 185,
      "cleanedStartLine" : 54,
      "cleanedEndLine" : 64
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jsMain/kotlin/ai/koog/agents/core/agent/context/AIAgentFunctionalContext.kt",
        "extension" : "kt",
        "linesOfCode" : 100,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 87,
      "startLine" : 24,
      "endLine" : 34,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 18
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jsMain/kotlin/ai/koog/agents/core/agent/context/AIAgentFunctionalContext.kt",
        "extension" : "kt",
        "linesOfCode" : 100,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 87,
      "startLine" : 78,
      "endLine" : 88,
      "cleanedStartLine" : 59,
      "cleanedEndLine" : 69
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jsMain/kotlin/ai/koog/agents/core/agent/context/AIAgentFunctionalContext.kt",
        "extension" : "kt",
        "linesOfCode" : 100,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 87,
      "startLine" : 24,
      "endLine" : 34,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 18
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/wasmJsMain/kotlin/ai/koog/agents/core/agent/context/AIAgentFunctionalContext.kt",
        "extension" : "kt",
        "linesOfCode" : 100,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 87,
      "startLine" : 78,
      "endLine" : 88,
      "cleanedStartLine" : 59,
      "cleanedEndLine" : 69
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipeline.kt",
        "extension" : "kt",
        "linesOfCode" : 448,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 394,
      "startLine" : 983,
      "endLine" : 994,
      "cleanedStartLine" : 356,
      "cleanedEndLine" : 366
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 846,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 674,
      "startLine" : 842,
      "endLine" : 853,
      "cleanedStartLine" : 578,
      "cleanedEndLine" : 588
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/appleMain/kotlin/ai/koog/agents/core/agent/context/AIAgentFunctionalContext.kt",
        "extension" : "kt",
        "linesOfCode" : 100,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 87,
      "startLine" : 24,
      "endLine" : 34,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 18
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/wasmJsMain/kotlin/ai/koog/agents/core/agent/context/AIAgentFunctionalContext.kt",
        "extension" : "kt",
        "linesOfCode" : 100,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 87,
      "startLine" : 78,
      "endLine" : 88,
      "cleanedStartLine" : 59,
      "cleanedEndLine" : 69
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 703,
      "endLine" : 713,
      "cleanedStartLine" : 387,
      "cleanedEndLine" : 397
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 728,
      "endLine" : 738,
      "cleanedStartLine" : 402,
      "cleanedEndLine" : 412
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/SubgraphWithTaskTest.kt",
        "extension" : "kt",
        "linesOfCode" : 603,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 509,
      "startLine" : 254,
      "endLine" : 268,
      "cleanedStartLine" : 155,
      "cleanedEndLine" : 165
    }, {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/SubgraphWithTaskTest.kt",
        "extension" : "kt",
        "linesOfCode" : 603,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 509,
      "startLine" : 667,
      "endLine" : 680,
      "cleanedStartLine" : 443,
      "cleanedEndLine" : 453
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "embeddings/embeddings-base/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 33,
        "components" : [ "primary::embeddings" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 19,
      "endLine" : 41,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 21
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-tokenizer/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 36,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 24,
      "startLine" : 22,
      "endLine" : 44,
      "cleanedStartLine" : 14,
      "cleanedEndLine" : 24
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 676,
      "endLine" : 686,
      "cleanedStartLine" : 372,
      "cleanedEndLine" : 382
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 728,
      "endLine" : 738,
      "cleanedStartLine" : 402,
      "cleanedEndLine" : 412
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 99,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 84,
      "startLine" : 232,
      "endLine" : 242,
      "cleanedStartLine" : 71,
      "cleanedEndLine" : 81
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/AIAgentHelper.kt",
        "extension" : "kt",
        "linesOfCode" : 190,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 171,
      "startLine" : 261,
      "endLine" : 271,
      "cleanedStartLine" : 141,
      "cleanedEndLine" : 151
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 381,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 343,
      "startLine" : 202,
      "endLine" : 212,
      "cleanedStartLine" : 130,
      "cleanedEndLine" : 140
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openrouter-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openrouter/OpenRouterParams.kt",
        "extension" : "kt",
        "linesOfCode" : 197,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 177,
      "startLine" : 177,
      "endLine" : 187,
      "cleanedStartLine" : 121,
      "cleanedEndLine" : 131
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/GenAIAgentSpanUtilsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 329,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 292,
      "startLine" : 328,
      "endLine" : 338,
      "cleanedStartLine" : 223,
      "cleanedEndLine" : 233
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/GenAIAgentSpanUtilsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 329,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 292,
      "startLine" : 386,
      "endLine" : 396,
      "cleanedStartLine" : 266,
      "cleanedEndLine" : 276
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jsMain/kotlin/ai/koog/agents/core/agent/context/AIAgentFunctionalContext.kt",
        "extension" : "kt",
        "linesOfCode" : 100,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 87,
      "startLine" : 78,
      "endLine" : 88,
      "cleanedStartLine" : 59,
      "cleanedEndLine" : 69
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/wasmJsMain/kotlin/ai/koog/agents/core/agent/context/AIAgentFunctionalContext.kt",
        "extension" : "kt",
        "linesOfCode" : 100,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 87,
      "startLine" : 24,
      "endLine" : 34,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 18
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/GenAIAgentSpanUtilsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 329,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 292,
      "startLine" : 328,
      "endLine" : 338,
      "cleanedStartLine" : 223,
      "cleanedEndLine" : 233
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/GenAIAgentSpanUtilsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 329,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 292,
      "startLine" : 356,
      "endLine" : 366,
      "cleanedStartLine" : 244,
      "cleanedEndLine" : 254
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/androidMain/kotlin/ai/koog/agents/core/agent/context/AIAgentFunctionalContext.kt",
        "extension" : "kt",
        "linesOfCode" : 100,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 87,
      "startLine" : 78,
      "endLine" : 88,
      "cleanedStartLine" : 59,
      "cleanedEndLine" : 69
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jsMain/kotlin/ai/koog/agents/core/agent/context/AIAgentFunctionalContext.kt",
        "extension" : "kt",
        "linesOfCode" : 100,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 87,
      "startLine" : 24,
      "endLine" : 34,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 18
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/GenAIAgentSpanUtilsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 329,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 292,
      "startLine" : 125,
      "endLine" : 135,
      "cleanedStartLine" : 76,
      "cleanedEndLine" : 86
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/GenAIAgentSpanUtilsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 329,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 292,
      "startLine" : 226,
      "endLine" : 236,
      "cleanedStartLine" : 151,
      "cleanedEndLine" : 161
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/GenAIAgentSpanUtilsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 329,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 292,
      "startLine" : 125,
      "endLine" : 135,
      "cleanedStartLine" : 76,
      "cleanedEndLine" : 86
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/GenAIAgentSpanUtilsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 329,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 292,
      "startLine" : 276,
      "endLine" : 286,
      "cleanedStartLine" : 184,
      "cleanedEndLine" : 194
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/GenAIAgentSpanUtilsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 329,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 292,
      "startLine" : 74,
      "endLine" : 84,
      "cleanedStartLine" : 42,
      "cleanedEndLine" : 52
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/GenAIAgentSpanUtilsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 329,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 292,
      "startLine" : 125,
      "endLine" : 135,
      "cleanedStartLine" : 76,
      "cleanedEndLine" : 86
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/GenAIAgentSpanUtilsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 329,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 292,
      "startLine" : 125,
      "endLine" : 135,
      "cleanedStartLine" : 76,
      "cleanedEndLine" : 86
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/GenAIAgentSpanUtilsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 329,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 292,
      "startLine" : 175,
      "endLine" : 185,
      "cleanedStartLine" : 113,
      "cleanedEndLine" : 123
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerStreamingTest.kt",
        "extension" : "kt",
        "linesOfCode" : 347,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 262,
      "startLine" : 132,
      "endLine" : 146,
      "cleanedStartLine" : 52,
      "cleanedEndLine" : 62
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerSubgraphTest.kt",
        "extension" : "kt",
        "linesOfCode" : 262,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 194,
      "startLine" : 232,
      "endLine" : 246,
      "cleanedStartLine" : 129,
      "cleanedEndLine" : 139
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipeline.kt",
        "extension" : "kt",
        "linesOfCode" : 448,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 394,
      "startLine" : 949,
      "endLine" : 960,
      "cleanedStartLine" : 332,
      "cleanedEndLine" : 342
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 846,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 674,
      "startLine" : 810,
      "endLine" : 821,
      "cleanedStartLine" : 552,
      "cleanedEndLine" : 562
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/NodeUniquenessCheckpointTest.kt",
        "extension" : "kt",
        "linesOfCode" : 99,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 71,
      "startLine" : 124,
      "endLine" : 140,
      "cleanedStartLine" : 56,
      "cleanedEndLine" : 66
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/SimpleGraphCheckpointTest.kt",
        "extension" : "kt",
        "linesOfCode" : 128,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 96,
      "startLine" : 36,
      "endLine" : 51,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 15
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerTestAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 281,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 212,
      "startLine" : 168,
      "endLine" : 178,
      "cleanedStartLine" : 86,
      "cleanedEndLine" : 96
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageRemoteWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 816,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 671,
      "startLine" : 396,
      "endLine" : 406,
      "cleanedStartLine" : 237,
      "cleanedEndLine" : 247
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/SubgraphWithTaskTest.kt",
        "extension" : "kt",
        "linesOfCode" : 603,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 509,
      "startLine" : 319,
      "endLine" : 334,
      "cleanedStartLine" : 196,
      "cleanedEndLine" : 206
    }, {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/SubgraphWithTaskTest.kt",
        "extension" : "kt",
        "linesOfCode" : 603,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 509,
      "startLine" : 530,
      "endLine" : 545,
      "cleanedStartLine" : 344,
      "cleanedEndLine" : 354
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/GenAIAgentSpanUtilsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 329,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 292,
      "startLine" : 125,
      "endLine" : 135,
      "cleanedStartLine" : 76,
      "cleanedEndLine" : 86
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/GenAIAgentSpanUtilsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 329,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 292,
      "startLine" : 386,
      "endLine" : 396,
      "cleanedStartLine" : 266,
      "cleanedEndLine" : 276
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/androidMain/kotlin/ai/koog/agents/core/agent/context/AIAgentFunctionalContext.kt",
        "extension" : "kt",
        "linesOfCode" : 100,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 87,
      "startLine" : 78,
      "endLine" : 88,
      "cleanedStartLine" : 59,
      "cleanedEndLine" : 69
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/wasmJsMain/kotlin/ai/koog/agents/core/agent/context/AIAgentFunctionalContext.kt",
        "extension" : "kt",
        "linesOfCode" : 100,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 87,
      "startLine" : 24,
      "endLine" : 34,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 18
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-test/src/commonMain/kotlin/ai/koog/agents/testing/tools/MockLLMBuilder.kt",
        "extension" : "kt",
        "linesOfCode" : 495,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 414,
      "startLine" : 267,
      "endLine" : 277,
      "cleanedStartLine" : 100,
      "cleanedEndLine" : 110
    }, {
      "file" : {
        "relativePath" : "agents/agents-test/src/commonMain/kotlin/ai/koog/agents/testing/tools/MockLLMBuilder.kt",
        "extension" : "kt",
        "linesOfCode" : 495,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 414,
      "startLine" : 330,
      "endLine" : 340,
      "cleanedStartLine" : 137,
      "cleanedEndLine" : 147
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/context/AIAgentFunctionalContext.kt",
        "extension" : "kt",
        "linesOfCode" : 179,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 153,
      "startLine" : 57,
      "endLine" : 67,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jsMain/kotlin/ai/koog/agents/core/agent/context/AIAgentFunctionalContext.kt",
        "extension" : "kt",
        "linesOfCode" : 100,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 87,
      "startLine" : 78,
      "endLine" : 88,
      "cleanedStartLine" : 59,
      "cleanedEndLine" : 69
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipeline.kt",
        "extension" : "kt",
        "linesOfCode" : 448,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 394,
      "startLine" : 966,
      "endLine" : 977,
      "cleanedStartLine" : 344,
      "cleanedEndLine" : 354
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 846,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 674,
      "startLine" : 826,
      "endLine" : 837,
      "cleanedStartLine" : 565,
      "cleanedEndLine" : 575
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/GenAIAgentSpanUtilsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 329,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 292,
      "startLine" : 125,
      "endLine" : 135,
      "cleanedStartLine" : 76,
      "cleanedEndLine" : 86
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/GenAIAgentSpanUtilsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 329,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 292,
      "startLine" : 297,
      "endLine" : 307,
      "cleanedStartLine" : 200,
      "cleanedEndLine" : 210
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/GenAIAgentSpanUtilsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 329,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 292,
      "startLine" : 125,
      "endLine" : 135,
      "cleanedStartLine" : 76,
      "cleanedEndLine" : 86
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/GenAIAgentSpanUtilsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 329,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 292,
      "startLine" : 328,
      "endLine" : 338,
      "cleanedStartLine" : 223,
      "cleanedEndLine" : 233
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/GenAIAgentSpanUtilsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 329,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 292,
      "startLine" : 125,
      "endLine" : 135,
      "cleanedStartLine" : 76,
      "cleanedEndLine" : 86
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/GenAIAgentSpanUtilsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 329,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 292,
      "startLine" : 356,
      "endLine" : 366,
      "cleanedStartLine" : 244,
      "cleanedEndLine" : 254
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/span/SpanCollectorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 437,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 399,
      "startLine" : 29,
      "endLine" : 39,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/span/SpanCollectorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 437,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 399,
      "startLine" : 110,
      "endLine" : 120,
      "cleanedStartLine" : 71,
      "cleanedEndLine" : 81
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/GenAIAgentSpanUtilsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 329,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 292,
      "startLine" : 226,
      "endLine" : 236,
      "cleanedStartLine" : 151,
      "cleanedEndLine" : 161
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/GenAIAgentSpanUtilsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 329,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 292,
      "startLine" : 386,
      "endLine" : 396,
      "cleanedStartLine" : 266,
      "cleanedEndLine" : 276
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/GenAIAgentSpanUtilsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 329,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 292,
      "startLine" : 226,
      "endLine" : 236,
      "cleanedStartLine" : 151,
      "cleanedEndLine" : 161
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/GenAIAgentSpanUtilsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 329,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 292,
      "startLine" : 356,
      "endLine" : 366,
      "cleanedStartLine" : 244,
      "cleanedEndLine" : 254
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/SubgraphWithTaskTest.kt",
        "extension" : "kt",
        "linesOfCode" : 603,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 509,
      "startLine" : 586,
      "endLine" : 597,
      "cleanedStartLine" : 382,
      "cleanedEndLine" : 392
    }, {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/SubgraphWithTaskTest.kt",
        "extension" : "kt",
        "linesOfCode" : 603,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 509,
      "startLine" : 652,
      "endLine" : 663,
      "cleanedStartLine" : 429,
      "cleanedEndLine" : 439
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/GenAIAgentSpanUtilsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 329,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 292,
      "startLine" : 226,
      "endLine" : 236,
      "cleanedStartLine" : 151,
      "cleanedEndLine" : 161
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/GenAIAgentSpanUtilsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 329,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 292,
      "startLine" : 328,
      "endLine" : 338,
      "cleanedStartLine" : 223,
      "cleanedEndLine" : 233
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/SubgraphWithTaskTest.kt",
        "extension" : "kt",
        "linesOfCode" : 603,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 509,
      "startLine" : 319,
      "endLine" : 334,
      "cleanedStartLine" : 196,
      "cleanedEndLine" : 206
    }, {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/SubgraphWithTaskTest.kt",
        "extension" : "kt",
        "linesOfCode" : 603,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 509,
      "startLine" : 607,
      "endLine" : 622,
      "cleanedStartLine" : 399,
      "cleanedEndLine" : 409
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/CalculatorTools.kt",
        "extension" : "kt",
        "linesOfCode" : 35,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 18,
      "endLine" : 29,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 21
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-processor/src/commonTest/kotlin/ai/koog/prompt/processor/Tools.kt",
        "extension" : "kt",
        "linesOfCode" : 70,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 56,
      "startLine" : 18,
      "endLine" : 29,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 18
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicParams.kt",
        "extension" : "kt",
        "linesOfCode" : 154,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 135,
      "startLine" : 144,
      "endLine" : 154,
      "cleanedStartLine" : 94,
      "cleanedEndLine" : 104
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/google/GoogleParams.kt",
        "extension" : "kt",
        "linesOfCode" : 115,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 103,
      "startLine" : 106,
      "endLine" : 116,
      "cleanedStartLine" : 72,
      "cleanedEndLine" : 82
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/langfuse/LangfuseTraceStructureTest.kt",
        "extension" : "kt",
        "linesOfCode" : 249,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 236,
      "startLine" : 21,
      "endLine" : 31,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/weave/WeaveTraceStructureTest.kt",
        "extension" : "kt",
        "linesOfCode" : 270,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 257,
      "startLine" : 20,
      "endLine" : 30,
      "cleanedStartLine" : 6,
      "cleanedEndLine" : 16
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicParams.kt",
        "extension" : "kt",
        "linesOfCode" : 154,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 135,
      "startLine" : 63,
      "endLine" : 73,
      "cleanedStartLine" : 31,
      "cleanedEndLine" : 41
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-deepseek-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/deepseek/DeepSeekParams.kt",
        "extension" : "kt",
        "linesOfCode" : 143,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 55,
      "endLine" : 65,
      "cleanedStartLine" : 30,
      "cleanedEndLine" : 40
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryExecuteToolSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 184,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 154,
      "startLine" : 30,
      "endLine" : 42,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 15
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryExecuteToolSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 184,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 154,
      "startLine" : 73,
      "endLine" : 85,
      "cleanedStartLine" : 40,
      "cleanedEndLine" : 50
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipeline.kt",
        "extension" : "kt",
        "linesOfCode" : 448,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 394,
      "startLine" : 931,
      "endLine" : 942,
      "cleanedStartLine" : 320,
      "cleanedEndLine" : 330
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 846,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 674,
      "startLine" : 794,
      "endLine" : 805,
      "cleanedStartLine" : 539,
      "cleanedEndLine" : 549
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-processor/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 38,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 3,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 11
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-structure/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 39,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 3,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 11
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageTestWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 623,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 501,
      "startLine" : 608,
      "endLine" : 619,
      "cleanedStartLine" : 411,
      "cleanedEndLine" : 421
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageTestWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 623,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 501,
      "startLine" : 694,
      "endLine" : 705,
      "cleanedStartLine" : 475,
      "cleanedEndLine" : 485
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetrySubgraphTest.kt",
        "extension" : "kt",
        "linesOfCode" : 334,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 313,
      "startLine" : 37,
      "endLine" : 51,
      "cleanedStartLine" : 18,
      "cleanedEndLine" : 28
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetrySubgraphTest.kt",
        "extension" : "kt",
        "linesOfCode" : 334,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 313,
      "startLine" : 152,
      "endLine" : 166,
      "cleanedStartLine" : 118,
      "cleanedEndLine" : 128
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 301,
      "endLine" : 325,
      "cleanedStartLine" : 150,
      "cleanedEndLine" : 160
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 367,
      "endLine" : 388,
      "cleanedStartLine" : 188,
      "cleanedEndLine" : 198
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/langfuse/LangfuseSpanAdapterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 261,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 227,
      "startLine" : 200,
      "endLine" : 210,
      "cleanedStartLine" : 131,
      "cleanedEndLine" : 141
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/langfuse/LangfuseSpanAdapterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 261,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 227,
      "startLine" : 275,
      "endLine" : 285,
      "cleanedStartLine" : 191,
      "cleanedEndLine" : 201
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/feature/mock/TestFeatureMessageProcessor.kt",
        "extension" : "kt",
        "linesOfCode" : 22,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 13,
      "startLine" : 11,
      "endLine" : 28,
      "cleanedStartLine" : 3,
      "cleanedEndLine" : 13
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/CheckpointsTests.kt",
        "extension" : "kt",
        "linesOfCode" : 793,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 646,
      "startLine" : 480,
      "endLine" : 497,
      "cleanedStartLine" : 306,
      "cleanedEndLine" : 316
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/src/jvmTest/kotlin/dashscope/DashscopeLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 255,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 196,
      "startLine" : 97,
      "endLine" : 110,
      "cleanedStartLine" : 47,
      "cleanedEndLine" : 57
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/mistralai/MistralAILLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 295,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 232,
      "startLine" : 93,
      "endLine" : 106,
      "cleanedStartLine" : 47,
      "cleanedEndLine" : 57
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/SubgraphWithTaskTest.kt",
        "extension" : "kt",
        "linesOfCode" : 603,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 509,
      "startLine" : 262,
      "endLine" : 281,
      "cleanedStartLine" : 160,
      "cleanedEndLine" : 170
    }, {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/SubgraphWithTaskTest.kt",
        "extension" : "kt",
        "linesOfCode" : 603,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 509,
      "startLine" : 319,
      "endLine" : 334,
      "cleanedStartLine" : 196,
      "cleanedEndLine" : 206
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/appleMain/kotlin/ai/koog/agents/core/agent/context/AIAgentFunctionalContext.kt",
        "extension" : "kt",
        "linesOfCode" : 100,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 87,
      "startLine" : 78,
      "endLine" : 88,
      "cleanedStartLine" : 59,
      "cleanedEndLine" : 69
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/context/AIAgentFunctionalContext.kt",
        "extension" : "kt",
        "linesOfCode" : 179,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 153,
      "startLine" : 57,
      "endLine" : 67,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerTest.kt",
        "extension" : "kt",
        "linesOfCode" : 521,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 437,
      "startLine" : 418,
      "endLine" : 428,
      "cleanedStartLine" : 302,
      "cleanedEndLine" : 312
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerTest.kt",
        "extension" : "kt",
        "linesOfCode" : 521,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 437,
      "startLine" : 474,
      "endLine" : 484,
      "cleanedStartLine" : 358,
      "cleanedEndLine" : 368
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/ext/agent/AIAgentSubgraphExt.kt",
        "extension" : "kt",
        "linesOfCode" : 376,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 310,
      "startLine" : 251,
      "endLine" : 280,
      "cleanedStartLine" : 96,
      "cleanedEndLine" : 106
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/ext/agent/AIAgentSubgraphExt.kt",
        "extension" : "kt",
        "linesOfCode" : 376,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 310,
      "startLine" : 295,
      "endLine" : 325,
      "cleanedStartLine" : 121,
      "cleanedEndLine" : 131
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/span/SpanCollectorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 437,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 399,
      "startLine" : 49,
      "endLine" : 59,
      "cleanedStartLine" : 25,
      "cleanedEndLine" : 35
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/span/SpanCollectorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 437,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 399,
      "startLine" : 216,
      "endLine" : 226,
      "cleanedStartLine" : 145,
      "cleanedEndLine" : 155
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/SubgraphWithTaskTest.kt",
        "extension" : "kt",
        "linesOfCode" : 603,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 509,
      "startLine" : 522,
      "endLine" : 536,
      "cleanedStartLine" : 339,
      "cleanedEndLine" : 349
    }, {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/SubgraphWithTaskTest.kt",
        "extension" : "kt",
        "linesOfCode" : 603,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 509,
      "startLine" : 667,
      "endLine" : 680,
      "cleanedStartLine" : 443,
      "cleanedEndLine" : 453
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/CheckpointsTests.kt",
        "extension" : "kt",
        "linesOfCode" : 793,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 646,
      "startLine" : 385,
      "endLine" : 396,
      "cleanedStartLine" : 230,
      "cleanedEndLine" : 240
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/ai/koog/agents/snapshot/providers/file/FileCheckpointsTests.kt",
        "extension" : "kt",
        "linesOfCode" : 236,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 188,
      "startLine" : 119,
      "endLine" : 130,
      "cleanedStartLine" : 66,
      "cleanedEndLine" : 76
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/SubgraphWithTaskTest.kt",
        "extension" : "kt",
        "linesOfCode" : 603,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 509,
      "startLine" : 262,
      "endLine" : 281,
      "cleanedStartLine" : 160,
      "cleanedEndLine" : 170
    }, {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/SubgraphWithTaskTest.kt",
        "extension" : "kt",
        "linesOfCode" : 603,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 509,
      "startLine" : 393,
      "endLine" : 408,
      "cleanedStartLine" : 248,
      "cleanedEndLine" : 258
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerSubgraphTest.kt",
        "extension" : "kt",
        "linesOfCode" : 262,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 194,
      "startLine" : 93,
      "endLine" : 107,
      "cleanedStartLine" : 35,
      "cleanedEndLine" : 45
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerSubgraphTest.kt",
        "extension" : "kt",
        "linesOfCode" : 262,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 194,
      "startLine" : 232,
      "endLine" : 246,
      "cleanedStartLine" : 129,
      "cleanedEndLine" : 139
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/span/SpanCollectorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 437,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 399,
      "startLine" : 84,
      "endLine" : 94,
      "cleanedStartLine" : 52,
      "cleanedEndLine" : 61
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/span/SpanCollectorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 437,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 399,
      "startLine" : 136,
      "endLine" : 147,
      "cleanedStartLine" : 92,
      "cleanedEndLine" : 101
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-tools/src/commonTest/kotlin/ai/koog/agents/core/tools/serialization/ToolParameterTypesTest.kt",
        "extension" : "kt",
        "linesOfCode" : 560,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 449,
      "startLine" : 286,
      "endLine" : 296,
      "cleanedStartLine" : 186,
      "cleanedEndLine" : 195
    }, {
      "file" : {
        "relativePath" : "agents/agents-tools/src/commonTest/kotlin/ai/koog/agents/core/tools/serialization/ToolParameterTypesTest.kt",
        "extension" : "kt",
        "linesOfCode" : 560,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 449,
      "startLine" : 314,
      "endLine" : 324,
      "cleanedStartLine" : 208,
      "cleanedEndLine" : 217
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-sql/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 57,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 45,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 10
    }, {
      "file" : {
        "relativePath" : "agents/agents-test/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 39,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 10
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 381,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 343,
      "startLine" : 79,
      "endLine" : 88,
      "cleanedStartLine" : 29,
      "cleanedEndLine" : 38
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openrouter-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openrouter/OpenRouterParams.kt",
        "extension" : "kt",
        "linesOfCode" : 197,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 177,
      "startLine" : 52,
      "endLine" : 61,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 24
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/dashscope/DashscopeModels.kt",
        "extension" : "kt",
        "linesOfCode" : 118,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 112,
      "startLine" : 22,
      "endLine" : 36,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/dashscope/DashscopeModels.kt",
        "extension" : "kt",
        "linesOfCode" : 118,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 112,
      "startLine" : 131,
      "endLine" : 146,
      "cleanedStartLine" : 87,
      "cleanedEndLine" : 96
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/debugger/Debugger.kt",
        "extension" : "kt",
        "linesOfCode" : 399,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 318,
      "startLine" : 329,
      "endLine" : 338,
      "cleanedStartLine" : 176,
      "cleanedEndLine" : 185
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/commonMain/kotlin/ai/koog/agents/features/tracing/feature/Tracing.kt",
        "extension" : "kt",
        "linesOfCode" : 335,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 266,
      "startLine" : 376,
      "endLine" : 385,
      "cleanedStartLine" : 207,
      "cleanedEndLine" : 216
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-a2a-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 32,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 10
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-tokenizer/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 44,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 10
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/dashscope/DashscopeParamsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 84,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 70,
      "startLine" : 64,
      "endLine" : 76,
      "cleanedStartLine" : 46,
      "cleanedEndLine" : 55
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-deepseek-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/deepseek/DeepSeekParamsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 81,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 67,
      "startLine" : 61,
      "endLine" : 73,
      "cleanedStartLine" : 43,
      "cleanedEndLine" : 52
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-structure/src/commonTest/kotlin/ai/koog/prompt/structure/markdown/MarkdownParserLineMatchingTest.kt",
        "extension" : "kt",
        "linesOfCode" : 119,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 94,
      "startLine" : 41,
      "endLine" : 54,
      "cleanedStartLine" : 24,
      "cleanedEndLine" : 33
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-structure/src/commonTest/kotlin/ai/koog/prompt/structure/markdown/MarkdownParserLineMatchingTest.kt",
        "extension" : "kt",
        "linesOfCode" : 119,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 94,
      "startLine" : 79,
      "endLine" : 92,
      "cleanedStartLine" : 50,
      "cleanedEndLine" : 59
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-deepseek-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/deepseek/DeepSeekParams.kt",
        "extension" : "kt",
        "linesOfCode" : 143,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 9,
      "endLine" : 39,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 14
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 381,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 343,
      "startLine" : 33,
      "endLine" : 77,
      "cleanedStartLine" : 18,
      "cleanedEndLine" : 27
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/feature/message/FeatureMessageProcessorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 313,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 270,
      "startLine" : 236,
      "endLine" : 247,
      "cleanedStartLine" : 143,
      "cleanedEndLine" : 152
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/feature/message/FeatureMessageProcessorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 313,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 270,
      "startLine" : 361,
      "endLine" : 372,
      "cleanedStartLine" : 243,
      "cleanedEndLine" : 252
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/debugger/Debugger.kt",
        "extension" : "kt",
        "linesOfCode" : 399,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 318,
      "startLine" : 425,
      "endLine" : 434,
      "cleanedStartLine" : 253,
      "cleanedEndLine" : 262
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/commonMain/kotlin/ai/koog/agents/features/tracing/feature/Tracing.kt",
        "extension" : "kt",
        "linesOfCode" : 335,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 266,
      "startLine" : 230,
      "endLine" : 239,
      "cleanedStartLine" : 97,
      "cleanedEndLine" : 106
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-acp/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 26,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 10
    }, {
      "file" : {
        "relativePath" : "agents/agents-planner/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 36,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 10
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryAgentSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 148,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 126,
      "startLine" : 145,
      "endLine" : 155,
      "cleanedStartLine" : 100,
      "cleanedEndLine" : 109
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetrySpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 256,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 224,
      "startLine" : 143,
      "endLine" : 152,
      "cleanedStartLine" : 89,
      "cleanedEndLine" : 98
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-cache/prompt-cache-model/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 26,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 10
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 51,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 10
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/CheckpointsTests.kt",
        "extension" : "kt",
        "linesOfCode" : 793,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 646,
      "startLine" : 71,
      "endLine" : 80,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 13
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/ai/koog/agents/snapshot/providers/file/FileCheckpointsTests.kt",
        "extension" : "kt",
        "linesOfCode" : 236,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 188,
      "startLine" : 38,
      "endLine" : 47,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 13
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-ext/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 36,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 10
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-a2a-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 32,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 10
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-ext/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 36,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 10
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-event-handler/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 33,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 23,
      "startLine" : 3,
      "endLine" : 16,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 10
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-ext/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 36,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 10
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 41,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 10
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetrySubgraphTest.kt",
        "extension" : "kt",
        "linesOfCode" : 334,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 313,
      "startLine" : 213,
      "endLine" : 222,
      "cleanedStartLine" : 172,
      "cleanedEndLine" : 181
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetrySubgraphTest.kt",
        "extension" : "kt",
        "linesOfCode" : 334,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 313,
      "startLine" : 329,
      "endLine" : 338,
      "cleanedStartLine" : 271,
      "cleanedEndLine" : 280
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-a2a-server/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 32,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 10
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 39,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 10
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/debugger/Debugger.kt",
        "extension" : "kt",
        "linesOfCode" : 399,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 318,
      "startLine" : 467,
      "endLine" : 476,
      "cleanedStartLine" : 285,
      "cleanedEndLine" : 294
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/commonMain/kotlin/ai/koog/agents/features/tracing/feature/Tracing.kt",
        "extension" : "kt",
        "linesOfCode" : 335,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 266,
      "startLine" : 272,
      "endLine" : 281,
      "cleanedStartLine" : 129,
      "cleanedEndLine" : 138
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-a2a-server/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 32,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 10
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-tokenizer/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 44,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 10
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-event-handler/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 33,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 23,
      "startLine" : 3,
      "endLine" : 16,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 10
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-tokenizer/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 44,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 10
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetrySubgraphTest.kt",
        "extension" : "kt",
        "linesOfCode" : 334,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 313,
      "startLine" : 189,
      "endLine" : 198,
      "cleanedStartLine" : 148,
      "cleanedEndLine" : 157
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetrySubgraphTest.kt",
        "extension" : "kt",
        "linesOfCode" : 334,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 313,
      "startLine" : 305,
      "endLine" : 314,
      "cleanedStartLine" : 247,
      "cleanedEndLine" : 256
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetrySubgraphTest.kt",
        "extension" : "kt",
        "linesOfCode" : 334,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 313,
      "startLine" : 110,
      "endLine" : 119,
      "cleanedStartLine" : 84,
      "cleanedEndLine" : 93
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetrySubgraphTest.kt",
        "extension" : "kt",
        "linesOfCode" : 334,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 313,
      "startLine" : 225,
      "endLine" : 234,
      "cleanedStartLine" : 184,
      "cleanedEndLine" : 193
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/agent/DummyTools.kt",
        "extension" : "kt",
        "linesOfCode" : 23,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 17,
      "startLine" : 16,
      "endLine" : 26,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/SingleRunStrategyWithHistoryCompressionTests.kt",
        "extension" : "kt",
        "linesOfCode" : 119,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 93,
      "startLine" : 17,
      "endLine" : 27,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 11
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-deepseek-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/deepseek/DeepSeekParams.kt",
        "extension" : "kt",
        "linesOfCode" : 143,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 41,
      "endLine" : 50,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 25
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 381,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 343,
      "startLine" : 79,
      "endLine" : 88,
      "cleanedStartLine" : 29,
      "cleanedEndLine" : 38
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-a2a-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 32,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 10
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-acp/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 26,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 10
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/agent/SingleRunStrategyTests.kt",
        "extension" : "kt",
        "linesOfCode" : 234,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 186,
      "startLine" : 157,
      "endLine" : 170,
      "cleanedStartLine" : 96,
      "cleanedEndLine" : 105
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/agent/SingleRunStrategyTests.kt",
        "extension" : "kt",
        "linesOfCode" : 234,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 186,
      "startLine" : 236,
      "endLine" : 249,
      "cleanedStartLine" : 149,
      "cleanedEndLine" : 158
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-event-handler/src/jvmTest/kotlin/ai/koog/agents/features/eventHandler/feature/EventHandlerTest.kt",
        "extension" : "kt",
        "linesOfCode" : 637,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 548,
      "startLine" : 168,
      "endLine" : 178,
      "cleanedStartLine" : 105,
      "cleanedEndLine" : 114
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageFileWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 509,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 418,
      "startLine" : 115,
      "endLine" : 125,
      "cleanedStartLine" : 38,
      "cleanedEndLine" : 47
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-a2a-core/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 31,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 18,
      "endLine" : 39,
      "cleanedStartLine" : 12,
      "cleanedEndLine" : 21
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-a2a-server/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 32,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 19,
      "endLine" : 40,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 22
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicParams.kt",
        "extension" : "kt",
        "linesOfCode" : 154,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 135,
      "startLine" : 12,
      "endLine" : 46,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 14
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 381,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 343,
      "startLine" : 33,
      "endLine" : 77,
      "cleanedStartLine" : 18,
      "cleanedEndLine" : 27
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 39,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 10
    }, {
      "file" : {
        "relativePath" : "agents/agents-planner/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 36,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 10
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-mcp/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 41,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 31,
      "startLine" : 3,
      "endLine" : 16,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 10
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-cache/prompt-cache-model/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 26,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 10
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/dsl/extension/HistoryCompressionStrategiesTest.kt",
        "extension" : "kt",
        "linesOfCode" : 419,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 379,
      "startLine" : 298,
      "endLine" : 308,
      "cleanedStartLine" : 250,
      "cleanedEndLine" : 259
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/dsl/extension/HistoryCompressionStrategiesTest.kt",
        "extension" : "kt",
        "linesOfCode" : 419,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 379,
      "startLine" : 322,
      "endLine" : 332,
      "cleanedStartLine" : 273,
      "cleanedEndLine" : 282
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerStreamingTest.kt",
        "extension" : "kt",
        "linesOfCode" : 347,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 262,
      "startLine" : 208,
      "endLine" : 223,
      "cleanedStartLine" : 110,
      "cleanedEndLine" : 119
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerStreamingTest.kt",
        "extension" : "kt",
        "linesOfCode" : 347,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 262,
      "startLine" : 408,
      "endLine" : 423,
      "cleanedStartLine" : 253,
      "cleanedEndLine" : 262
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/google/GoogleParams.kt",
        "extension" : "kt",
        "linesOfCode" : 115,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 103,
      "startLine" : 77,
      "endLine" : 86,
      "cleanedStartLine" : 44,
      "cleanedEndLine" : 53
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/mistralai/MistralAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 145,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 133,
      "startLine" : 95,
      "endLine" : 104,
      "cleanedStartLine" : 52,
      "cleanedEndLine" : 61
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 545,
      "endLine" : 554,
      "cleanedStartLine" : 295,
      "cleanedEndLine" : 304
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 577,
      "endLine" : 586,
      "cleanedStartLine" : 315,
      "cleanedEndLine" : 324
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-tools/src/commonTest/kotlin/ai/koog/agents/core/tools/serialization/ToolParameterTypesTest.kt",
        "extension" : "kt",
        "linesOfCode" : 560,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 449,
      "startLine" : 254,
      "endLine" : 264,
      "cleanedStartLine" : 161,
      "cleanedEndLine" : 170
    }, {
      "file" : {
        "relativePath" : "agents/agents-tools/src/commonTest/kotlin/ai/koog/agents/core/tools/serialization/ToolParameterTypesTest.kt",
        "extension" : "kt",
        "linesOfCode" : 560,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 449,
      "startLine" : 314,
      "endLine" : 324,
      "cleanedStartLine" : 208,
      "cleanedEndLine" : 217
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 48,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 10
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 51,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 10
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-sql/src/jvmTest/kotlin/ai/koog/agents/features/sql/providers/PostgresPersistenceAgentRunTest.kt",
        "extension" : "kt",
        "linesOfCode" : 243,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 182,
      "startLine" : 172,
      "endLine" : 186,
      "cleanedStartLine" : 97,
      "cleanedEndLine" : 106
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-sql/src/jvmTest/kotlin/ai/koog/agents/features/sql/providers/PostgresPersistenceAgentRunTest.kt",
        "extension" : "kt",
        "linesOfCode" : 243,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 182,
      "startLine" : 258,
      "endLine" : 272,
      "cleanedStartLine" : 151,
      "cleanedEndLine" : 160
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rag/rag-base/src/jvmTest/kotlin/ai/koog/rag/base/files/JVMFileSystemProviderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 933,
        "components" : [ "primary::rag" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 724,
      "startLine" : 567,
      "endLine" : 580,
      "cleanedStartLine" : 349,
      "cleanedEndLine" : 358
    }, {
      "file" : {
        "relativePath" : "rag/rag-base/src/jvmTest/kotlin/ai/koog/rag/base/files/JVMFileSystemProviderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 933,
        "components" : [ "primary::rag" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 724,
      "startLine" : 666,
      "endLine" : 679,
      "cleanedStartLine" : 411,
      "cleanedEndLine" : 420
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/feature/AIAgentPipelineTest.kt",
        "extension" : "kt",
        "linesOfCode" : 736,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 595,
      "startLine" : 522,
      "endLine" : 537,
      "cleanedStartLine" : 333,
      "cleanedEndLine" : 342
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/feature/AIAgentPipelineTest.kt",
        "extension" : "kt",
        "linesOfCode" : 736,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 595,
      "startLine" : 570,
      "endLine" : 585,
      "cleanedStartLine" : 367,
      "cleanedEndLine" : 376
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-ext/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 36,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 10
    }, {
      "file" : {
        "relativePath" : "agents/agents-planner/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 36,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 10
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/androidMain/kotlin/ai/koog/agents/core/agent/session/AIAgentLLMReadSession.kt",
        "extension" : "kt",
        "linesOfCode" : 16,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 10,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 10
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/appleMain/kotlin/ai/koog/agents/core/agent/session/AIAgentLLMReadSession.kt",
        "extension" : "kt",
        "linesOfCode" : 16,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 10,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 10
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-sql/src/jvmTest/kotlin/ai/koog/agents/features/sql/providers/PostgresPersistenceAgentRunTest.kt",
        "extension" : "kt",
        "linesOfCode" : 243,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 182,
      "startLine" : 57,
      "endLine" : 68,
      "cleanedStartLine" : 14,
      "cleanedEndLine" : 23
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-sql/src/jvmTest/kotlin/ai/koog/agents/features/sql/providers/PostgresPersistencyStorageProviderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 105,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 76,
      "startLine" : 35,
      "endLine" : 46,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/SingleRunStrategyWithHistoryCompressionTests.kt",
        "extension" : "kt",
        "linesOfCode" : 119,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 93,
      "startLine" : 17,
      "endLine" : 27,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 11
    }, {
      "file" : {
        "relativePath" : "agents/agents-test/src/commonTest/kotlin/ai/koog/agents/testing/feature/Tools.kt",
        "extension" : "kt",
        "linesOfCode" : 35,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 28,
      "startLine" : 16,
      "endLine" : 26,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-llms-all/src/jvmTest/kotlin/ai/koog/prompt/executor/llms/all/MultipleLLMPromptExecutorMockTest.kt",
        "extension" : "kt",
        "linesOfCode" : 173,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 177,
      "endLine" : 189,
      "cleanedStartLine" : 107,
      "cleanedEndLine" : 116
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-llms/src/commonTest/kotlin/ai/koog/prompt/executor/llms/MultiLLMPromptExecutorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 206,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 155,
      "startLine" : 185,
      "endLine" : 196,
      "cleanedStartLine" : 110,
      "cleanedEndLine" : 119
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-ext/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 36,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 10
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-acp/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 26,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 10
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryInferenceSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 556,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 517,
      "startLine" : 284,
      "endLine" : 293,
      "cleanedStartLine" : 222,
      "cleanedEndLine" : 231
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryInferenceSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 556,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 517,
      "startLine" : 449,
      "endLine" : 458,
      "cleanedStartLine" : 365,
      "cleanedEndLine" : 374
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-sql/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 57,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 45,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 10
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-tokenizer/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 44,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 10
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 39,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 10
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 41,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 10
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-event-handler/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 33,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 23,
      "startLine" : 3,
      "endLine" : 16,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 10
    }, {
      "file" : {
        "relativePath" : "agents/agents-planner/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 36,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 10
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rag/vector-storage/src/jvmTest/kotlin/ai/koog/rag/vector/JVMFileDocumentEmbeddingStorageTest.kt",
        "extension" : "kt",
        "linesOfCode" : 184,
        "components" : [ "primary::rag" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 148,
      "startLine" : 85,
      "endLine" : 97,
      "cleanedStartLine" : 49,
      "cleanedEndLine" : 58
    }, {
      "file" : {
        "relativePath" : "rag/vector-storage/src/jvmTest/kotlin/ai/koog/rag/vector/JVMFileVectorStorageTest.kt",
        "extension" : "kt",
        "linesOfCode" : 160,
        "components" : [ "primary::rag" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 130,
      "startLine" : 114,
      "endLine" : 126,
      "cleanedStartLine" : 65,
      "cleanedEndLine" : 74
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-acp/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 26,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 10
    }, {
      "file" : {
        "relativePath" : "agents/agents-test/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 39,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 10
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-tools/src/commonTest/kotlin/ai/koog/agents/core/tools/serialization/ToolParameterTypesTest.kt",
        "extension" : "kt",
        "linesOfCode" : 560,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 449,
      "startLine" : 254,
      "endLine" : 264,
      "cleanedStartLine" : 161,
      "cleanedEndLine" : 170
    }, {
      "file" : {
        "relativePath" : "agents/agents-tools/src/commonTest/kotlin/ai/koog/agents/core/tools/serialization/ToolParameterTypesTest.kt",
        "extension" : "kt",
        "linesOfCode" : 560,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 449,
      "startLine" : 286,
      "endLine" : 296,
      "cleanedStartLine" : 186,
      "cleanedEndLine" : 195
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-mcp/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 41,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 31,
      "startLine" : 3,
      "endLine" : 16,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 10
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 48,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 10
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-a2a-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 32,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 10
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 39,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 10
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 39,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 10
    }, {
      "file" : {
        "relativePath" : "agents/agents-test/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 39,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 10
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-ext/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 36,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 10
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-sql/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 57,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 45,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 10
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/span/SpanCollectorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 437,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 399,
      "startLine" : 30,
      "endLine" : 39,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/span/SpanCollectorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 437,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 399,
      "startLine" : 136,
      "endLine" : 147,
      "cleanedStartLine" : 92,
      "cleanedEndLine" : 101
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 328,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 286,
      "startLine" : 165,
      "endLine" : 174,
      "cleanedStartLine" : 95,
      "cleanedEndLine" : 104
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 846,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 674,
      "startLine" : 347,
      "endLine" : 356,
      "cleanedStartLine" : 191,
      "cleanedEndLine" : 200
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/debugger/Debugger.kt",
        "extension" : "kt",
        "linesOfCode" : 399,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 318,
      "startLine" : 454,
      "endLine" : 463,
      "cleanedStartLine" : 274,
      "cleanedEndLine" : 283
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/commonMain/kotlin/ai/koog/agents/features/tracing/feature/Tracing.kt",
        "extension" : "kt",
        "linesOfCode" : 335,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 266,
      "startLine" : 259,
      "endLine" : 268,
      "cleanedStartLine" : 118,
      "cleanedEndLine" : 127
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-a2a-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 32,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 10
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-memory/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 37,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 10
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-memory/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 37,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 10
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 39,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 10
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicParams.kt",
        "extension" : "kt",
        "linesOfCode" : 154,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 135,
      "startLine" : 48,
      "endLine" : 57,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 25
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/google/GoogleParams.kt",
        "extension" : "kt",
        "linesOfCode" : 115,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 103,
      "startLine" : 41,
      "endLine" : 50,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 25
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-tokenizer/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 44,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 10
    }, {
      "file" : {
        "relativePath" : "agents/agents-planner/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 36,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 10
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/commonTest/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicSerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 335,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 278,
      "startLine" : 58,
      "endLine" : 70,
      "cleanedStartLine" : 25,
      "cleanedEndLine" : 34
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/openai/models/OpenAIResponsesAPIRequestSerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 233,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 194,
      "startLine" : 40,
      "endLine" : 52,
      "cleanedStartLine" : 21,
      "cleanedEndLine" : 30
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/debugger/Debugger.kt",
        "extension" : "kt",
        "linesOfCode" : 399,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 318,
      "startLine" : 312,
      "endLine" : 321,
      "cleanedStartLine" : 165,
      "cleanedEndLine" : 174
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/commonMain/kotlin/ai/koog/agents/features/tracing/feature/Tracing.kt",
        "extension" : "kt",
        "linesOfCode" : 335,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 266,
      "startLine" : 333,
      "endLine" : 342,
      "cleanedStartLine" : 174,
      "cleanedEndLine" : 183
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-transport/a2a-transport-client-jsonrpc-http/src/commonTest/kotlin/ai/koog/a2a/transport/client/jsonrpc/http/HttpJSONRPCClientTransportTest.kt",
        "extension" : "kt",
        "linesOfCode" : 389,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 327,
      "startLine" : 299,
      "endLine" : 310,
      "cleanedStartLine" : 201,
      "cleanedEndLine" : 210
    }, {
      "file" : {
        "relativePath" : "a2a/a2a-transport/a2a-transport-client-jsonrpc-http/src/commonTest/kotlin/ai/koog/a2a/transport/client/jsonrpc/http/HttpJSONRPCClientTransportTest.kt",
        "extension" : "kt",
        "linesOfCode" : 389,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 327,
      "startLine" : 374,
      "endLine" : 385,
      "cleanedStartLine" : 264,
      "cleanedEndLine" : 273
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-a2a-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 32,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 10
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-sql/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 57,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 45,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 10
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/java/ai/koog/agents/core/agent/JavaAPIAgentBuilderJavaTest.java",
        "extension" : "java",
        "linesOfCode" : 117,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 96,
      "startLine" : 26,
      "endLine" : 35,
      "cleanedStartLine" : 6,
      "cleanedEndLine" : 15
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/jvmTest/kotlin/ai/koog/prompt/JavaAPIPromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 296,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 262,
      "startLine" : 312,
      "endLine" : 321,
      "cleanedStartLine" : 222,
      "cleanedEndLine" : 231
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/tool/file/EditFileToolCoreTest.kt",
        "extension" : "kt",
        "linesOfCode" : 235,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 214,
      "startLine" : 69,
      "endLine" : 80,
      "cleanedStartLine" : 38,
      "cleanedEndLine" : 47
    }, {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/tool/file/EditFileToolCoreTest.kt",
        "extension" : "kt",
        "linesOfCode" : 235,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 214,
      "startLine" : 139,
      "endLine" : 150,
      "cleanedStartLine" : 94,
      "cleanedEndLine" : 103
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/tool/file/EditFileToolCoreTest.kt",
        "extension" : "kt",
        "linesOfCode" : 235,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 214,
      "startLine" : 69,
      "endLine" : 80,
      "cleanedStartLine" : 38,
      "cleanedEndLine" : 47
    }, {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/tool/file/EditFileToolCoreTest.kt",
        "extension" : "kt",
        "linesOfCode" : 235,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 214,
      "startLine" : 104,
      "endLine" : 115,
      "cleanedStartLine" : 66,
      "cleanedEndLine" : 75
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-sql/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 57,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 45,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 10
    }, {
      "file" : {
        "relativePath" : "agents/agents-planner/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 36,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 10
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-deepseek-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/deepseek/DeepSeekLLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 131,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 91,
      "startLine" : 59,
      "endLine" : 70,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 24
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openrouter-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openrouter/OpenRouterLLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 100,
      "startLine" : 61,
      "endLine" : 72,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 24
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-event-handler/src/jvmTest/kotlin/ai/koog/agents/features/eventHandler/feature/EventHandlerTest.kt",
        "extension" : "kt",
        "linesOfCode" : 637,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 548,
      "startLine" : 168,
      "endLine" : 178,
      "cleanedStartLine" : 105,
      "cleanedEndLine" : 114
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageLogWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 480,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 396,
      "startLine" : 104,
      "endLine" : 114,
      "cleanedStartLine" : 35,
      "cleanedEndLine" : 44
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/feature/AIAgentPipelineTest.kt",
        "extension" : "kt",
        "linesOfCode" : 736,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 595,
      "startLine" : 264,
      "endLine" : 277,
      "cleanedStartLine" : 150,
      "cleanedEndLine" : 159
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/feature/AIAgentPipelineTest.kt",
        "extension" : "kt",
        "linesOfCode" : 736,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 595,
      "startLine" : 380,
      "endLine" : 393,
      "cleanedStartLine" : 231,
      "cleanedEndLine" : 240
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/CheckpointsTests.kt",
        "extension" : "kt",
        "linesOfCode" : 793,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 646,
      "startLine" : 440,
      "endLine" : 450,
      "cleanedStartLine" : 275,
      "cleanedEndLine" : 284
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/ai/koog/agents/snapshot/providers/file/FileCheckpointsTests.kt",
        "extension" : "kt",
        "linesOfCode" : 236,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 188,
      "startLine" : 215,
      "endLine" : 225,
      "cleanedStartLine" : 143,
      "cleanedEndLine" : 152
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/debugger/Debugger.kt",
        "extension" : "kt",
        "linesOfCode" : 399,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 318,
      "startLine" : 242,
      "endLine" : 251,
      "cleanedStartLine" : 109,
      "cleanedEndLine" : 118
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/commonMain/kotlin/ai/koog/agents/features/tracing/feature/Tracing.kt",
        "extension" : "kt",
        "linesOfCode" : 335,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 266,
      "startLine" : 289,
      "endLine" : 298,
      "cleanedStartLine" : 140,
      "cleanedEndLine" : 149
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/session/AIAgentLLMReadSession.kt",
        "extension" : "kt",
        "linesOfCode" : 78,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 60,
      "startLine" : 80,
      "endLine" : 89,
      "cleanedStartLine" : 40,
      "cleanedEndLine" : 49
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/session/AIAgentLLMWriteSession.kt",
        "extension" : "kt",
        "linesOfCode" : 188,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 155,
      "startLine" : 142,
      "endLine" : 158,
      "cleanedStartLine" : 66,
      "cleanedEndLine" : 75
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipeline.kt",
        "extension" : "kt",
        "linesOfCode" : 448,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 394,
      "startLine" : 382,
      "endLine" : 391,
      "cleanedStartLine" : 123,
      "cleanedEndLine" : 132
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 846,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 674,
      "startLine" : 400,
      "endLine" : 409,
      "cleanedStartLine" : 240,
      "cleanedEndLine" : 249
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "koog-ktor/src/commonMain/kotlin/ai/koog/ktor/KoogAgentsConfig.kt",
        "extension" : "kt",
        "linesOfCode" : 362,
        "components" : [ "primary::koog-ktor" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 264,
      "startLine" : 636,
      "endLine" : 665,
      "cleanedStartLine" : 105,
      "cleanedEndLine" : 114
    }, {
      "file" : {
        "relativePath" : "koog-ktor/src/commonMain/kotlin/ai/koog/ktor/KoogAgentsConfig.kt",
        "extension" : "kt",
        "linesOfCode" : 362,
        "components" : [ "primary::koog-ktor" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 264,
      "startLine" : 725,
      "endLine" : 753,
      "cleanedStartLine" : 120,
      "cleanedEndLine" : 129
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "koog-ktor/src/commonMain/kotlin/ai/koog/ktor/KoogAgentsConfig.kt",
        "extension" : "kt",
        "linesOfCode" : 362,
        "components" : [ "primary::koog-ktor" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 264,
      "startLine" : 578,
      "endLine" : 607,
      "cleanedStartLine" : 93,
      "cleanedEndLine" : 102
    }, {
      "file" : {
        "relativePath" : "koog-ktor/src/commonMain/kotlin/ai/koog/ktor/KoogAgentsConfig.kt",
        "extension" : "kt",
        "linesOfCode" : 362,
        "components" : [ "primary::koog-ktor" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 264,
      "startLine" : 636,
      "endLine" : 665,
      "cleanedStartLine" : 105,
      "cleanedEndLine" : 114
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "koog-ktor/src/commonMain/kotlin/ai/koog/ktor/KoogAgentsConfig.kt",
        "extension" : "kt",
        "linesOfCode" : 362,
        "components" : [ "primary::koog-ktor" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 264,
      "startLine" : 578,
      "endLine" : 607,
      "cleanedStartLine" : 93,
      "cleanedEndLine" : 102
    }, {
      "file" : {
        "relativePath" : "koog-ktor/src/commonMain/kotlin/ai/koog/ktor/KoogAgentsConfig.kt",
        "extension" : "kt",
        "linesOfCode" : 362,
        "components" : [ "primary::koog-ktor" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 264,
      "startLine" : 725,
      "endLine" : 753,
      "cleanedStartLine" : 120,
      "cleanedEndLine" : 129
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-test/src/commonMain/kotlin/ai/koog/agents/testing/tools/MockLLMBuilder.kt",
        "extension" : "kt",
        "linesOfCode" : 495,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 414,
      "startLine" : 185,
      "endLine" : 194,
      "cleanedStartLine" : 48,
      "cleanedEndLine" : 57
    }, {
      "file" : {
        "relativePath" : "agents/agents-test/src/commonMain/kotlin/ai/koog/agents/testing/tools/MockLLMBuilder.kt",
        "extension" : "kt",
        "linesOfCode" : 495,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 414,
      "startLine" : 332,
      "endLine" : 341,
      "cleanedStartLine" : 139,
      "cleanedEndLine" : 148
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/langfuse/LangfuseTraceStructureTest.kt",
        "extension" : "kt",
        "linesOfCode" : 249,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 236,
      "startLine" : 64,
      "endLine" : 73,
      "cleanedStartLine" : 46,
      "cleanedEndLine" : 55
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/weave/WeaveTraceStructureTest.kt",
        "extension" : "kt",
        "linesOfCode" : 270,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 257,
      "startLine" : 188,
      "endLine" : 198,
      "cleanedStartLine" : 162,
      "cleanedEndLine" : 171
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "koog-ktor/src/commonMain/kotlin/ai/koog/ktor/KoogAgentsConfig.kt",
        "extension" : "kt",
        "linesOfCode" : 362,
        "components" : [ "primary::koog-ktor" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 264,
      "startLine" : 578,
      "endLine" : 607,
      "cleanedStartLine" : 93,
      "cleanedEndLine" : 102
    }, {
      "file" : {
        "relativePath" : "koog-ktor/src/commonMain/kotlin/ai/koog/ktor/KoogAgentsConfig.kt",
        "extension" : "kt",
        "linesOfCode" : 362,
        "components" : [ "primary::koog-ktor" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 264,
      "startLine" : 890,
      "endLine" : 912,
      "cleanedStartLine" : 156,
      "cleanedEndLine" : 165
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-tools/src/jvmMain/kotlin/ai/koog/agents/core/tools/reflect/java/javaIUtils.kt",
        "extension" : "kt",
        "linesOfCode" : 260,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 198,
      "startLine" : 235,
      "endLine" : 253,
      "cleanedStartLine" : 108,
      "cleanedEndLine" : 117
    }, {
      "file" : {
        "relativePath" : "agents/agents-tools/src/jvmMain/kotlin/ai/koog/agents/core/tools/reflect/util.kt",
        "extension" : "kt",
        "linesOfCode" : 210,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 156,
      "startLine" : 440,
      "endLine" : 458,
      "cleanedStartLine" : 143,
      "cleanedEndLine" : 152
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryInferenceSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 556,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 517,
      "startLine" : 157,
      "endLine" : 166,
      "cleanedStartLine" : 105,
      "cleanedEndLine" : 114
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryInferenceSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 556,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 517,
      "startLine" : 284,
      "endLine" : 293,
      "cleanedStartLine" : 222,
      "cleanedEndLine" : 231
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 328,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 286,
      "startLine" : 178,
      "endLine" : 187,
      "cleanedStartLine" : 107,
      "cleanedEndLine" : 116
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 846,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 674,
      "startLine" : 374,
      "endLine" : 383,
      "cleanedStartLine" : 216,
      "cleanedEndLine" : 225
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerTest.kt",
        "extension" : "kt",
        "linesOfCode" : 521,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 437,
      "startLine" : 397,
      "endLine" : 406,
      "cleanedStartLine" : 281,
      "cleanedEndLine" : 290
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageRemoteWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 816,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 671,
      "startLine" : 496,
      "endLine" : 505,
      "cleanedStartLine" : 337,
      "cleanedEndLine" : 346
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-a2a-server/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 32,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 10
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-memory/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 37,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 10
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-ext/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 36,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 10
    }, {
      "file" : {
        "relativePath" : "agents/agents-test/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 39,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 10
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageTestWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 623,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 501,
      "startLine" : 423,
      "endLine" : 437,
      "cleanedStartLine" : 269,
      "cleanedEndLine" : 278
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageTestWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 623,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 501,
      "startLine" : 548,
      "endLine" : 562,
      "cleanedStartLine" : 368,
      "cleanedEndLine" : 377
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-tokenizer/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 44,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 10
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 41,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 10
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-server/src/jvmTest/kotlin/ai/koog/a2a/server/jsonrpc/A2AServerJsonRpcIntegrationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 200,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 139,
      "startLine" : 48,
      "endLine" : 62,
      "cleanedStartLine" : 6,
      "cleanedEndLine" : 15
    }, {
      "file" : {
        "relativePath" : "a2a/a2a-server/src/jvmTest/kotlin/ai/koog/a2a/server/jsonrpc/StressA2AServerJsonRpcIntegrationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 34,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 21,
      "endLine" : 35,
      "cleanedStartLine" : 6,
      "cleanedEndLine" : 15
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageLogWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 480,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 396,
      "startLine" : 109,
      "endLine" : 120,
      "cleanedStartLine" : 39,
      "cleanedEndLine" : 48
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageRemoteWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 816,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 671,
      "startLine" : 810,
      "endLine" : 821,
      "cleanedStartLine" : 576,
      "cleanedEndLine" : 585
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/context/AIAgentFunctionalContext.kt",
        "extension" : "kt",
        "linesOfCode" : 179,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 153,
      "startLine" : 239,
      "endLine" : 248,
      "cleanedStartLine" : 132,
      "cleanedEndLine" : 141
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/context/AIAgentFunctionalContextImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 483,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 365,
      "startLine" : 324,
      "endLine" : 333,
      "cleanedStartLine" : 195,
      "cleanedEndLine" : 204
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/tool/file/EditFileToolCoreTest.kt",
        "extension" : "kt",
        "linesOfCode" : 235,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 214,
      "startLine" : 139,
      "endLine" : 150,
      "cleanedStartLine" : 94,
      "cleanedEndLine" : 103
    }, {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/tool/file/EditFileToolCoreTest.kt",
        "extension" : "kt",
        "linesOfCode" : 235,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 214,
      "startLine" : 174,
      "endLine" : 185,
      "cleanedStartLine" : 122,
      "cleanedEndLine" : 131
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicParams.kt",
        "extension" : "kt",
        "linesOfCode" : 154,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 135,
      "startLine" : 12,
      "endLine" : 46,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 14
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-deepseek-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/deepseek/DeepSeekParams.kt",
        "extension" : "kt",
        "linesOfCode" : 143,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 9,
      "endLine" : 39,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 14
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryAgentSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 148,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 126,
      "startLine" : 71,
      "endLine" : 81,
      "cleanedStartLine" : 42,
      "cleanedEndLine" : 51
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetrySpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 256,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 224,
      "startLine" : 237,
      "endLine" : 246,
      "cleanedStartLine" : 177,
      "cleanedEndLine" : 186
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rag/vector-storage/src/jvmTest/kotlin/ai/koog/rag/vector/JVMFileVectorStorageTest.kt",
        "extension" : "kt",
        "linesOfCode" : 160,
        "components" : [ "primary::rag" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 130,
      "startLine" : 114,
      "endLine" : 126,
      "cleanedStartLine" : 65,
      "cleanedEndLine" : 74
    }, {
      "file" : {
        "relativePath" : "rag/vector-storage/src/jvmTest/kotlin/ai/koog/rag/vector/JVMTextFileDocumentEmbeddingStorageTest.kt",
        "extension" : "kt",
        "linesOfCode" : 234,
        "components" : [ "primary::rag" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 193,
      "startLine" : 84,
      "endLine" : 96,
      "cleanedStartLine" : 49,
      "cleanedEndLine" : 58
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-acp/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 26,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 10
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-event-handler/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 33,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 23,
      "startLine" : 3,
      "endLine" : 16,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 10
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/debugger/Debugger.kt",
        "extension" : "kt",
        "linesOfCode" : 399,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 318,
      "startLine" : 286,
      "endLine" : 295,
      "cleanedStartLine" : 143,
      "cleanedEndLine" : 152
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/commonMain/kotlin/ai/koog/agents/features/tracing/feature/Tracing.kt",
        "extension" : "kt",
        "linesOfCode" : 335,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 266,
      "startLine" : 346,
      "endLine" : 355,
      "cleanedStartLine" : 185,
      "cleanedEndLine" : 194
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/event/ChoiceEventTest.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 120,
      "startLine" : 72,
      "endLine" : 83,
      "cleanedStartLine" : 41,
      "cleanedEndLine" : 50
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/event/ChoiceEventTest.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 120,
      "startLine" : 149,
      "endLine" : 160,
      "cleanedStartLine" : 98,
      "cleanedEndLine" : 107
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/agent/context/AIAgentLLMContextTest.kt",
        "extension" : "kt",
        "linesOfCode" : 177,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 136,
      "startLine" : 199,
      "endLine" : 210,
      "cleanedStartLine" : 125,
      "cleanedEndLine" : 134
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/agent/context/AIAgentLLMContextConcurrencyTest.kt",
        "extension" : "kt",
        "linesOfCode" : 184,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 126,
      "startLine" : 203,
      "endLine" : 214,
      "cleanedStartLine" : 115,
      "cleanedEndLine" : 124
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryAgentSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 148,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 126,
      "startLine" : 145,
      "endLine" : 155,
      "cleanedStartLine" : 100,
      "cleanedEndLine" : 109
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetrySpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 256,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 224,
      "startLine" : 237,
      "endLine" : 246,
      "cleanedStartLine" : 177,
      "cleanedEndLine" : 186
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/feature/AIAgentPipelineTest.kt",
        "extension" : "kt",
        "linesOfCode" : 736,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 595,
      "startLine" : 213,
      "endLine" : 226,
      "cleanedStartLine" : 114,
      "cleanedEndLine" : 123
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/feature/AIAgentPipelineTest.kt",
        "extension" : "kt",
        "linesOfCode" : 736,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 595,
      "startLine" : 380,
      "endLine" : 393,
      "cleanedStartLine" : 231,
      "cleanedEndLine" : 240
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/debugger/Debugger.kt",
        "extension" : "kt",
        "linesOfCode" : 399,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 318,
      "startLine" : 273,
      "endLine" : 282,
      "cleanedStartLine" : 132,
      "cleanedEndLine" : 141
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/commonMain/kotlin/ai/koog/agents/features/tracing/feature/Tracing.kt",
        "extension" : "kt",
        "linesOfCode" : 335,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 266,
      "startLine" : 320,
      "endLine" : 329,
      "cleanedStartLine" : 163,
      "cleanedEndLine" : 172
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-a2a-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 32,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 19,
      "endLine" : 40,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 22
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-a2a-core/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 31,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 18,
      "endLine" : 39,
      "cleanedStartLine" : 12,
      "cleanedEndLine" : 21
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 34,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 24,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 10
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-tokenizer/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 36,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 24,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 10
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-deepseek-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/deepseek/DeepSeekParams.kt",
        "extension" : "kt",
        "linesOfCode" : 143,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 53,
      "endLine" : 62,
      "cleanedStartLine" : 28,
      "cleanedEndLine" : 37
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 381,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 343,
      "startLine" : 321,
      "endLine" : 330,
      "cleanedStartLine" : 210,
      "cleanedEndLine" : 219
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-structure/src/commonTest/kotlin/ai/koog/prompt/structure/json/generator/JsonSchemaGeneratorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 819,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 713,
      "startLine" : 701,
      "endLine" : 711,
      "cleanedStartLine" : 575,
      "cleanedEndLine" : 584
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-structure/src/commonTest/kotlin/ai/koog/prompt/structure/json/generator/JsonSchemaGeneratorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 819,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 713,
      "startLine" : 793,
      "endLine" : 803,
      "cleanedStartLine" : 650,
      "cleanedEndLine" : 659
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 39,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 10
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-tokenizer/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 44,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 10
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "embeddings/embeddings-llm/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 44,
        "components" : [ "primary::embeddings" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 10
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 34,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 24,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 10
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/feature/AIAgentPipelineTest.kt",
        "extension" : "kt",
        "linesOfCode" : 736,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 595,
      "startLine" : 213,
      "endLine" : 226,
      "cleanedStartLine" : 114,
      "cleanedEndLine" : 123
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/feature/AIAgentPipelineTest.kt",
        "extension" : "kt",
        "linesOfCode" : 736,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 595,
      "startLine" : 264,
      "endLine" : 277,
      "cleanedStartLine" : 150,
      "cleanedEndLine" : 159
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "koog-ktor/src/commonMain/kotlin/ai/koog/ktor/KoogAgentsConfig.kt",
        "extension" : "kt",
        "linesOfCode" : 362,
        "components" : [ "primary::koog-ktor" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 264,
      "startLine" : 725,
      "endLine" : 753,
      "cleanedStartLine" : 120,
      "cleanedEndLine" : 129
    }, {
      "file" : {
        "relativePath" : "koog-ktor/src/commonMain/kotlin/ai/koog/ktor/KoogAgentsConfig.kt",
        "extension" : "kt",
        "linesOfCode" : 362,
        "components" : [ "primary::koog-ktor" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 264,
      "startLine" : 890,
      "endLine" : 912,
      "cleanedStartLine" : 156,
      "cleanedEndLine" : 165
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-a2a-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 32,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 10
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 41,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 10
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-ext/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 36,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 10
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-tokenizer/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 44,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 10
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/appleMain/kotlin/ai/koog/agents/core/agent/session/AIAgentLLMReadSession.kt",
        "extension" : "kt",
        "linesOfCode" : 16,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 10,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 10
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/wasmJsMain/kotlin/ai/koog/agents/core/agent/session/AIAgentLLMReadSession.kt",
        "extension" : "kt",
        "linesOfCode" : 16,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 10,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 10
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 883,
      "endLine" : 892,
      "cleanedStartLine" : 622,
      "cleanedEndLine" : 631
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 896,
      "endLine" : 905,
      "cleanedStartLine" : 634,
      "cleanedEndLine" : 643
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/dashscope/DashscopeLLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 111,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 79,
      "startLine" : 57,
      "endLine" : 68,
      "cleanedStartLine" : 14,
      "cleanedEndLine" : 23
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openrouter-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openrouter/OpenRouterLLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 100,
      "startLine" : 61,
      "endLine" : 72,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 24
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 381,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 343,
      "startLine" : 242,
      "endLine" : 251,
      "cleanedStartLine" : 166,
      "cleanedEndLine" : 175
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openrouter-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openrouter/OpenRouterParams.kt",
        "extension" : "kt",
        "linesOfCode" : 197,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 177,
      "startLine" : 215,
      "endLine" : 224,
      "cleanedStartLine" : 155,
      "cleanedEndLine" : 164
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryNodeExecuteSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 307,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 276,
      "startLine" : 55,
      "endLine" : 64,
      "cleanedStartLine" : 28,
      "cleanedEndLine" : 37
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryNodeExecuteSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 307,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 276,
      "startLine" : 120,
      "endLine" : 129,
      "cleanedStartLine" : 83,
      "cleanedEndLine" : 92
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-a2a-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 32,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 10
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-a2a-server/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 32,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 10
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-memory/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 37,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 10
    }, {
      "file" : {
        "relativePath" : "agents/agents-test/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 39,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 10
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/dashscope/DashscopeModels.kt",
        "extension" : "kt",
        "linesOfCode" : 118,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 112,
      "startLine" : 63,
      "endLine" : 72,
      "cleanedStartLine" : 36,
      "cleanedEndLine" : 45
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/dashscope/DashscopeModels.kt",
        "extension" : "kt",
        "linesOfCode" : 118,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 112,
      "startLine" : 150,
      "endLine" : 159,
      "cleanedStartLine" : 100,
      "cleanedEndLine" : 109
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/dsl/extension/AIAgentNodesHistoryCompressionTest.kt",
        "extension" : "kt",
        "linesOfCode" : 151,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 117,
      "startLine" : 107,
      "endLine" : 118,
      "cleanedStartLine" : 54,
      "cleanedEndLine" : 63
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/dsl/extension/AIAgentNodesHistoryCompressionTest.kt",
        "extension" : "kt",
        "linesOfCode" : 151,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 117,
      "startLine" : 162,
      "endLine" : 173,
      "cleanedStartLine" : 89,
      "cleanedEndLine" : 98
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/androidMain/kotlin/ai/koog/agents/core/agent/session/AIAgentLLMReadSession.kt",
        "extension" : "kt",
        "linesOfCode" : 16,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 10,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 10
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jsMain/kotlin/ai/koog/agents/core/agent/session/AIAgentLLMReadSession.kt",
        "extension" : "kt",
        "linesOfCode" : 16,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 10,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 10
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryInferenceSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 556,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 517,
      "startLine" : 176,
      "endLine" : 185,
      "cleanedStartLine" : 124,
      "cleanedEndLine" : 133
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryInferenceSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 556,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 517,
      "startLine" : 504,
      "endLine" : 513,
      "cleanedStartLine" : 420,
      "cleanedEndLine" : 429
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipeline.kt",
        "extension" : "kt",
        "linesOfCode" : 448,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 394,
      "startLine" : 280,
      "endLine" : 289,
      "cleanedStartLine" : 78,
      "cleanedEndLine" : 87
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 846,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 674,
      "startLine" : 293,
      "endLine" : 302,
      "cleanedStartLine" : 145,
      "cleanedEndLine" : 154
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client-base/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/base/AbstractOpenAILLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 412,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 304,
      "startLine" : 210,
      "endLine" : 223,
      "cleanedStartLine" : 89,
      "cleanedEndLine" : 98
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAILLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 711,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 554,
      "startLine" : 360,
      "endLine" : 372,
      "cleanedStartLine" : 210,
      "cleanedEndLine" : 219
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryNodeExecuteSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 307,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 276,
      "startLine" : 67,
      "endLine" : 76,
      "cleanedStartLine" : 40,
      "cleanedEndLine" : 49
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryNodeExecuteSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 307,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 276,
      "startLine" : 132,
      "endLine" : 141,
      "cleanedStartLine" : 95,
      "cleanedEndLine" : 104
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/dashscope/DashscopeModels.kt",
        "extension" : "kt",
        "linesOfCode" : 118,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 112,
      "startLine" : 87,
      "endLine" : 96,
      "cleanedStartLine" : 53,
      "cleanedEndLine" : 62
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/dashscope/DashscopeModels.kt",
        "extension" : "kt",
        "linesOfCode" : 118,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 112,
      "startLine" : 150,
      "endLine" : 159,
      "cleanedStartLine" : 100,
      "cleanedEndLine" : 109
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-cache/prompt-cache-redis/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 35,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 10
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-cached/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 35,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 10
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-acp/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 26,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 10
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 39,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 10
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-a2a-server/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 32,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 10
    }, {
      "file" : {
        "relativePath" : "agents/agents-planner/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 36,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 10
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/ext/agent/AIAgentSubgraphExt.kt",
        "extension" : "kt",
        "linesOfCode" : 376,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 310,
      "startLine" : 240,
      "endLine" : 249,
      "cleanedStartLine" : 85,
      "cleanedEndLine" : 94
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/ext/agent/AIAgentSubgraphExt.kt",
        "extension" : "kt",
        "linesOfCode" : 376,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 310,
      "startLine" : 284,
      "endLine" : 293,
      "cleanedStartLine" : 110,
      "cleanedEndLine" : 119
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 577,
      "endLine" : 586,
      "cleanedStartLine" : 315,
      "cleanedEndLine" : 324
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 608,
      "endLine" : 617,
      "cleanedStartLine" : 334,
      "cleanedEndLine" : 343
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-ollama-client/src/commonTest/kotlin/ai/koog/prompt/executor/ollama/client/OllamaToolCallTest.kt",
        "extension" : "kt",
        "linesOfCode" : 210,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 189,
      "startLine" : 145,
      "endLine" : 155,
      "cleanedStartLine" : 105,
      "cleanedEndLine" : 114
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-ollama-client/src/commonTest/kotlin/ai/koog/prompt/executor/ollama/client/OllamaToolCallTest.kt",
        "extension" : "kt",
        "linesOfCode" : 210,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 189,
      "startLine" : 195,
      "endLine" : 205,
      "cleanedStartLine" : 146,
      "cleanedEndLine" : 155
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/dashscope/DashscopeParams.kt",
        "extension" : "kt",
        "linesOfCode" : 159,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 144,
      "startLine" : 9,
      "endLine" : 42,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 14
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 381,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 343,
      "startLine" : 33,
      "endLine" : 77,
      "cleanedStartLine" : 18,
      "cleanedEndLine" : 27
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/google/GoogleParams.kt",
        "extension" : "kt",
        "linesOfCode" : 115,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 103,
      "startLine" : 10,
      "endLine" : 39,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 14
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 381,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 343,
      "startLine" : 33,
      "endLine" : 77,
      "cleanedStartLine" : 18,
      "cleanedEndLine" : 27
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-ext/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 36,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 10
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-a2a-server/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 32,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 10
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageFileWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 509,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 418,
      "startLine" : 483,
      "endLine" : 494,
      "cleanedStartLine" : 334,
      "cleanedEndLine" : 343
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageRemoteWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 816,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 671,
      "startLine" : 810,
      "endLine" : 821,
      "cleanedStartLine" : 576,
      "cleanedEndLine" : 585
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/context/AIAgentFunctionalContext.kt",
        "extension" : "kt",
        "linesOfCode" : 179,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 153,
      "startLine" : 251,
      "endLine" : 260,
      "cleanedStartLine" : 143,
      "cleanedEndLine" : 152
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/context/AIAgentFunctionalContextImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 483,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 365,
      "startLine" : 351,
      "endLine" : 360,
      "cleanedStartLine" : 218,
      "cleanedEndLine" : 227
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/context/AIAgentLLMContext.kt",
        "extension" : "kt",
        "linesOfCode" : 86,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 72,
      "startLine" : 132,
      "endLine" : 141,
      "cleanedStartLine" : 48,
      "cleanedEndLine" : 57
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/context/AIAgentLLMContextImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 105,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 85,
      "startLine" : 35,
      "endLine" : 44,
      "cleanedStartLine" : 17,
      "cleanedEndLine" : 26
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-a2a-server/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 32,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 10
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-sql/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 57,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 45,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 10
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/dsl/extension/AIAgentNodesHistoryCompressionTest.kt",
        "extension" : "kt",
        "linesOfCode" : 151,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 117,
      "startLine" : 55,
      "endLine" : 66,
      "cleanedStartLine" : 21,
      "cleanedEndLine" : 30
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/dsl/extension/AIAgentNodesHistoryCompressionTest.kt",
        "extension" : "kt",
        "linesOfCode" : 151,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 117,
      "startLine" : 162,
      "endLine" : 173,
      "cleanedStartLine" : 89,
      "cleanedEndLine" : 98
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-tokenizer/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 44,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 10
    }, {
      "file" : {
        "relativePath" : "agents/agents-test/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 39,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 10
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-memory/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 37,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 10
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 41,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 10
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-a2a-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 32,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 10
    }, {
      "file" : {
        "relativePath" : "agents/agents-test/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 39,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 10
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/tool/file/EditFileToolCoreTest.kt",
        "extension" : "kt",
        "linesOfCode" : 235,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 214,
      "startLine" : 69,
      "endLine" : 80,
      "cleanedStartLine" : 38,
      "cleanedEndLine" : 47
    }, {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/tool/file/EditFileToolCoreTest.kt",
        "extension" : "kt",
        "linesOfCode" : 235,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 214,
      "startLine" : 174,
      "endLine" : 185,
      "cleanedStartLine" : 122,
      "cleanedEndLine" : 131
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/src/jvmTest/kotlin/dashscope/DashscopeLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 255,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 196,
      "startLine" : 259,
      "endLine" : 271,
      "cleanedStartLine" : 175,
      "cleanedEndLine" : 184
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-deepseek-client/src/jvmTest/kotlin/deepseek/DeepSeekLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 247,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 191,
      "startLine" : 251,
      "endLine" : 263,
      "cleanedStartLine" : 170,
      "cleanedEndLine" : 179
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-acp/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 26,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 10
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-memory/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 37,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 10
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerTest.kt",
        "extension" : "kt",
        "linesOfCode" : 521,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 437,
      "startLine" : 485,
      "endLine" : 494,
      "cleanedStartLine" : 369,
      "cleanedEndLine" : 378
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageRemoteWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 816,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 671,
      "startLine" : 549,
      "endLine" : 558,
      "cleanedStartLine" : 389,
      "cleanedEndLine" : 398
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-llms-all/src/jvmTest/kotlin/ai/koog/prompt/executor/llms/all/MultipleLLMPromptExecutorMockTest.kt",
        "extension" : "kt",
        "linesOfCode" : 173,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 158,
      "endLine" : 170,
      "cleanedStartLine" : 93,
      "cleanedEndLine" : 102
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-llms/src/commonTest/kotlin/ai/koog/prompt/executor/llms/MultiLLMPromptExecutorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 206,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 155,
      "startLine" : 160,
      "endLine" : 171,
      "cleanedStartLine" : 90,
      "cleanedEndLine" : 99
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-a2a-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 32,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 10
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-event-handler/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 33,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 23,
      "startLine" : 3,
      "endLine" : 16,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 10
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/debugger/Debugger.kt",
        "extension" : "kt",
        "linesOfCode" : 399,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 318,
      "startLine" : 299,
      "endLine" : 308,
      "cleanedStartLine" : 154,
      "cleanedEndLine" : 163
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/commonMain/kotlin/ai/koog/agents/features/tracing/feature/Tracing.kt",
        "extension" : "kt",
        "linesOfCode" : 335,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 266,
      "startLine" : 359,
      "endLine" : 368,
      "cleanedStartLine" : 196,
      "cleanedEndLine" : 205
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 381,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 343,
      "startLine" : 175,
      "endLine" : 184,
      "cleanedStartLine" : 104,
      "cleanedEndLine" : 113
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openrouter-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openrouter/OpenRouterParams.kt",
        "extension" : "kt",
        "linesOfCode" : 197,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 177,
      "startLine" : 150,
      "endLine" : 159,
      "cleanedStartLine" : 95,
      "cleanedEndLine" : 104
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipeline.kt",
        "extension" : "kt",
        "linesOfCode" : 448,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 394,
      "startLine" : 805,
      "endLine" : 823,
      "cleanedStartLine" : 237,
      "cleanedEndLine" : 246
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 846,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 674,
      "startLine" : 677,
      "endLine" : 693,
      "cleanedStartLine" : 449,
      "cleanedEndLine" : 458
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-memory/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 37,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 10
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-sql/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 57,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 45,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 10
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetrySubgraphTest.kt",
        "extension" : "kt",
        "linesOfCode" : 334,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 313,
      "startLine" : 86,
      "endLine" : 95,
      "cleanedStartLine" : 60,
      "cleanedEndLine" : 69
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetrySubgraphTest.kt",
        "extension" : "kt",
        "linesOfCode" : 334,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 313,
      "startLine" : 201,
      "endLine" : 210,
      "cleanedStartLine" : 160,
      "cleanedEndLine" : 169
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 51,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 10
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 46,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 34,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 10
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/dashscope/DashscopeLLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 111,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 79,
      "startLine" : 57,
      "endLine" : 68,
      "cleanedStartLine" : 14,
      "cleanedEndLine" : 23
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-deepseek-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/deepseek/DeepSeekLLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 131,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 91,
      "startLine" : 59,
      "endLine" : 70,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 24
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/appleMain/kotlin/ai/koog/agents/core/agent/session/AIAgentLLMReadSession.kt",
        "extension" : "kt",
        "linesOfCode" : 16,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 10,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 10
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jsMain/kotlin/ai/koog/agents/core/agent/session/AIAgentLLMReadSession.kt",
        "extension" : "kt",
        "linesOfCode" : 16,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 10,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 10
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/span/SpanCollectorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 437,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 399,
      "startLine" : 50,
      "endLine" : 59,
      "cleanedStartLine" : 26,
      "cleanedEndLine" : 35
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/span/SpanCollectorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 437,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 399,
      "startLine" : 136,
      "endLine" : 147,
      "cleanedStartLine" : 92,
      "cleanedEndLine" : 101
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/BedrockLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 751,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 628,
      "startLine" : 759,
      "endLine" : 770,
      "cleanedStartLine" : 526,
      "cleanedEndLine" : 535
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/BedrockLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 751,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 628,
      "startLine" : 821,
      "endLine" : 832,
      "cleanedStartLine" : 576,
      "cleanedEndLine" : 585
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/google/GoogleLLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 653,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 482,
      "startLine" : 214,
      "endLine" : 226,
      "cleanedStartLine" : 91,
      "cleanedEndLine" : 100
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAILLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 711,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 554,
      "startLine" : 360,
      "endLine" : 372,
      "cleanedStartLine" : 210,
      "cleanedEndLine" : 219
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-cache/prompt-cache-model/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 26,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 10
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 46,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 34,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 10
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-memory/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 37,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 10
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-tokenizer/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 44,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 10
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicParams.kt",
        "extension" : "kt",
        "linesOfCode" : 154,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 135,
      "startLine" : 144,
      "endLine" : 153,
      "cleanedStartLine" : 94,
      "cleanedEndLine" : 103
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/mistralai/MistralAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 145,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 133,
      "startLine" : 134,
      "endLine" : 143,
      "cleanedStartLine" : 90,
      "cleanedEndLine" : 99
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/tool/file/EditFileToolCoreTest.kt",
        "extension" : "kt",
        "linesOfCode" : 235,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 214,
      "startLine" : 104,
      "endLine" : 115,
      "cleanedStartLine" : 66,
      "cleanedEndLine" : 75
    }, {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/tool/file/EditFileToolCoreTest.kt",
        "extension" : "kt",
        "linesOfCode" : 235,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 214,
      "startLine" : 174,
      "endLine" : 185,
      "cleanedStartLine" : 122,
      "cleanedEndLine" : 131
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/google/GoogleParams.kt",
        "extension" : "kt",
        "linesOfCode" : 115,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 103,
      "startLine" : 106,
      "endLine" : 115,
      "cleanedStartLine" : 72,
      "cleanedEndLine" : 81
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/mistralai/MistralAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 145,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 133,
      "startLine" : 134,
      "endLine" : 143,
      "cleanedStartLine" : 90,
      "cleanedEndLine" : 99
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-a2a-server/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 32,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 10
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 41,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 10
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/TraceStructureTestBase.kt",
        "extension" : "kt",
        "linesOfCode" : 802,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 688,
      "startLine" : 203,
      "endLine" : 212,
      "cleanedStartLine" : 112,
      "cleanedEndLine" : 121
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/TraceStructureTestBase.kt",
        "extension" : "kt",
        "linesOfCode" : 802,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 688,
      "startLine" : 429,
      "endLine" : 438,
      "cleanedStartLine" : 286,
      "cleanedEndLine" : 295
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-deepseek-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/deepseek/DeepSeekParams.kt",
        "extension" : "kt",
        "linesOfCode" : 143,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 158,
      "endLine" : 167,
      "cleanedStartLine" : 114,
      "cleanedEndLine" : 123
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 381,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 343,
      "startLine" : 242,
      "endLine" : 251,
      "cleanedStartLine" : 166,
      "cleanedEndLine" : 175
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 39,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 10
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-sql/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 57,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 45,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 10
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-event-handler/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 33,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 23,
      "startLine" : 3,
      "endLine" : 16,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 10
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-sql/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 57,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 45,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 10
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicParams.kt",
        "extension" : "kt",
        "linesOfCode" : 154,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 135,
      "startLine" : 124,
      "endLine" : 133,
      "cleanedStartLine" : 75,
      "cleanedEndLine" : 84
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/google/GoogleParams.kt",
        "extension" : "kt",
        "linesOfCode" : 115,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 103,
      "startLine" : 90,
      "endLine" : 99,
      "cleanedStartLine" : 57,
      "cleanedEndLine" : 66
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-deepseek-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/deepseek/DeepSeekModels.kt",
        "extension" : "kt",
        "linesOfCode" : 40,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 34,
      "startLine" : 33,
      "endLine" : 42,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-deepseek-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/deepseek/DeepSeekModels.kt",
        "extension" : "kt",
        "linesOfCode" : 40,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 34,
      "startLine" : 55,
      "endLine" : 64,
      "cleanedStartLine" : 23,
      "cleanedEndLine" : 32
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "embeddings/embeddings-llm/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 44,
        "components" : [ "primary::embeddings" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 10
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-tokenizer/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 36,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 24,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 10
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/mistralai/models/MistralAISerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 146,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 114,
      "startLine" : 83,
      "endLine" : 94,
      "cleanedStartLine" : 45,
      "cleanedEndLine" : 54
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/mistralai/models/MistralAISerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 146,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 114,
      "startLine" : 110,
      "endLine" : 121,
      "cleanedStartLine" : 65,
      "cleanedEndLine" : 74
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-event-handler/src/jvmTest/kotlin/ai/koog/agents/features/eventHandler/feature/EventHandlerTest.kt",
        "extension" : "kt",
        "linesOfCode" : 637,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 548,
      "startLine" : 168,
      "endLine" : 178,
      "cleanedStartLine" : 105,
      "cleanedEndLine" : 114
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageLogWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 480,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 396,
      "startLine" : 444,
      "endLine" : 454,
      "cleanedStartLine" : 305,
      "cleanedEndLine" : 314
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-memory/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 37,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 10
    }, {
      "file" : {
        "relativePath" : "agents/agents-planner/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 36,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 10
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/dashscope/DashscopeParams.kt",
        "extension" : "kt",
        "linesOfCode" : 159,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 144,
      "startLine" : 59,
      "endLine" : 68,
      "cleanedStartLine" : 31,
      "cleanedEndLine" : 40
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 381,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 343,
      "startLine" : 321,
      "endLine" : 330,
      "cleanedStartLine" : 210,
      "cleanedEndLine" : 219
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-mcp/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 41,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 31,
      "startLine" : 3,
      "endLine" : 16,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 10
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 46,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 34,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 10
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-transport/a2a-transport-server-jsonrpc-http/src/jvmTest/kotlin/ai/koog/a2a/transport/server/jsonrpc/http/HttpJSONRPCServerTransportTest.kt",
        "extension" : "kt",
        "linesOfCode" : 547,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 452,
      "startLine" : 517,
      "endLine" : 528,
      "cleanedStartLine" : 364,
      "cleanedEndLine" : 373
    }, {
      "file" : {
        "relativePath" : "a2a/a2a-transport/a2a-transport-server-jsonrpc-http/src/jvmTest/kotlin/ai/koog/a2a/transport/server/jsonrpc/http/HttpJSONRPCServerTransportTest.kt",
        "extension" : "kt",
        "linesOfCode" : 547,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 452,
      "startLine" : 565,
      "endLine" : 576,
      "cleanedStartLine" : 401,
      "cleanedEndLine" : 410
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-mcp/src/commonTest/kotlin/ai/koog/agents/mcp/DefaultMcpToolDescriptorParserTest.kt",
        "extension" : "kt",
        "linesOfCode" : 726,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 614,
      "startLine" : 202,
      "endLine" : 216,
      "cleanedStartLine" : 126,
      "cleanedEndLine" : 135
    }, {
      "file" : {
        "relativePath" : "agents/agents-mcp/src/commonTest/kotlin/ai/koog/agents/mcp/DefaultMcpToolDescriptorParserTest.kt",
        "extension" : "kt",
        "linesOfCode" : 726,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 614,
      "startLine" : 712,
      "endLine" : 725,
      "cleanedStartLine" : 512,
      "cleanedEndLine" : 521
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/dashscope/DashscopeParams.kt",
        "extension" : "kt",
        "linesOfCode" : 159,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 144,
      "startLine" : 9,
      "endLine" : 42,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 14
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-deepseek-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/deepseek/DeepSeekParams.kt",
        "extension" : "kt",
        "linesOfCode" : 143,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 9,
      "endLine" : 39,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 14
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/dashscope/DashscopeParams.kt",
        "extension" : "kt",
        "linesOfCode" : 159,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 144,
      "startLine" : 9,
      "endLine" : 42,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 14
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/google/GoogleParams.kt",
        "extension" : "kt",
        "linesOfCode" : 115,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 103,
      "startLine" : 10,
      "endLine" : 39,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 14
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/FunctionalAIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 110,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 84,
      "startLine" : 106,
      "endLine" : 115,
      "cleanedStartLine" : 48,
      "cleanedEndLine" : 57
    }, {
      "file" : {
        "relativePath" : "agents/agents-planner/src/commonMain/kotlin/ai/koog/agents/planner/PlannerAIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 101,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 76,
      "startLine" : 103,
      "endLine" : 112,
      "cleanedStartLine" : 47,
      "cleanedEndLine" : 56
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-deepseek-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/deepseek/DeepSeekParams.kt",
        "extension" : "kt",
        "linesOfCode" : 143,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 111,
      "endLine" : 120,
      "cleanedStartLine" : 72,
      "cleanedEndLine" : 81
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 381,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 343,
      "startLine" : 175,
      "endLine" : 184,
      "cleanedStartLine" : 104,
      "cleanedEndLine" : 113
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-ollama-client/src/commonTest/kotlin/ai/koog/prompt/executor/ollama/client/ContextWindowStrategyTest.kt",
        "extension" : "kt",
        "linesOfCode" : 196,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 162,
      "startLine" : 104,
      "endLine" : 115,
      "cleanedStartLine" : 60,
      "cleanedEndLine" : 69
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-ollama-client/src/commonTest/kotlin/ai/koog/prompt/executor/ollama/client/ContextWindowStrategyTest.kt",
        "extension" : "kt",
        "linesOfCode" : 196,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 162,
      "startLine" : 130,
      "endLine" : 141,
      "cleanedStartLine" : 80,
      "cleanedEndLine" : 89
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/google/GoogleLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 480,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 432,
      "startLine" : 265,
      "endLine" : 276,
      "cleanedStartLine" : 197,
      "cleanedEndLine" : 206
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/google/GoogleLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 480,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 432,
      "startLine" : 287,
      "endLine" : 298,
      "cleanedStartLine" : 214,
      "cleanedEndLine" : 223
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerConfigTest.kt",
        "extension" : "kt",
        "linesOfCode" : 192,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 139,
      "startLine" : 137,
      "endLine" : 148,
      "cleanedStartLine" : 67,
      "cleanedEndLine" : 76
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerTestAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 281,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 212,
      "startLine" : 92,
      "endLine" : 103,
      "cleanedStartLine" : 27,
      "cleanedEndLine" : 36
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rag/vector-storage/src/jvmTest/kotlin/ai/koog/rag/vector/JVMFileDocumentEmbeddingStorageTest.kt",
        "extension" : "kt",
        "linesOfCode" : 184,
        "components" : [ "primary::rag" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 148,
      "startLine" : 42,
      "endLine" : 54,
      "cleanedStartLine" : 17,
      "cleanedEndLine" : 26
    }, {
      "file" : {
        "relativePath" : "rag/vector-storage/src/jvmTest/kotlin/ai/koog/rag/vector/JVMTextFileDocumentEmbeddingStorageTest.kt",
        "extension" : "kt",
        "linesOfCode" : 234,
        "components" : [ "primary::rag" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 193,
      "startLine" : 37,
      "endLine" : 49,
      "cleanedStartLine" : 14,
      "cleanedEndLine" : 23
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-deepseek-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/deepseek/DeepSeekParams.kt",
        "extension" : "kt",
        "linesOfCode" : 143,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 9,
      "endLine" : 39,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 14
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/google/GoogleParams.kt",
        "extension" : "kt",
        "linesOfCode" : 115,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 103,
      "startLine" : 10,
      "endLine" : 39,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 14
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicParams.kt",
        "extension" : "kt",
        "linesOfCode" : 154,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 135,
      "startLine" : 174,
      "endLine" : 183,
      "cleanedStartLine" : 120,
      "cleanedEndLine" : 129
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/google/GoogleParams.kt",
        "extension" : "kt",
        "linesOfCode" : 115,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 103,
      "startLine" : 130,
      "endLine" : 139,
      "cleanedStartLine" : 92,
      "cleanedEndLine" : 101
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/debugger/Debugger.kt",
        "extension" : "kt",
        "linesOfCode" : 399,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 318,
      "startLine" : 411,
      "endLine" : 421,
      "cleanedStartLine" : 242,
      "cleanedEndLine" : 251
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/commonMain/kotlin/ai/koog/agents/features/tracing/feature/Tracing.kt",
        "extension" : "kt",
        "linesOfCode" : 335,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 266,
      "startLine" : 217,
      "endLine" : 226,
      "cleanedStartLine" : 86,
      "cleanedEndLine" : 95
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/agent/SingleRunStrategyTests.kt",
        "extension" : "kt",
        "linesOfCode" : 234,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 186,
      "startLine" : 196,
      "endLine" : 209,
      "cleanedStartLine" : 122,
      "cleanedEndLine" : 131
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/agent/SingleRunStrategyTests.kt",
        "extension" : "kt",
        "linesOfCode" : 234,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 186,
      "startLine" : 276,
      "endLine" : 289,
      "cleanedStartLine" : 176,
      "cleanedEndLine" : 185
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/SubgraphCheckpointsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 183,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 146,
      "startLine" : 41,
      "endLine" : 54,
      "cleanedStartLine" : 18,
      "cleanedEndLine" : 27
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/SubgraphSetExecutionPointTest.kt",
        "extension" : "kt",
        "linesOfCode" : 176,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 143,
      "startLine" : 57,
      "endLine" : 69,
      "cleanedStartLine" : 36,
      "cleanedEndLine" : 45
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-event-handler/src/jvmTest/kotlin/ai/koog/agents/features/eventHandler/feature/EventHandlerTest.kt",
        "extension" : "kt",
        "linesOfCode" : 637,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 548,
      "startLine" : 168,
      "endLine" : 178,
      "cleanedStartLine" : 105,
      "cleanedEndLine" : 114
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageRemoteWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 816,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 671,
      "startLine" : 234,
      "endLine" : 244,
      "cleanedStartLine" : 105,
      "cleanedEndLine" : 114
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-event-handler/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 33,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 23,
      "startLine" : 3,
      "endLine" : 16,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 10
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-memory/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 37,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 10
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/SubgraphCheckpointsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 183,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 146,
      "startLine" : 41,
      "endLine" : 54,
      "cleanedStartLine" : 18,
      "cleanedEndLine" : 27
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/SubgraphSetExecutionPointTest.kt",
        "extension" : "kt",
        "linesOfCode" : 176,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 143,
      "startLine" : 33,
      "endLine" : 45,
      "cleanedStartLine" : 17,
      "cleanedEndLine" : 26
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/SubgraphCheckpointsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 183,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 146,
      "startLine" : 41,
      "endLine" : 54,
      "cleanedStartLine" : 18,
      "cleanedEndLine" : 27
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/SubgraphSetExecutionPointTest.kt",
        "extension" : "kt",
        "linesOfCode" : 176,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 143,
      "startLine" : 110,
      "endLine" : 122,
      "cleanedStartLine" : 79,
      "cleanedEndLine" : 88
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-event-handler/src/jvmTest/kotlin/ai/koog/agents/features/eventHandler/feature/EventHandlerTest.kt",
        "extension" : "kt",
        "linesOfCode" : 637,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 548,
      "startLine" : 538,
      "endLine" : 547,
      "cleanedStartLine" : 399,
      "cleanedEndLine" : 408
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-event-handler/src/jvmTest/kotlin/ai/koog/agents/features/eventHandler/feature/EventHandlerTest.kt",
        "extension" : "kt",
        "linesOfCode" : 637,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 548,
      "startLine" : 623,
      "endLine" : 632,
      "cleanedStartLine" : 461,
      "cleanedEndLine" : 470
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/SubgraphCheckpointsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 183,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 146,
      "startLine" : 41,
      "endLine" : 54,
      "cleanedStartLine" : 18,
      "cleanedEndLine" : 27
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/SubgraphSetExecutionPointTest.kt",
        "extension" : "kt",
        "linesOfCode" : 176,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 143,
      "startLine" : 85,
      "endLine" : 97,
      "cleanedStartLine" : 59,
      "cleanedEndLine" : 68
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-mcp/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 41,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 31,
      "startLine" : 3,
      "endLine" : 16,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 10
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 51,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 10
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 41,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 10
    }, {
      "file" : {
        "relativePath" : "agents/agents-planner/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 36,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 10
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 41,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 10
    }, {
      "file" : {
        "relativePath" : "agents/agents-test/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 39,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 10
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/commonTest/kotlin/ai/koog/prompt/executor/clients/google/structure/GoogleStandardJsonSchemaGeneratorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 323,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 297,
      "startLine" : 309,
      "endLine" : 321,
      "cleanedStartLine" : 272,
      "cleanedEndLine" : 281
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client-base/src/commonTest/kotlin/ai/koog/prompt/executor/clients/openai/structure/OpenAIStandardJsonSchemaGeneratorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 375,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 342,
      "startLine" : 378,
      "endLine" : 390,
      "cleanedStartLine" : 332,
      "cleanedEndLine" : 341
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicParams.kt",
        "extension" : "kt",
        "linesOfCode" : 154,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 135,
      "startLine" : 12,
      "endLine" : 46,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 14
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/google/GoogleParams.kt",
        "extension" : "kt",
        "linesOfCode" : 115,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 103,
      "startLine" : 10,
      "endLine" : 39,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 14
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-cache/prompt-cache-files/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 26,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 10
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-cached/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 35,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 10
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/TraceStructureTestBase.kt",
        "extension" : "kt",
        "linesOfCode" : 802,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 688,
      "startLine" : 336,
      "endLine" : 347,
      "cleanedStartLine" : 217,
      "cleanedEndLine" : 226
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/TraceStructureTestBase.kt",
        "extension" : "kt",
        "linesOfCode" : 802,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 688,
      "startLine" : 691,
      "endLine" : 702,
      "cleanedStartLine" : 492,
      "cleanedEndLine" : 501
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-sql/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 57,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 45,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 10
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 41,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 10
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/TestStrategies.kt",
        "extension" : "kt",
        "linesOfCode" : 398,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 340,
      "startLine" : 276,
      "endLine" : 286,
      "cleanedStartLine" : 183,
      "cleanedEndLine" : 192
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/TestStrategies.kt",
        "extension" : "kt",
        "linesOfCode" : 398,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 340,
      "startLine" : 295,
      "endLine" : 305,
      "cleanedStartLine" : 198,
      "cleanedEndLine" : 207
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/feature/writer/FeatureMessageRemoteWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 204,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 144,
      "startLine" : 166,
      "endLine" : 181,
      "cleanedStartLine" : 84,
      "cleanedEndLine" : 93
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/feature/writer/FeatureMessageRemoteWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 204,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 144,
      "startLine" : 235,
      "endLine" : 250,
      "cleanedStartLine" : 126,
      "cleanedEndLine" : 135
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetrySubgraphTest.kt",
        "extension" : "kt",
        "linesOfCode" : 334,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 313,
      "startLine" : 74,
      "endLine" : 83,
      "cleanedStartLine" : 48,
      "cleanedEndLine" : 57
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetrySubgraphTest.kt",
        "extension" : "kt",
        "linesOfCode" : 334,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 313,
      "startLine" : 189,
      "endLine" : 198,
      "cleanedStartLine" : 148,
      "cleanedEndLine" : 157
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetrySubgraphTest.kt",
        "extension" : "kt",
        "linesOfCode" : 334,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 313,
      "startLine" : 201,
      "endLine" : 210,
      "cleanedStartLine" : 160,
      "cleanedEndLine" : 169
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetrySubgraphTest.kt",
        "extension" : "kt",
        "linesOfCode" : 334,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 313,
      "startLine" : 317,
      "endLine" : 326,
      "cleanedStartLine" : 259,
      "cleanedEndLine" : 268
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-sql/src/jvmTest/kotlin/ai/koog/agents/features/sql/providers/ExposedPersistenceFilterPostgresTest.kt",
        "extension" : "kt",
        "linesOfCode" : 133,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 99,
      "startLine" : 41,
      "endLine" : 52,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-sql/src/jvmTest/kotlin/ai/koog/agents/features/sql/providers/PostgresPersistenceAgentRunTest.kt",
        "extension" : "kt",
        "linesOfCode" : 243,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 182,
      "startLine" : 57,
      "endLine" : 68,
      "cleanedStartLine" : 14,
      "cleanedEndLine" : 23
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-tokenizer/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 44,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 18,
      "endLine" : 34,
      "cleanedStartLine" : 12,
      "cleanedEndLine" : 21
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 41,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 17,
      "endLine" : 33,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 20
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipeline.kt",
        "extension" : "kt",
        "linesOfCode" : 448,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 394,
      "startLine" : 383,
      "endLine" : 392,
      "cleanedStartLine" : 124,
      "cleanedEndLine" : 133
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 328,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 286,
      "startLine" : 191,
      "endLine" : 200,
      "cleanedStartLine" : 119,
      "cleanedEndLine" : 128
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-transport/a2a-transport-client-jsonrpc-http/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 44,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 10
    }, {
      "file" : {
        "relativePath" : "a2a/a2a-transport/a2a-transport-server-jsonrpc-http/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 41,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 10
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicParams.kt",
        "extension" : "kt",
        "linesOfCode" : 154,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 135,
      "startLine" : 12,
      "endLine" : 46,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 14
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/dashscope/DashscopeParams.kt",
        "extension" : "kt",
        "linesOfCode" : 159,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 144,
      "startLine" : 9,
      "endLine" : 42,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 14
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/langfuse/LangfuseTraceStructureTest.kt",
        "extension" : "kt",
        "linesOfCode" : 249,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 236,
      "startLine" : 185,
      "endLine" : 195,
      "cleanedStartLine" : 157,
      "cleanedEndLine" : 166
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/weave/WeaveTraceStructureTest.kt",
        "extension" : "kt",
        "linesOfCode" : 270,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 257,
      "startLine" : 56,
      "endLine" : 66,
      "cleanedStartLine" : 41,
      "cleanedEndLine" : 50
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-event-handler/src/jvmTest/kotlin/ai/koog/agents/features/eventHandler/feature/EventHandlerTest.kt",
        "extension" : "kt",
        "linesOfCode" : 637,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 548,
      "startLine" : 168,
      "endLine" : 178,
      "cleanedStartLine" : 105,
      "cleanedEndLine" : 114
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageFileWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 509,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 418,
      "startLine" : 478,
      "endLine" : 488,
      "cleanedStartLine" : 330,
      "cleanedEndLine" : 339
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/dashscope/DashscopeModels.kt",
        "extension" : "kt",
        "linesOfCode" : 118,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 112,
      "startLine" : 109,
      "endLine" : 118,
      "cleanedStartLine" : 70,
      "cleanedEndLine" : 79
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/dashscope/DashscopeModels.kt",
        "extension" : "kt",
        "linesOfCode" : 118,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 112,
      "startLine" : 150,
      "endLine" : 159,
      "cleanedStartLine" : 100,
      "cleanedEndLine" : 109
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetrySubgraphTest.kt",
        "extension" : "kt",
        "linesOfCode" : 334,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 313,
      "startLine" : 98,
      "endLine" : 107,
      "cleanedStartLine" : 72,
      "cleanedEndLine" : 81
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetrySubgraphTest.kt",
        "extension" : "kt",
        "linesOfCode" : 334,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 313,
      "startLine" : 213,
      "endLine" : 222,
      "cleanedStartLine" : 172,
      "cleanedEndLine" : 181
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/span/SpanCollectorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 437,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 399,
      "startLine" : 136,
      "endLine" : 147,
      "cleanedStartLine" : 92,
      "cleanedEndLine" : 101
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/span/SpanCollectorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 437,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 399,
      "startLine" : 217,
      "endLine" : 226,
      "cleanedStartLine" : 146,
      "cleanedEndLine" : 155
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-tools/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 38,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 10
    }, {
      "file" : {
        "relativePath" : "embeddings/embeddings-base/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 33,
        "components" : [ "primary::embeddings" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 10
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/feature/message/FeatureMessageProcessorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 313,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 270,
      "startLine" : 249,
      "endLine" : 260,
      "cleanedStartLine" : 154,
      "cleanedEndLine" : 163
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/feature/message/FeatureMessageProcessorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 313,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 270,
      "startLine" : 374,
      "endLine" : 385,
      "cleanedStartLine" : 254,
      "cleanedEndLine" : 263
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicParams.kt",
        "extension" : "kt",
        "linesOfCode" : 154,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 135,
      "startLine" : 107,
      "endLine" : 116,
      "cleanedStartLine" : 58,
      "cleanedEndLine" : 67
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/mistralai/MistralAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 145,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 133,
      "startLine" : 95,
      "endLine" : 104,
      "cleanedStartLine" : 52,
      "cleanedEndLine" : 61
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-ext/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 36,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 10
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 39,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 10
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/test-python-a2a-server/src/agent_executor.py",
        "extension" : "py",
        "linesOfCode" : 160,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 154,
      "startLine" : 43,
      "endLine" : 54,
      "cleanedStartLine" : 28,
      "cleanedEndLine" : 37
    }, {
      "file" : {
        "relativePath" : "a2a/test-python-a2a-server/src/agent_executor.py",
        "extension" : "py",
        "linesOfCode" : 160,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 154,
      "startLine" : 116,
      "endLine" : 127,
      "cleanedStartLine" : 88,
      "cleanedEndLine" : 97
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/test-python-a2a-server/src/agent_executor.py",
        "extension" : "py",
        "linesOfCode" : 160,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 154,
      "startLine" : 43,
      "endLine" : 54,
      "cleanedStartLine" : 28,
      "cleanedEndLine" : 37
    }, {
      "file" : {
        "relativePath" : "a2a/test-python-a2a-server/src/agent_executor.py",
        "extension" : "py",
        "linesOfCode" : 160,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 154,
      "startLine" : 97,
      "endLine" : 108,
      "cleanedStartLine" : 73,
      "cleanedEndLine" : 82
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-a2a-server/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 32,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 10
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-acp/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 26,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 10
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-deepseek-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/deepseek/DeepSeekParamsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 81,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 67,
      "startLine" : 53,
      "endLine" : 62,
      "cleanedStartLine" : 35,
      "cleanedEndLine" : 44
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/mistralai/MistralAIParamsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 74,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 61,
      "startLine" : 43,
      "endLine" : 52,
      "cleanedStartLine" : 27,
      "cleanedEndLine" : 36
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/androidMain/kotlin/ai/koog/agents/core/agent/session/AIAgentLLMReadSession.kt",
        "extension" : "kt",
        "linesOfCode" : 16,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 10,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 10
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/wasmJsMain/kotlin/ai/koog/agents/core/agent/session/AIAgentLLMReadSession.kt",
        "extension" : "kt",
        "linesOfCode" : 16,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 10,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 10
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/BedrockLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 751,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 628,
      "startLine" : 218,
      "endLine" : 228,
      "cleanedStartLine" : 117,
      "cleanedEndLine" : 126
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/modelfamilies/ai21/BedrockAI21JambaSerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 224,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 176,
      "startLine" : 115,
      "endLine" : 125,
      "cleanedStartLine" : 62,
      "cleanedEndLine" : 71
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-cache/prompt-cache-model/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 26,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 10
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 48,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 10
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryAgentSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 148,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 126,
      "startLine" : 71,
      "endLine" : 81,
      "cleanedStartLine" : 42,
      "cleanedEndLine" : 51
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetrySpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 256,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 224,
      "startLine" : 143,
      "endLine" : 152,
      "cleanedStartLine" : 89,
      "cleanedEndLine" : 98
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryStrategyTest.kt",
        "extension" : "kt",
        "linesOfCode" : 75,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 62,
      "startLine" : 16,
      "endLine" : 28,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 14
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryStrategyTest.kt",
        "extension" : "kt",
        "linesOfCode" : 75,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 62,
      "startLine" : 55,
      "endLine" : 67,
      "cleanedStartLine" : 35,
      "cleanedEndLine" : 44
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-acp/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 26,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 10
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-sql/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 57,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 45,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 10
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-event-handler/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 33,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 23,
      "startLine" : 3,
      "endLine" : 16,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 10
    }, {
      "file" : {
        "relativePath" : "agents/agents-test/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 39,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 10
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/span/SpanCollectorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 437,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 399,
      "startLine" : 111,
      "endLine" : 120,
      "cleanedStartLine" : 72,
      "cleanedEndLine" : 81
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/span/SpanCollectorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 437,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 399,
      "startLine" : 136,
      "endLine" : 147,
      "cleanedStartLine" : 92,
      "cleanedEndLine" : 101
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/agent/JavaAPIAgentBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 197,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 168,
      "startLine" : 61,
      "endLine" : 72,
      "cleanedStartLine" : 29,
      "cleanedEndLine" : 38
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/agent/JavaAPIAgentBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 197,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 168,
      "startLine" : 107,
      "endLine" : 118,
      "cleanedStartLine" : 63,
      "cleanedEndLine" : 72
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-ext/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 36,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 10
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-memory/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 37,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 10
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-a2a-server/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 32,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 10
    }, {
      "file" : {
        "relativePath" : "agents/agents-test/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 39,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 10
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/AIAgentService.kt",
        "extension" : "kt",
        "linesOfCode" : 228,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 197,
      "startLine" : 193,
      "endLine" : 202,
      "cleanedStartLine" : 35,
      "cleanedEndLine" : 44
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/AIAgentServiceHelper.kt",
        "extension" : "kt",
        "linesOfCode" : 101,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 89,
      "startLine" : 94,
      "endLine" : 103,
      "cleanedStartLine" : 46,
      "cleanedEndLine" : 55
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryInferenceSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 556,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 517,
      "startLine" : 447,
      "endLine" : 457,
      "cleanedStartLine" : 364,
      "cleanedEndLine" : 373
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryInferenceSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 556,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 517,
      "startLine" : 575,
      "endLine" : 585,
      "cleanedStartLine" : 476,
      "cleanedEndLine" : 485
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-event-handler/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 33,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 23,
      "startLine" : 3,
      "endLine" : 16,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 10
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 39,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 10
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-a2a-server/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 32,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 10
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-event-handler/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 33,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 23,
      "startLine" : 3,
      "endLine" : 16,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 10
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/TraceStructureTestBase.kt",
        "extension" : "kt",
        "linesOfCode" : 802,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 688,
      "startLine" : 340,
      "endLine" : 349,
      "cleanedStartLine" : 219,
      "cleanedEndLine" : 228
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/TraceStructureTestBase.kt",
        "extension" : "kt",
        "linesOfCode" : 802,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 688,
      "startLine" : 429,
      "endLine" : 438,
      "cleanedStartLine" : 286,
      "cleanedEndLine" : 295
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-acp/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 26,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 10
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-tokenizer/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 44,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 10
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jsMain/kotlin/ai/koog/agents/core/agent/session/AIAgentLLMReadSession.kt",
        "extension" : "kt",
        "linesOfCode" : 16,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 10,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 10
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/wasmJsMain/kotlin/ai/koog/agents/core/agent/session/AIAgentLLMReadSession.kt",
        "extension" : "kt",
        "linesOfCode" : 16,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 10,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 10
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/SimpleGraphCheckpointTest.kt",
        "extension" : "kt",
        "linesOfCode" : 128,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 96,
      "startLine" : 31,
      "endLine" : 47,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 13
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/SimpleGraphCheckpointTest.kt",
        "extension" : "kt",
        "linesOfCode" : 128,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 96,
      "startLine" : 86,
      "endLine" : 102,
      "cleanedStartLine" : 35,
      "cleanedEndLine" : 44
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-a2a-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 32,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 10
    }, {
      "file" : {
        "relativePath" : "agents/agents-planner/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 36,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 10
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/langfuse/LangfuseTraceStructureTest.kt",
        "extension" : "kt",
        "linesOfCode" : 249,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 236,
      "startLine" : 169,
      "endLine" : 179,
      "cleanedStartLine" : 142,
      "cleanedEndLine" : 151
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/weave/WeaveTraceStructureTest.kt",
        "extension" : "kt",
        "linesOfCode" : 270,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 257,
      "startLine" : 41,
      "endLine" : 51,
      "cleanedStartLine" : 27,
      "cleanedEndLine" : 36
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/openai/models/OpenAIChatCompletionRequestSerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 149,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 109,
      "startLine" : 76,
      "endLine" : 87,
      "cleanedStartLine" : 46,
      "cleanedEndLine" : 55
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/openai/models/OpenAIChatCompletionRequestSerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 149,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 109,
      "startLine" : 102,
      "endLine" : 113,
      "cleanedStartLine" : 65,
      "cleanedEndLine" : 74
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-event-handler/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 33,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 23,
      "startLine" : 3,
      "endLine" : 16,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 10
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 41,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 10
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetrySpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 256,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 224,
      "startLine" : 143,
      "endLine" : 152,
      "cleanedStartLine" : 89,
      "cleanedEndLine" : 98
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetrySpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 256,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 224,
      "startLine" : 237,
      "endLine" : 246,
      "cleanedStartLine" : 177,
      "cleanedEndLine" : 186
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerTestAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 281,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 212,
      "startLine" : 92,
      "endLine" : 103,
      "cleanedStartLine" : 27,
      "cleanedEndLine" : 36
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerTestAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 281,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 212,
      "startLine" : 288,
      "endLine" : 299,
      "cleanedStartLine" : 191,
      "cleanedEndLine" : 200
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-transport/a2a-transport-server-jsonrpc-http/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 41,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-a2a-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 32,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-transport/a2a-transport-client-jsonrpc-http/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 44,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-tokenizer/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 44,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-cache/prompt-cache-model/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 26,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-tokenizer/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 36,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 24,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-a2a-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 32,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 29,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 19,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rag/rag-base/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 32,
        "components" : [ "primary::rag" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "rag/vector-storage/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 35,
        "components" : [ "primary::rag" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-transport/a2a-transport-core-jsonrpc/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 37,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "rag/rag-base/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 32,
        "components" : [ "primary::rag" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "embeddings/embeddings-base/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 33,
        "components" : [ "primary::embeddings" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client-base/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 40,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 28,
      "startLine" : 3,
      "endLine" : 13,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-event-handler/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 33,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 23,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "agents/agents-tools/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 38,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/BedrockLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 751,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 628,
      "startLine" : 600,
      "endLine" : 608,
      "cleanedStartLine" : 395,
      "cleanedEndLine" : 403
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/BedrockLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 751,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 628,
      "startLine" : 619,
      "endLine" : 627,
      "cleanedStartLine" : 410,
      "cleanedEndLine" : 418
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-transport/a2a-transport-core-jsonrpc/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 37,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "agents/agents-planner/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 36,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/androidMain/kotlin/ai/koog/agents/core/agent/context/AIAgentLLMContext.kt",
        "extension" : "kt",
        "linesOfCode" : 32,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 21,
      "endLine" : 29,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmMain/kotlin/ai/koog/agents/core/agent/context/AIAgentLLMContext.kt",
        "extension" : "kt",
        "linesOfCode" : 82,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 59,
      "startLine" : 44,
      "endLine" : 52,
      "cleanedStartLine" : 24,
      "cleanedEndLine" : 32
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rag/vector-storage/src/commonTest/kotlin/ai/koog/rag/vector/FileDocumentEmbeddingStorageTest.kt",
        "extension" : "kt",
        "linesOfCode" : 114,
        "components" : [ "primary::rag" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 90,
      "startLine" : 52,
      "endLine" : 64,
      "cleanedStartLine" : 24,
      "cleanedEndLine" : 32
    }, {
      "file" : {
        "relativePath" : "rag/vector-storage/src/commonTest/kotlin/ai/koog/rag/vector/TextFileDocumentEmbeddingStorageTest.kt",
        "extension" : "kt",
        "linesOfCode" : 141,
        "components" : [ "primary::rag" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 112,
      "startLine" : 49,
      "endLine" : 61,
      "cleanedStartLine" : 22,
      "cleanedEndLine" : 30
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-a2a-server/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 32,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-deepseek-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 29,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 19,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client-base/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 40,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 28,
      "startLine" : 3,
      "endLine" : 13,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "rag/vector-storage/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 35,
        "components" : [ "primary::rag" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client-base/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/base/AbstractOpenAILLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 412,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 304,
      "startLine" : 257,
      "endLine" : 265,
      "cleanedStartLine" : 125,
      "cleanedEndLine" : 133
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAILLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 711,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 554,
      "startLine" : 495,
      "endLine" : 503,
      "cleanedStartLine" : 286,
      "cleanedEndLine" : 294
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryInferenceSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 556,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 517,
      "startLine" : 158,
      "endLine" : 166,
      "cleanedStartLine" : 106,
      "cleanedEndLine" : 114
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryInferenceSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 556,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 517,
      "startLine" : 198,
      "endLine" : 206,
      "cleanedStartLine" : 146,
      "cleanedEndLine" : 154
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-mcp/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 41,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 31,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 31,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 34,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 24,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-structure/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 39,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client-base/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 40,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 28,
      "startLine" : 3,
      "endLine" : 13,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-processor/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 38,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 381,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 343,
      "startLine" : 373,
      "endLine" : 381,
      "cleanedStartLine" : 241,
      "cleanedEndLine" : 249
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openrouter-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openrouter/OpenRouterParams.kt",
        "extension" : "kt",
        "linesOfCode" : 197,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 177,
      "startLine" : 126,
      "endLine" : 134,
      "cleanedStartLine" : 71,
      "cleanedEndLine" : 79
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-tokenizer/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 44,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "koog-ktor/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 58,
        "components" : [ "primary::koog-ktor" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 40,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-memory/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 37,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-llm/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 20,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 14,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-memory/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 37,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 48,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-mcp-server/src/jvmTest/kotlin/ai/koog/agents/mcp/server/KoogToolAsMcpToolTest.kt",
        "extension" : "kt",
        "linesOfCode" : 156,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 101,
      "startLine" : 36,
      "endLine" : 51,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 15
    }, {
      "file" : {
        "relativePath" : "agents/agents-mcp-server/src/jvmTest/kotlin/ai/koog/agents/mcp/server/KoogToolAsMcpToolTest.kt",
        "extension" : "kt",
        "linesOfCode" : 156,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 101,
      "startLine" : 84,
      "endLine" : 100,
      "cleanedStartLine" : 34,
      "cleanedEndLine" : 42
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-cache/prompt-cache-files/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 26,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "rag/vector-storage/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 35,
        "components" : [ "primary::rag" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 48,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-deepseek-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 29,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 19,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 47,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "koog-ktor/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 58,
        "components" : [ "primary::koog-ktor" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 40,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 269,
      "endLine" : 291,
      "cleanedStartLine" : 132,
      "cleanedEndLine" : 140
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 335,
      "endLine" : 357,
      "cleanedStartLine" : 170,
      "cleanedEndLine" : 178
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-planner/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 36,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-cache/prompt-cache-files/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 26,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-a2a-core/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 31,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "agents/agents-test/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 39,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-transport/a2a-transport-client-jsonrpc-http/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 44,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "a2a/a2a-transport/a2a-transport-core-jsonrpc/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 37,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-test/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 39,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 51,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-cache/prompt-cache-model/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 26,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client-base/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 40,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 28,
      "startLine" : 3,
      "endLine" : 13,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-deepseek-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 29,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 19,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-tokenizer/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 36,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 24,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-server/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 50,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "agents/agents-mcp/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 41,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 31,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerTest.kt",
        "extension" : "kt",
        "linesOfCode" : 521,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 437,
      "startLine" : 286,
      "endLine" : 294,
      "cleanedStartLine" : 170,
      "cleanedEndLine" : 178
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerTestAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 281,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 212,
      "startLine" : 177,
      "endLine" : 185,
      "cleanedStartLine" : 95,
      "cleanedEndLine" : 103
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryInferenceSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 556,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 517,
      "startLine" : 284,
      "endLine" : 292,
      "cleanedStartLine" : 222,
      "cleanedEndLine" : 230
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryInferenceSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 556,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 517,
      "startLine" : 577,
      "endLine" : 585,
      "cleanedStartLine" : 477,
      "cleanedEndLine" : 485
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-server/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 50,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-a2a-core/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 31,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-structure/src/commonTest/kotlin/ai/koog/prompt/structure/json/generator/JsonSchemaGeneratorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 819,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 713,
      "startLine" : 288,
      "endLine" : 298,
      "cleanedStartLine" : 227,
      "cleanedEndLine" : 235
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-structure/src/commonTest/kotlin/ai/koog/prompt/structure/json/generator/JsonSchemaGeneratorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 819,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 713,
      "startLine" : 414,
      "endLine" : 424,
      "cleanedStartLine" : 329,
      "cleanedEndLine" : 337
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-transport/a2a-transport-client-jsonrpc-http/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 44,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 46,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 34,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/src/jvmTest/kotlin/dashscope/DashscopeLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 255,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 196,
      "startLine" : 169,
      "endLine" : 178,
      "cleanedStartLine" : 106,
      "cleanedEndLine" : 114
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/src/jvmTest/kotlin/dashscope/DashscopeLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 255,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 196,
      "startLine" : 267,
      "endLine" : 276,
      "cleanedStartLine" : 181,
      "cleanedEndLine" : 189
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-tokenizer/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 44,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-llm/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 20,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 14,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-utils/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 28,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "embeddings/embeddings-llm/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 44,
        "components" : [ "primary::embeddings" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/mistralai/MistralAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 145,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 133,
      "startLine" : 9,
      "endLine" : 17,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 13
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openrouter-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openrouter/OpenRouterParams.kt",
        "extension" : "kt",
        "linesOfCode" : 197,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 177,
      "startLine" : 10,
      "endLine" : 18,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 13
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-cached/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 35,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-tokenizer/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 36,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 24,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-test/src/commonMain/kotlin/ai/koog/agents/testing/tools/MockLLMBuilder.kt",
        "extension" : "kt",
        "linesOfCode" : 495,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 414,
      "startLine" : 185,
      "endLine" : 193,
      "cleanedStartLine" : 48,
      "cleanedEndLine" : 56
    }, {
      "file" : {
        "relativePath" : "agents/agents-test/src/commonMain/kotlin/ai/koog/agents/testing/tools/MockLLMBuilder.kt",
        "extension" : "kt",
        "linesOfCode" : 495,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 414,
      "startLine" : 242,
      "endLine" : 250,
      "cleanedStartLine" : 85,
      "cleanedEndLine" : 93
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "embeddings/embeddings-llm/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 44,
        "components" : [ "primary::embeddings" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-deepseek-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 29,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 19,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryInferenceSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 556,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 517,
      "startLine" : 158,
      "endLine" : 166,
      "cleanedStartLine" : 106,
      "cleanedEndLine" : 114
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryInferenceSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 556,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 517,
      "startLine" : 325,
      "endLine" : 333,
      "cleanedStartLine" : 263,
      "cleanedEndLine" : 271
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-ext/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 36,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-llms-all/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 50,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 40,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-transport/a2a-transport-server-jsonrpc-http/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 41,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-cache/prompt-cache-model/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 26,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-a2a-core/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 31,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "embeddings/embeddings-base/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 33,
        "components" : [ "primary::embeddings" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 303,
      "endLine" : 325,
      "cleanedStartLine" : 152,
      "cleanedEndLine" : 160
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 335,
      "endLine" : 357,
      "cleanedStartLine" : 170,
      "cleanedEndLine" : 178
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 41,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 31,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-deepseek-client/src/jvmTest/kotlin/deepseek/DeepSeekLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 247,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 191,
      "startLine" : 167,
      "endLine" : 176,
      "cleanedStartLine" : 106,
      "cleanedEndLine" : 114
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-deepseek-client/src/jvmTest/kotlin/deepseek/DeepSeekLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 247,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 191,
      "startLine" : 259,
      "endLine" : 268,
      "cleanedStartLine" : 176,
      "cleanedEndLine" : 184
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-mcp/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 41,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 31,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-cache/prompt-cache-redis/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 35,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "embeddings/embeddings-llm/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 44,
        "components" : [ "primary::embeddings" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-cached/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 35,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-transport/a2a-transport-server-jsonrpc-http/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 41,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-deepseek-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 29,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 19,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/context/AIAgentFunctionalContext.kt",
        "extension" : "kt",
        "linesOfCode" : 179,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 153,
      "startLine" : 228,
      "endLine" : 236,
      "cleanedStartLine" : 122,
      "cleanedEndLine" : 130
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/context/AIAgentFunctionalContextImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 483,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 365,
      "startLine" : 295,
      "endLine" : 303,
      "cleanedStartLine" : 169,
      "cleanedEndLine" : 177
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-test/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 39,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-cached/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 35,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "embeddings/embeddings-llm/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 44,
        "components" : [ "primary::embeddings" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-cache/prompt-cache-redis/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 35,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-tokenizer/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 44,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "rag/rag-base/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 32,
        "components" : [ "primary::rag" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-tools/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 38,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 51,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client-base/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/base/AbstractOpenAILLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 412,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 304,
      "startLine" : 257,
      "endLine" : 265,
      "cleanedStartLine" : 125,
      "cleanedEndLine" : 133
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAILLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 711,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 554,
      "startLine" : 531,
      "endLine" : 539,
      "cleanedStartLine" : 307,
      "cleanedEndLine" : 315
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/dashscope/DashscopeParams.kt",
        "extension" : "kt",
        "linesOfCode" : 159,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 144,
      "startLine" : 9,
      "endLine" : 17,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 13
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openrouter-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openrouter/OpenRouterParams.kt",
        "extension" : "kt",
        "linesOfCode" : 197,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 177,
      "startLine" : 10,
      "endLine" : 18,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 13
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "koog-ktor/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 58,
        "components" : [ "primary::koog-ktor" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 40,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "rag/vector-storage/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 35,
        "components" : [ "primary::rag" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageRemoteWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 816,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 671,
      "startLine" : 393,
      "endLine" : 401,
      "cleanedStartLine" : 234,
      "cleanedEndLine" : 242
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageRemoteWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 816,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 671,
      "startLine" : 405,
      "endLine" : 413,
      "cleanedStartLine" : 246,
      "cleanedEndLine" : 254
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-transport/a2a-transport-client-jsonrpc-http/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 44,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-a2a-core/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 31,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 51,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 30,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 20,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-transport/a2a-transport-client-jsonrpc-http/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 44,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 34,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 24,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-a2a-server/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 32,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 48,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/dashscope/DashscopeLLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 111,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 79,
      "startLine" : 127,
      "endLine" : 136,
      "cleanedStartLine" : 68,
      "cleanedEndLine" : 76
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-deepseek-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/deepseek/DeepSeekLLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 131,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 91,
      "startLine" : 135,
      "endLine" : 144,
      "cleanedStartLine" : 67,
      "cleanedEndLine" : 75
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 41,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-processor/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 38,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-server/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 50,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-a2a-server/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 32,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/langfuse/LangfuseTraceStructureTest.kt",
        "extension" : "kt",
        "linesOfCode" : 249,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 236,
      "startLine" : 254,
      "endLine" : 263,
      "cleanedStartLine" : 221,
      "cleanedEndLine" : 229
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/weave/WeaveTraceStructureTest.kt",
        "extension" : "kt",
        "linesOfCode" : 270,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 257,
      "startLine" : 124,
      "endLine" : 133,
      "cleanedStartLine" : 104,
      "cleanedEndLine" : 112
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-mcp/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 41,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 31,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "rag/rag-base/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 32,
        "components" : [ "primary::rag" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-transport/a2a-transport-server-jsonrpc-http/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 41,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 51,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "koog-ktor/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 58,
        "components" : [ "primary::koog-ktor" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 40,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client-base/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 40,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 28,
      "startLine" : 3,
      "endLine" : 13,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "embeddings/embeddings-llm/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 44,
        "components" : [ "primary::embeddings" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 51,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentGraphPipeline.kt",
        "extension" : "kt",
        "linesOfCode" : 107,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 90,
      "startLine" : 85,
      "endLine" : 93,
      "cleanedStartLine" : 22,
      "cleanedEndLine" : 30
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentGraphPipelineAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 94,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 81,
      "startLine" : 37,
      "endLine" : 45,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 21
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-acp/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 26,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 30,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 20,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 41,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "agents/agents-tools/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 38,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/androidMain/kotlin/ai/koog/agents/core/agent/session/AIAgentLLMWriteSession.kt",
        "extension" : "kt",
        "linesOfCode" : 61,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 45,
      "startLine" : 27,
      "endLine" : 35,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/session/AIAgentLLMWriteSession.kt",
        "extension" : "kt",
        "linesOfCode" : 188,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 155,
      "startLine" : 62,
      "endLine" : 70,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 16
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-cache/prompt-cache-model/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 26,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-processor/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 38,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 41,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 29,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 19,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-test/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 39,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "rag/rag-base/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 32,
        "components" : [ "primary::rag" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 46,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 34,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-tokenizer/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 36,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 24,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-a2a-server/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 32,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openrouter-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 25,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 17,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-mcp/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 41,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 31,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client-base/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 40,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 28,
      "startLine" : 3,
      "endLine" : 13,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryInferenceSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 556,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 517,
      "startLine" : 325,
      "endLine" : 333,
      "cleanedStartLine" : 263,
      "cleanedEndLine" : 271
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryInferenceSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 556,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 517,
      "startLine" : 450,
      "endLine" : 458,
      "cleanedStartLine" : 366,
      "cleanedEndLine" : 374
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-sql/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 57,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 45,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 34,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 24,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-transport/a2a-transport-client-jsonrpc-http/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 44,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openrouter-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 25,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 17,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 39,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "embeddings/embeddings-base/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 33,
        "components" : [ "primary::embeddings" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-deepseek-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 29,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 19,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client-base/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 40,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 28,
      "startLine" : 3,
      "endLine" : 13,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-transport/a2a-transport-core-jsonrpc/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 37,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-tokenizer/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 36,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 24,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-transport/a2a-transport-server-jsonrpc-http/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 41,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "rag/rag-base/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 32,
        "components" : [ "primary::rag" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-acp/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 26,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "agents/agents-utils/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 28,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-sql/src/jvmTest/kotlin/ai/koog/agents/features/sql/providers/ExposedPersistenceFilterPostgresTest.kt",
        "extension" : "kt",
        "linesOfCode" : 133,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 99,
      "startLine" : 135,
      "endLine" : 143,
      "cleanedStartLine" : 75,
      "cleanedEndLine" : 83
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-sql/src/jvmTest/kotlin/ai/koog/agents/features/sql/providers/PostgresPersistencyStorageProviderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 105,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 76,
      "startLine" : 124,
      "endLine" : 132,
      "cleanedStartLine" : 68,
      "cleanedEndLine" : 76
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerTest.kt",
        "extension" : "kt",
        "linesOfCode" : 521,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 437,
      "startLine" : 298,
      "endLine" : 306,
      "cleanedStartLine" : 182,
      "cleanedEndLine" : 190
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerTestAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 281,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 212,
      "startLine" : 165,
      "endLine" : 173,
      "cleanedStartLine" : 83,
      "cleanedEndLine" : 91
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-memory/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 37,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openrouter-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 25,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 17,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/mistralai/MistralAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 145,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 133,
      "startLine" : 134,
      "endLine" : 142,
      "cleanedStartLine" : 90,
      "cleanedEndLine" : 98
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openrouter-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openrouter/OpenRouterParams.kt",
        "extension" : "kt",
        "linesOfCode" : 197,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 177,
      "startLine" : 177,
      "endLine" : 185,
      "cleanedStartLine" : 121,
      "cleanedEndLine" : 129
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryInferenceSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 556,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 517,
      "startLine" : 158,
      "endLine" : 166,
      "cleanedStartLine" : 106,
      "cleanedEndLine" : 114
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryInferenceSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 556,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 517,
      "startLine" : 487,
      "endLine" : 495,
      "cleanedStartLine" : 403,
      "cleanedEndLine" : 411
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 47,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client-base/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 40,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 28,
      "startLine" : 3,
      "endLine" : 13,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-transport/a2a-transport-server-jsonrpc-http/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 41,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-cache/prompt-cache-redis/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 35,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 48,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-llms-all/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 50,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 40,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-transport/a2a-transport-server-jsonrpc-http/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 41,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client-base/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 40,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 28,
      "startLine" : 3,
      "endLine" : 13,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-planner/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 36,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 34,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 24,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 41,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-tokenizer/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 36,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 24,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-transport/a2a-transport-core-jsonrpc/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 37,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-a2a-core/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 31,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-tools/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 38,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "koog-ktor/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 58,
        "components" : [ "primary::koog-ktor" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 40,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/google/GoogleParams.kt",
        "extension" : "kt",
        "linesOfCode" : 115,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 103,
      "startLine" : 77,
      "endLine" : 85,
      "cleanedStartLine" : 44,
      "cleanedEndLine" : 52
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openrouter-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openrouter/OpenRouterParams.kt",
        "extension" : "kt",
        "linesOfCode" : 197,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 177,
      "startLine" : 126,
      "endLine" : 134,
      "cleanedStartLine" : 71,
      "cleanedEndLine" : 79
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-tokenizer/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 44,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 29,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 19,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-ext/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 36,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-cache/prompt-cache-model/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 26,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-sql/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 57,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 45,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "agents/agents-tools/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 38,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/mistralai/MistralAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 145,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 133,
      "startLine" : 9,
      "endLine" : 17,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 13
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonMain/kotlin/ai/koog/prompt/params/LLMParams.kt",
        "extension" : "kt",
        "linesOfCode" : 169,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 141,
      "startLine" : 92,
      "endLine" : 100,
      "cleanedStartLine" : 46,
      "cleanedEndLine" : 54
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-ollama-client/src/commonTest/kotlin/ai/koog/prompt/executor/ollama/client/OllamaToolDescriptorConverterAdditionalTest.kt",
        "extension" : "kt",
        "linesOfCode" : 129,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 109,
      "startLine" : 54,
      "endLine" : 66,
      "cleanedStartLine" : 39,
      "cleanedEndLine" : 47
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client-base/src/commonTest/kotlin/ai/koog/prompt/executor/clients/openai/base/OpenAICompatibleToolDescriptorConverterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 214,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 181,
      "startLine" : 51,
      "endLine" : 63,
      "cleanedStartLine" : 37,
      "cleanedEndLine" : 45
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/debugger/Debugger.kt",
        "extension" : "kt",
        "linesOfCode" : 399,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 318,
      "startLine" : 275,
      "endLine" : 283,
      "cleanedStartLine" : 134,
      "cleanedEndLine" : 142
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/debugger/Debugger.kt",
        "extension" : "kt",
        "linesOfCode" : 399,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 318,
      "startLine" : 314,
      "endLine" : 322,
      "cleanedStartLine" : 167,
      "cleanedEndLine" : 175
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-deepseek-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/deepseek/DeepSeekParams.kt",
        "extension" : "kt",
        "linesOfCode" : 143,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 9,
      "endLine" : 17,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 13
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonMain/kotlin/ai/koog/prompt/params/LLMParams.kt",
        "extension" : "kt",
        "linesOfCode" : 169,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 141,
      "startLine" : 92,
      "endLine" : 100,
      "cleanedStartLine" : 46,
      "cleanedEndLine" : 54
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-llms-all/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 50,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 40,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-tokenizer/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 36,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 24,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-test/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 39,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openrouter-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 25,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 17,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-a2a-core/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 31,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "embeddings/embeddings-llm/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 44,
        "components" : [ "primary::embeddings" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 51,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-llm/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 20,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 14,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-transport/a2a-transport-core-jsonrpc/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 37,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 30,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 20,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-cache/prompt-cache-files/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 26,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openrouter-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 25,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 17,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-tokenizer/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 44,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-deepseek-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 29,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 19,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 46,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 34,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-processor/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 38,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-ext/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 36,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openrouter-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 25,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 17,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-cached/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 35,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-processor/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 38,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-tokenizer/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 44,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 31,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 39,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-deepseek-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 29,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 19,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAILLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 711,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 554,
      "startLine" : 495,
      "endLine" : 503,
      "cleanedStartLine" : 286,
      "cleanedEndLine" : 294
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAILLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 711,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 554,
      "startLine" : 531,
      "endLine" : 539,
      "cleanedStartLine" : 307,
      "cleanedEndLine" : 315
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-cached/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 35,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 31,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/utils/SerializationUtilsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 478,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 413,
      "startLine" : 123,
      "endLine" : 134,
      "cleanedStartLine" : 64,
      "cleanedEndLine" : 72
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/utils/SerializationUtilsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 478,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 413,
      "startLine" : 328,
      "endLine" : 339,
      "cleanedStartLine" : 211,
      "cleanedEndLine" : 219
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerTest.kt",
        "extension" : "kt",
        "linesOfCode" : 521,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 437,
      "startLine" : 149,
      "endLine" : 159,
      "cleanedStartLine" : 58,
      "cleanedEndLine" : 66
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageFileWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 509,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 418,
      "startLine" : 120,
      "endLine" : 130,
      "cleanedStartLine" : 42,
      "cleanedEndLine" : 50
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 46,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 34,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openrouter-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 25,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 17,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-server/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 50,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client-base/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 40,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 28,
      "startLine" : 3,
      "endLine" : 13,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-utils/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 28,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 34,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 24,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 29,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 19,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-tokenizer/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 36,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 24,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-tools/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 38,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "embeddings/embeddings-llm/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 44,
        "components" : [ "primary::embeddings" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/TraceStructureTestBase.kt",
        "extension" : "kt",
        "linesOfCode" : 802,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 688,
      "startLine" : 643,
      "endLine" : 651,
      "cleanedStartLine" : 453,
      "cleanedEndLine" : 461
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/langfuse/LangfuseTraceStructureTest.kt",
        "extension" : "kt",
        "linesOfCode" : 249,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 236,
      "startLine" : 202,
      "endLine" : 210,
      "cleanedStartLine" : 171,
      "cleanedEndLine" : 179
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerTest.kt",
        "extension" : "kt",
        "linesOfCode" : 521,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 437,
      "startLine" : 146,
      "endLine" : 157,
      "cleanedStartLine" : 56,
      "cleanedEndLine" : 64
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageRemoteWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 816,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 671,
      "startLine" : 807,
      "endLine" : 818,
      "cleanedStartLine" : 574,
      "cleanedEndLine" : 582
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-transport/a2a-transport-client-jsonrpc-http/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 44,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-processor/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 38,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "koog-ktor/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 58,
        "components" : [ "primary::koog-ktor" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 40,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "rag/rag-base/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 32,
        "components" : [ "primary::rag" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rag/vector-storage/src/commonTest/kotlin/ai/koog/rag/vector/FileDocumentEmbeddingStorageTest.kt",
        "extension" : "kt",
        "linesOfCode" : 114,
        "components" : [ "primary::rag" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 90,
      "startLine" : 121,
      "endLine" : 132,
      "cleanedStartLine" : 71,
      "cleanedEndLine" : 79
    }, {
      "file" : {
        "relativePath" : "rag/vector-storage/src/jvmTest/kotlin/ai/koog/rag/vector/JVMFileDocumentEmbeddingStorageTest.kt",
        "extension" : "kt",
        "linesOfCode" : 184,
        "components" : [ "primary::rag" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 148,
      "startLine" : 163,
      "endLine" : 174,
      "cleanedStartLine" : 103,
      "cleanedEndLine" : 111
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-transport/a2a-transport-core-jsonrpc/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 37,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "agents/agents-utils/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 28,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-llms-all/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 50,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 40,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-processor/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 38,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-test/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 39,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 46,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 34,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetrySubgraphTest.kt",
        "extension" : "kt",
        "linesOfCode" : 334,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 313,
      "startLine" : 111,
      "endLine" : 119,
      "cleanedStartLine" : 85,
      "cleanedEndLine" : 93
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetrySubgraphTest.kt",
        "extension" : "kt",
        "linesOfCode" : 334,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 313,
      "startLine" : 354,
      "endLine" : 362,
      "cleanedStartLine" : 296,
      "cleanedEndLine" : 304
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 47,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-event-handler/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 33,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 23,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-deepseek-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 29,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 19,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 34,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 24,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 39,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-llm/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 20,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 14,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-a2a-server/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 32,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-cache/prompt-cache-redis/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 35,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-deepseek-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 29,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 19,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 46,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 34,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-sql/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 57,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 45,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 29,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 19,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 42,
      "endLine" : 55,
      "cleanedStartLine" : 21,
      "cleanedEndLine" : 29
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 61,
      "endLine" : 74,
      "cleanedStartLine" : 34,
      "cleanedEndLine" : 42
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-transport/a2a-transport-client-jsonrpc-http/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 44,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 39,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/GenAIAgentSpanUtilsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 329,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 292,
      "startLine" : 24,
      "endLine" : 32,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 13
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/GenAIAgentSpanUtilsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 329,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 292,
      "startLine" : 297,
      "endLine" : 305,
      "cleanedStartLine" : 200,
      "cleanedEndLine" : 208
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-a2a-core/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 31,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-cached/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 35,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-acp/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 26,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "agents/agents-tools/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 38,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-event-handler/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 33,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 23,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-tokenizer/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 36,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 24,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-a2a-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 32,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-cache/prompt-cache-files/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 26,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/GenAIAgentSpanUtilsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 329,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 292,
      "startLine" : 24,
      "endLine" : 32,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 13
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/GenAIAgentSpanUtilsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 329,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 292,
      "startLine" : 328,
      "endLine" : 336,
      "cleanedStartLine" : 223,
      "cleanedEndLine" : 231
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 47,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "agents/agents-mcp/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 41,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 31,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicParams.kt",
        "extension" : "kt",
        "linesOfCode" : 154,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 135,
      "startLine" : 107,
      "endLine" : 115,
      "cleanedStartLine" : 58,
      "cleanedEndLine" : 66
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 381,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 343,
      "startLine" : 373,
      "endLine" : 381,
      "cleanedStartLine" : 241,
      "cleanedEndLine" : 249
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicLLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 524,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 393,
      "startLine" : 159,
      "endLine" : 167,
      "cleanedStartLine" : 54,
      "cleanedEndLine" : 62
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/mistralai/MistralAILLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 248,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 184,
      "startLine" : 196,
      "endLine" : 204,
      "cleanedStartLine" : 102,
      "cleanedEndLine" : 110
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "embeddings/embeddings-base/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 33,
        "components" : [ "primary::embeddings" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-structure/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 39,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/GenAIAgentSpanUtilsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 329,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 292,
      "startLine" : 24,
      "endLine" : 32,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 13
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/GenAIAgentSpanUtilsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 329,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 292,
      "startLine" : 356,
      "endLine" : 364,
      "cleanedStartLine" : 244,
      "cleanedEndLine" : 252
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-transport/a2a-transport-client-jsonrpc-http/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 44,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 30,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 20,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 39,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client-base/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 40,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 28,
      "startLine" : 3,
      "endLine" : 13,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-acp/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 26,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "rag/vector-storage/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 35,
        "components" : [ "primary::rag" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/GenAIAgentSpanUtilsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 329,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 292,
      "startLine" : 24,
      "endLine" : 32,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 13
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/GenAIAgentSpanUtilsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 329,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 292,
      "startLine" : 386,
      "endLine" : 394,
      "cleanedStartLine" : 266,
      "cleanedEndLine" : 274
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicLLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 524,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 393,
      "startLine" : 159,
      "endLine" : 167,
      "cleanedStartLine" : 54,
      "cleanedEndLine" : 62
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/mistralai/MistralAILLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 248,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 184,
      "startLine" : 262,
      "endLine" : 270,
      "cleanedStartLine" : 142,
      "cleanedEndLine" : 150
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicLLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 524,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 393,
      "startLine" : 159,
      "endLine" : 167,
      "cleanedStartLine" : 54,
      "cleanedEndLine" : 62
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAILLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 711,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 554,
      "startLine" : 531,
      "endLine" : 539,
      "cleanedStartLine" : 307,
      "cleanedEndLine" : 315
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicParams.kt",
        "extension" : "kt",
        "linesOfCode" : 154,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 135,
      "startLine" : 12,
      "endLine" : 20,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 13
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonMain/kotlin/ai/koog/prompt/params/LLMParams.kt",
        "extension" : "kt",
        "linesOfCode" : 169,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 141,
      "startLine" : 92,
      "endLine" : 100,
      "cleanedStartLine" : 46,
      "cleanedEndLine" : 54
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-ext/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 36,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-cached/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 35,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-utils/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 28,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "rag/rag-base/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 32,
        "components" : [ "primary::rag" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "koog-ktor/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 58,
        "components" : [ "primary::koog-ktor" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 40,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-cache/prompt-cache-redis/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 35,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-transport/a2a-transport-server-jsonrpc-http/src/jvmTest/kotlin/ai/koog/a2a/transport/server/jsonrpc/http/HttpJSONRPCServerTransportTest.kt",
        "extension" : "kt",
        "linesOfCode" : 547,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 452,
      "startLine" : 246,
      "endLine" : 257,
      "cleanedStartLine" : 162,
      "cleanedEndLine" : 170
    }, {
      "file" : {
        "relativePath" : "a2a/a2a-transport/a2a-transport-server-jsonrpc-http/src/jvmTest/kotlin/ai/koog/a2a/transport/server/jsonrpc/http/HttpJSONRPCServerTransportTest.kt",
        "extension" : "kt",
        "linesOfCode" : 547,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 452,
      "startLine" : 289,
      "endLine" : 300,
      "cleanedStartLine" : 191,
      "cleanedEndLine" : 199
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-memory/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 37,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 46,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 34,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-cache/prompt-cache-redis/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 35,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-tokenizer/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 36,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 24,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 29,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 19,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-processor/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 38,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-server/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 50,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-cache/prompt-cache-files/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 26,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-transport/a2a-transport-server-jsonrpc-http/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 41,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "koog-ktor/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 58,
        "components" : [ "primary::koog-ktor" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 40,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 41,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "agents/agents-utils/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 28,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-sql/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 57,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 45,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-llm/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 20,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 14,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-mcp/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 41,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 31,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "rag/vector-storage/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 35,
        "components" : [ "primary::rag" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-transport/a2a-transport-server-jsonrpc-http/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 41,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 46,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 34,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 31,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "rag/rag-base/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 32,
        "components" : [ "primary::rag" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicLLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 524,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 393,
      "startLine" : 159,
      "endLine" : 167,
      "cleanedStartLine" : 54,
      "cleanedEndLine" : 62
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAILLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 711,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 554,
      "startLine" : 495,
      "endLine" : 503,
      "cleanedStartLine" : 286,
      "cleanedEndLine" : 294
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/TraceStructureTestBase.kt",
        "extension" : "kt",
        "linesOfCode" : 802,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 688,
      "startLine" : 643,
      "endLine" : 651,
      "cleanedStartLine" : 453,
      "cleanedEndLine" : 461
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/weave/WeaveTraceStructureTest.kt",
        "extension" : "kt",
        "linesOfCode" : 270,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 257,
      "startLine" : 208,
      "endLine" : 216,
      "cleanedStartLine" : 178,
      "cleanedEndLine" : 186
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerTest.kt",
        "extension" : "kt",
        "linesOfCode" : 521,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 437,
      "startLine" : 190,
      "endLine" : 202,
      "cleanedStartLine" : 91,
      "cleanedEndLine" : 99
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerTestAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 281,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 212,
      "startLine" : 107,
      "endLine" : 120,
      "cleanedStartLine" : 37,
      "cleanedEndLine" : 45
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-a2a-core/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 31,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-llm/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 20,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 14,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/java/ai/koog/agents/core/agent/JavaAPIAgentBuilderJavaTest.java",
        "extension" : "java",
        "linesOfCode" : 117,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 96,
      "startLine" : 74,
      "endLine" : 83,
      "cleanedStartLine" : 48,
      "cleanedEndLine" : 56
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/java/ai/koog/agents/core/agent/JavaAPIAgentBuilderJavaTest.java",
        "extension" : "java",
        "linesOfCode" : 117,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 96,
      "startLine" : 123,
      "endLine" : 132,
      "cleanedStartLine" : 84,
      "cleanedEndLine" : 92
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-cache/prompt-cache-model/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 26,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-deepseek-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 29,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 19,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-mcp/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 41,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 31,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "agents/agents-tools/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 38,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/context/AIAgentLLMContext.kt",
        "extension" : "kt",
        "linesOfCode" : 86,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 72,
      "startLine" : 133,
      "endLine" : 141,
      "cleanedStartLine" : 49,
      "cleanedEndLine" : 57
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jsMain/kotlin/ai/koog/agents/core/agent/context/AIAgentLLMContext.kt",
        "extension" : "kt",
        "linesOfCode" : 32,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 21,
      "endLine" : 29,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 16
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-mcp/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 41,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 31,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 29,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 19,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-mcp/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 41,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 31,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-tokenizer/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 36,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 24,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-planner/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 36,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-tokenizer/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 36,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 24,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-transport/a2a-transport-core-jsonrpc/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 37,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 31,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-server/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 50,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 31,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/agent/SingleRunStrategyTests.kt",
        "extension" : "kt",
        "linesOfCode" : 234,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 186,
      "startLine" : 88,
      "endLine" : 99,
      "cleanedStartLine" : 51,
      "cleanedEndLine" : 59
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/agent/SingleRunStrategyTests.kt",
        "extension" : "kt",
        "linesOfCode" : 234,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 186,
      "startLine" : 157,
      "endLine" : 168,
      "cleanedStartLine" : 96,
      "cleanedEndLine" : 104
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-utils/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 28,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 29,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 19,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-memory/src/jvmTest/kotlin/ai/koog/agents/memory/AIAgentMemoryTest.kt",
        "extension" : "kt",
        "linesOfCode" : 470,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 399,
      "startLine" : 109,
      "endLine" : 118,
      "cleanedStartLine" : 44,
      "cleanedEndLine" : 52
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-memory/src/jvmTest/kotlin/ai/koog/agents/memory/AIAgentMemoryTest.kt",
        "extension" : "kt",
        "linesOfCode" : 470,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 399,
      "startLine" : 302,
      "endLine" : 312,
      "cleanedStartLine" : 188,
      "cleanedEndLine" : 196
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 51,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 34,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 24,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "embeddings/embeddings-base/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 33,
        "components" : [ "primary::embeddings" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 48,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryNodeExecuteSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 307,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 276,
      "startLine" : 266,
      "endLine" : 274,
      "cleanedStartLine" : 210,
      "cleanedEndLine" : 218
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetrySubgraphTest.kt",
        "extension" : "kt",
        "linesOfCode" : 334,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 313,
      "startLine" : 226,
      "endLine" : 234,
      "cleanedStartLine" : 185,
      "cleanedEndLine" : 193
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 41,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-deepseek-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 29,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 19,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-tokenizer/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 44,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 48,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-a2a-server/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 32,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "embeddings/embeddings-base/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 33,
        "components" : [ "primary::embeddings" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicModels.kt",
        "extension" : "kt",
        "linesOfCode" : 195,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 178,
      "startLine" : 100,
      "endLine" : 108,
      "cleanedStartLine" : 35,
      "cleanedEndLine" : 43
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicModels.kt",
        "extension" : "kt",
        "linesOfCode" : 195,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 178,
      "startLine" : 150,
      "endLine" : 158,
      "cleanedStartLine" : 65,
      "cleanedEndLine" : 73
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-cache/prompt-cache-files/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 26,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 48,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-a2a-server/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 32,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "agents/agents-mcp/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 41,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 31,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/GenAIAgentSpanUtilsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 329,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 292,
      "startLine" : 24,
      "endLine" : 32,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 13
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/GenAIAgentSpanUtilsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 329,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 292,
      "startLine" : 175,
      "endLine" : 183,
      "cleanedStartLine" : 113,
      "cleanedEndLine" : 121
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-deepseek-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/deepseek/DeepSeekParams.kt",
        "extension" : "kt",
        "linesOfCode" : 143,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 130,
      "endLine" : 138,
      "cleanedStartLine" : 90,
      "cleanedEndLine" : 98
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/google/GoogleParams.kt",
        "extension" : "kt",
        "linesOfCode" : 115,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 103,
      "startLine" : 106,
      "endLine" : 114,
      "cleanedStartLine" : 72,
      "cleanedEndLine" : 80
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-a2a-core/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 31,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "koog-ktor/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 58,
        "components" : [ "primary::koog-ktor" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 40,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-a2a-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 32,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-a2a-core/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 31,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/GenAIAgentSpanUtilsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 329,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 292,
      "startLine" : 24,
      "endLine" : 32,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 13
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/GenAIAgentSpanUtilsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 329,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 292,
      "startLine" : 226,
      "endLine" : 234,
      "cleanedStartLine" : 151,
      "cleanedEndLine" : 159
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/agent/SingleRunStrategyTests.kt",
        "extension" : "kt",
        "linesOfCode" : 234,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 186,
      "startLine" : 77,
      "endLine" : 90,
      "cleanedStartLine" : 45,
      "cleanedEndLine" : 53
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/agent/SingleRunStrategyTests.kt",
        "extension" : "kt",
        "linesOfCode" : 234,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 186,
      "startLine" : 107,
      "endLine" : 120,
      "cleanedStartLine" : 64,
      "cleanedEndLine" : 72
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-markdown/src/commonTest/kotlin/ai/koog/prompt/markdown/MarkdownMultilineListTest.kt",
        "extension" : "kt",
        "linesOfCode" : 143,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 112,
      "startLine" : 25,
      "endLine" : 35,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 24
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-markdown/src/commonTest/kotlin/ai/koog/prompt/markdown/MarkdownMultilineListTest.kt",
        "extension" : "kt",
        "linesOfCode" : 143,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 112,
      "startLine" : 58,
      "endLine" : 68,
      "cleanedStartLine" : 41,
      "cleanedEndLine" : 49
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-tools/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 38,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 31,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/GenAIAgentSpanUtilsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 329,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 292,
      "startLine" : 24,
      "endLine" : 32,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 13
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/GenAIAgentSpanUtilsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 329,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 292,
      "startLine" : 276,
      "endLine" : 284,
      "cleanedStartLine" : 184,
      "cleanedEndLine" : 192
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "embeddings/embeddings-base/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 33,
        "components" : [ "primary::embeddings" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "koog-ktor/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 58,
        "components" : [ "primary::koog-ktor" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 40,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-ollama-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 70,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 52,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "test-utils/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 29,
        "components" : [ "primary::test-utils" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 1,
      "endLine" : 12,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentGraphPipeline.kt",
        "extension" : "kt",
        "linesOfCode" : 107,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 90,
      "startLine" : 152,
      "endLine" : 160,
      "cleanedStartLine" : 49,
      "cleanedEndLine" : 57
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentGraphPipelineAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 94,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 81,
      "startLine" : 69,
      "endLine" : 77,
      "cleanedStartLine" : 40,
      "cleanedEndLine" : 48
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-memory/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 37,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-deepseek-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 29,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 19,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-planner/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 36,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-cached/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 35,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/appleMain/kotlin/ai/koog/agents/core/agent/context/AIAgentLLMContext.kt",
        "extension" : "kt",
        "linesOfCode" : 32,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 21,
      "endLine" : 29,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/context/AIAgentLLMContext.kt",
        "extension" : "kt",
        "linesOfCode" : 86,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 72,
      "startLine" : 133,
      "endLine" : 141,
      "cleanedStartLine" : 49,
      "cleanedEndLine" : 57
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-test/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 39,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client-base/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 40,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 28,
      "startLine" : 3,
      "endLine" : 13,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicParams.kt",
        "extension" : "kt",
        "linesOfCode" : 154,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 135,
      "startLine" : 107,
      "endLine" : 115,
      "cleanedStartLine" : 58,
      "cleanedEndLine" : 66
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openrouter-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openrouter/OpenRouterParams.kt",
        "extension" : "kt",
        "linesOfCode" : 197,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 177,
      "startLine" : 126,
      "endLine" : 134,
      "cleanedStartLine" : 71,
      "cleanedEndLine" : 79
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/google/GoogleParams.kt",
        "extension" : "kt",
        "linesOfCode" : 115,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 103,
      "startLine" : 41,
      "endLine" : 49,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 24
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/mistralai/MistralAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 145,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 133,
      "startLine" : 47,
      "endLine" : 55,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 23
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-cache/prompt-cache-files/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 26,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-deepseek-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 29,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 19,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "embeddings/embeddings-base/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 33,
        "components" : [ "primary::embeddings" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-cache/prompt-cache-model/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 26,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-cached/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 35,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-llm/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 20,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 14,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/SubgraphWithRetryTest.kt",
        "extension" : "kt",
        "linesOfCode" : 429,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 348,
      "startLine" : 181,
      "endLine" : 189,
      "cleanedStartLine" : 113,
      "cleanedEndLine" : 121
    }, {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/SubgraphWithRetryTest.kt",
        "extension" : "kt",
        "linesOfCode" : 429,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 348,
      "startLine" : 350,
      "endLine" : 358,
      "cleanedStartLine" : 236,
      "cleanedEndLine" : 244
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-sql/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 57,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 45,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 48,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 30,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 20,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 34,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 24,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/CheckpointsTests.kt",
        "extension" : "kt",
        "linesOfCode" : 793,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 646,
      "startLine" : 732,
      "endLine" : 740,
      "cleanedStartLine" : 482,
      "cleanedEndLine" : 490
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/CheckpointsTests.kt",
        "extension" : "kt",
        "linesOfCode" : 793,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 646,
      "startLine" : 929,
      "endLine" : 937,
      "cleanedStartLine" : 638,
      "cleanedEndLine" : 646
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client-base/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 40,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 28,
      "startLine" : 3,
      "endLine" : 13,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-tokenizer/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 36,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 24,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/google/GoogleParams.kt",
        "extension" : "kt",
        "linesOfCode" : 115,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 103,
      "startLine" : 10,
      "endLine" : 18,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 13
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 381,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 343,
      "startLine" : 19,
      "endLine" : 27,
      "cleanedStartLine" : 6,
      "cleanedEndLine" : 14
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-mcp/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 41,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 31,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openrouter-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 25,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 17,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/BedrockLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 751,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 628,
      "startLine" : 538,
      "endLine" : 546,
      "cleanedStartLine" : 345,
      "cleanedEndLine" : 353
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/BedrockLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 751,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 628,
      "startLine" : 557,
      "endLine" : 565,
      "cleanedStartLine" : 360,
      "cleanedEndLine" : 368
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 30,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 20,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-llm/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 20,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 14,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-mcp/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 41,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 31,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-deepseek-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 29,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 19,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-event-handler/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 33,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 23,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-cache/prompt-cache-files/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 26,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-core/src/commonTest/kotlin/ai/koog/a2a/model/AgentCardSerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 518,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 462,
      "startLine" : 24,
      "endLine" : 32,
      "cleanedStartLine" : 17,
      "cleanedEndLine" : 25
    }, {
      "file" : {
        "relativePath" : "a2a/a2a-transport/a2a-transport-server-jsonrpc-http/src/jvmTest/kotlin/ai/koog/a2a/transport/server/jsonrpc/http/HttpJSONRPCServerTransportTest.kt",
        "extension" : "kt",
        "linesOfCode" : 547,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 452,
      "startLine" : 68,
      "endLine" : 76,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 24
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-tools/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 38,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 29,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 19,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-utils/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 28,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-llms-all/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 50,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 40,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-event-handler/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 33,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 23,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 34,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 24,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 46,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 34,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 29,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 19,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-sql/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 57,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 45,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 51,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicModels.kt",
        "extension" : "kt",
        "linesOfCode" : 195,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 178,
      "startLine" : 100,
      "endLine" : 108,
      "cleanedStartLine" : 35,
      "cleanedEndLine" : 43
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicModels.kt",
        "extension" : "kt",
        "linesOfCode" : 195,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 178,
      "startLine" : 174,
      "endLine" : 182,
      "cleanedStartLine" : 80,
      "cleanedEndLine" : 88
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-memory/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 37,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-llms-all/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 50,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 40,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicModels.kt",
        "extension" : "kt",
        "linesOfCode" : 195,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 178,
      "startLine" : 100,
      "endLine" : 108,
      "cleanedStartLine" : 35,
      "cleanedEndLine" : 43
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicModels.kt",
        "extension" : "kt",
        "linesOfCode" : 195,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 178,
      "startLine" : 199,
      "endLine" : 207,
      "cleanedStartLine" : 95,
      "cleanedEndLine" : 103
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-planner/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 36,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 30,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 20,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-sql/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 57,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 45,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openrouter-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 25,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 17,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-transport/a2a-transport-server-jsonrpc-http/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 41,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-tokenizer/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 36,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 24,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "embeddings/embeddings-base/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 33,
        "components" : [ "primary::embeddings" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openrouter-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 25,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 17,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-structure/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 39,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "rag/rag-base/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 32,
        "components" : [ "primary::rag" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-a2a-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 32,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-structure/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 39,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-utils/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 28,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 48,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryNodeExecuteSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 307,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 276,
      "startLine" : 266,
      "endLine" : 274,
      "cleanedStartLine" : 210,
      "cleanedEndLine" : 218
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetrySubgraphTest.kt",
        "extension" : "kt",
        "linesOfCode" : 334,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 313,
      "startLine" : 354,
      "endLine" : 362,
      "cleanedStartLine" : 296,
      "cleanedEndLine" : 304
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-transport/a2a-transport-core-jsonrpc/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 37,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "embeddings/embeddings-base/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 33,
        "components" : [ "primary::embeddings" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client-base/src/commonTest/kotlin/ai/koog/prompt/executor/clients/openai/structure/OpenAIBasicJsonSchemaGeneratorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 152,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 134,
      "startLine" : 146,
      "endLine" : 155,
      "cleanedStartLine" : 121,
      "cleanedEndLine" : 129
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client-base/src/commonTest/kotlin/ai/koog/prompt/executor/clients/openai/structure/OpenAIStandardJsonSchemaGeneratorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 375,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 342,
      "startLine" : 324,
      "endLine" : 333,
      "cleanedStartLine" : 283,
      "cleanedEndLine" : 291
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-a2a-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 32,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 48,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 46,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 34,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 31,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 29,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 19,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "rag/rag-base/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 32,
        "components" : [ "primary::rag" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-sql/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 57,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 45,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client-base/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 40,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 28,
      "startLine" : 3,
      "endLine" : 13,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-cache/prompt-cache-model/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 26,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 31,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-a2a-core/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 31,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "rag/rag-base/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 32,
        "components" : [ "primary::rag" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-a2a-server/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 32,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "embeddings/embeddings-llm/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 44,
        "components" : [ "primary::embeddings" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/CheckpointsTests.kt",
        "extension" : "kt",
        "linesOfCode" : 793,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 646,
      "startLine" : 154,
      "endLine" : 165,
      "cleanedStartLine" : 69,
      "cleanedEndLine" : 77
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/SubgraphCheckpointsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 183,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 146,
      "startLine" : 123,
      "endLine" : 135,
      "cleanedStartLine" : 82,
      "cleanedEndLine" : 90
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-planner/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 36,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-llms-all/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 50,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 40,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-utils/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 28,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-cached/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 35,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/span/GenAIAgentSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 227,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 201,
      "startLine" : 151,
      "endLine" : 161,
      "cleanedStartLine" : 98,
      "cleanedEndLine" : 106
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/span/GenAIAgentSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 227,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 201,
      "startLine" : 230,
      "endLine" : 240,
      "cleanedStartLine" : 153,
      "cleanedEndLine" : 161
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "koog-ktor/src/commonMain/kotlin/ai/koog/ktor/KoogAgentsConfig.kt",
        "extension" : "kt",
        "linesOfCode" : 362,
        "components" : [ "primary::koog-ktor" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 264,
      "startLine" : 733,
      "endLine" : 753,
      "cleanedStartLine" : 121,
      "cleanedEndLine" : 129
    }, {
      "file" : {
        "relativePath" : "koog-ktor/src/commonMain/kotlin/ai/koog/ktor/KoogAgentsConfig.kt",
        "extension" : "kt",
        "linesOfCode" : 362,
        "components" : [ "primary::koog-ktor" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 264,
      "startLine" : 845,
      "endLine" : 859,
      "cleanedStartLine" : 145,
      "cleanedEndLine" : 153
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "koog-ktor/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 58,
        "components" : [ "primary::koog-ktor" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 40,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 46,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 34,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 47,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-a2a-core/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 31,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/debugger/Debugger.kt",
        "extension" : "kt",
        "linesOfCode" : 399,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 318,
      "startLine" : 442,
      "endLine" : 450,
      "cleanedStartLine" : 264,
      "cleanedEndLine" : 272
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/commonMain/kotlin/ai/koog/agents/features/tracing/feature/Tracing.kt",
        "extension" : "kt",
        "linesOfCode" : 335,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 266,
      "startLine" : 247,
      "endLine" : 255,
      "cleanedStartLine" : 108,
      "cleanedEndLine" : 116
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/dashscope/DashscopeParams.kt",
        "extension" : "kt",
        "linesOfCode" : 159,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 144,
      "startLine" : 142,
      "endLine" : 150,
      "cleanedStartLine" : 99,
      "cleanedEndLine" : 107
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 381,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 343,
      "startLine" : 202,
      "endLine" : 210,
      "cleanedStartLine" : 130,
      "cleanedEndLine" : 138
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-a2a-server/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 32,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 46,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 34,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-event-handler/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 33,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 23,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-cached/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 35,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 47,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-acp/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 26,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-cache/prompt-cache-redis/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 35,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 46,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 34,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/CheckpointsTests.kt",
        "extension" : "kt",
        "linesOfCode" : 793,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 646,
      "startLine" : 154,
      "endLine" : 165,
      "cleanedStartLine" : 69,
      "cleanedEndLine" : 77
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/SubgraphCheckpointsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 183,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 146,
      "startLine" : 95,
      "endLine" : 107,
      "cleanedStartLine" : 60,
      "cleanedEndLine" : 68
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-mcp/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 41,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 31,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "agents/agents-test/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 39,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/google/GoogleParams.kt",
        "extension" : "kt",
        "linesOfCode" : 115,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 103,
      "startLine" : 77,
      "endLine" : 85,
      "cleanedStartLine" : 44,
      "cleanedEndLine" : 52
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 381,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 343,
      "startLine" : 151,
      "endLine" : 159,
      "cleanedStartLine" : 80,
      "cleanedEndLine" : 88
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 48,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client-base/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 40,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 28,
      "startLine" : 3,
      "endLine" : 13,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 39,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "rag/vector-storage/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 35,
        "components" : [ "primary::rag" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/CheckpointsTests.kt",
        "extension" : "kt",
        "linesOfCode" : 793,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 646,
      "startLine" : 154,
      "endLine" : 165,
      "cleanedStartLine" : 69,
      "cleanedEndLine" : 77
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/SubgraphCheckpointsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 183,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 146,
      "startLine" : 68,
      "endLine" : 80,
      "cleanedStartLine" : 39,
      "cleanedEndLine" : 47
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-acp/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 26,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-cache/prompt-cache-model/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 26,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-server/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 50,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-tokenizer/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 44,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-sql/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 57,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 45,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-cache/prompt-cache-files/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 26,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/dashscope/DashscopeParams.kt",
        "extension" : "kt",
        "linesOfCode" : 159,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 144,
      "startLine" : 9,
      "endLine" : 17,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 13
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 381,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 343,
      "startLine" : 19,
      "endLine" : 27,
      "cleanedStartLine" : 6,
      "cleanedEndLine" : 14
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "koog-ktor/src/commonMain/kotlin/ai/koog/ktor/KoogAgentsConfig.kt",
        "extension" : "kt",
        "linesOfCode" : 362,
        "components" : [ "primary::koog-ktor" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 264,
      "startLine" : 733,
      "endLine" : 753,
      "cleanedStartLine" : 121,
      "cleanedEndLine" : 129
    }, {
      "file" : {
        "relativePath" : "koog-ktor/src/commonMain/kotlin/ai/koog/ktor/KoogAgentsConfig.kt",
        "extension" : "kt",
        "linesOfCode" : 362,
        "components" : [ "primary::koog-ktor" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 264,
      "startLine" : 792,
      "endLine" : 806,
      "cleanedStartLine" : 133,
      "cleanedEndLine" : 141
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openrouter-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 25,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 17,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "rag/vector-storage/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 35,
        "components" : [ "primary::rag" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-memory/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 37,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "agents/agents-utils/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 28,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 41,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "embeddings/embeddings-base/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 33,
        "components" : [ "primary::embeddings" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-transport/a2a-transport-server-jsonrpc-http/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 41,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 30,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 20,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-transport/a2a-transport-server-jsonrpc-http/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 41,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-llms-all/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 50,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 40,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-server/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 50,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 39,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-server/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 50,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-event-handler/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 33,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 23,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 39,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-cache/prompt-cache-redis/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 35,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 48,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "rag/rag-base/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 32,
        "components" : [ "primary::rag" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 29,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 19,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client-base/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 40,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 28,
      "startLine" : 3,
      "endLine" : 13,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 381,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 343,
      "startLine" : 101,
      "endLine" : 109,
      "cleanedStartLine" : 51,
      "cleanedEndLine" : 59
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openrouter-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openrouter/OpenRouterParams.kt",
        "extension" : "kt",
        "linesOfCode" : 197,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 177,
      "startLine" : 74,
      "endLine" : 82,
      "cleanedStartLine" : 37,
      "cleanedEndLine" : 45
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-cached/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 35,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 51,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-ext/src/jvmTest/kotlin/ai/koog/agents/ext/tool/shell/ExecuteShellCommandToolJvmTest.kt",
        "extension" : "kt",
        "linesOfCode" : 335,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 287,
      "startLine" : 357,
      "endLine" : 369,
      "cleanedStartLine" : 237,
      "cleanedEndLine" : 245
    }, {
      "file" : {
        "relativePath" : "agents/agents-ext/src/jvmTest/kotlin/ai/koog/agents/ext/tool/shell/ExecuteShellCommandToolJvmTest.kt",
        "extension" : "kt",
        "linesOfCode" : 335,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 287,
      "startLine" : 392,
      "endLine" : 404,
      "cleanedStartLine" : 262,
      "cleanedEndLine" : 270
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/feature/message/FeatureMessageProcessorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 313,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 270,
      "startLine" : 205,
      "endLine" : 215,
      "cleanedStartLine" : 119,
      "cleanedEndLine" : 127
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/feature/message/FeatureMessageProcessorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 313,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 270,
      "startLine" : 329,
      "endLine" : 339,
      "cleanedStartLine" : 218,
      "cleanedEndLine" : 226
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-cache/prompt-cache-model/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 26,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "rag/rag-base/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 32,
        "components" : [ "primary::rag" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-transport/a2a-transport-client-jsonrpc-http/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 44,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-memory/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 37,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-server/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 50,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "rag/vector-storage/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 35,
        "components" : [ "primary::rag" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-cache/prompt-cache-files/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 26,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 29,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 19,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "embeddings/embeddings-base/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 33,
        "components" : [ "primary::embeddings" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 29,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 19,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-a2a-server/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 32,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-cache/prompt-cache-model/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 26,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/dashscope/DashscopeParams.kt",
        "extension" : "kt",
        "linesOfCode" : 159,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 144,
      "startLine" : 142,
      "endLine" : 150,
      "cleanedStartLine" : 99,
      "cleanedEndLine" : 107
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/mistralai/MistralAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 145,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 133,
      "startLine" : 134,
      "endLine" : 142,
      "cleanedStartLine" : 90,
      "cleanedEndLine" : 98
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 47,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-deepseek-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 29,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 19,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-server/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 50,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "agents/agents-test/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 39,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-transport/a2a-transport-server-jsonrpc-http/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 41,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-cached/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 35,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-ollama-client/src/commonTest/kotlin/ai/koog/prompt/executor/ollama/client/ContextWindowStrategyTest.kt",
        "extension" : "kt",
        "linesOfCode" : 196,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 162,
      "startLine" : 36,
      "endLine" : 47,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-ollama-client/src/commonTest/kotlin/ai/koog/prompt/executor/ollama/client/ContextWindowStrategyTest.kt",
        "extension" : "kt",
        "linesOfCode" : 196,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 162,
      "startLine" : 58,
      "endLine" : 69,
      "cleanedStartLine" : 25,
      "cleanedEndLine" : 33
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerTestAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 281,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 212,
      "startLine" : 165,
      "endLine" : 173,
      "cleanedStartLine" : 83,
      "cleanedEndLine" : 91
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerTestAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 281,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 212,
      "startLine" : 177,
      "endLine" : 185,
      "cleanedStartLine" : 95,
      "cleanedEndLine" : 103
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-tools/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 38,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-structure/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 39,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-acp/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 26,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-llm/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 20,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 14,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "embeddings/embeddings-llm/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 44,
        "components" : [ "primary::embeddings" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client-base/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 40,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 28,
      "startLine" : 3,
      "endLine" : 13,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipeline.kt",
        "extension" : "kt",
        "linesOfCode" : 448,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 394,
      "startLine" : 308,
      "endLine" : 316,
      "cleanedStartLine" : 90,
      "cleanedEndLine" : 98
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 328,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 286,
      "startLine" : 154,
      "endLine" : 162,
      "cleanedStartLine" : 85,
      "cleanedEndLine" : 93
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 39,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 46,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 34,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-a2a-server/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 32,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 29,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 19,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-server/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 50,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-tokenizer/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 36,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 24,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/appleMain/kotlin/ai/koog/agents/core/agent/context/AIAgentLLMContext.kt",
        "extension" : "kt",
        "linesOfCode" : 32,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 21,
      "endLine" : 29,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmMain/kotlin/ai/koog/agents/core/agent/context/AIAgentLLMContext.kt",
        "extension" : "kt",
        "linesOfCode" : 82,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 59,
      "startLine" : 44,
      "endLine" : 52,
      "cleanedStartLine" : 24,
      "cleanedEndLine" : 32
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/CheckpointsTests.kt",
        "extension" : "kt",
        "linesOfCode" : 793,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 646,
      "startLine" : 442,
      "endLine" : 450,
      "cleanedStartLine" : 276,
      "cleanedEndLine" : 284
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/ai/koog/agents/snapshot/providers/file/FileCheckpointsTests.kt",
        "extension" : "kt",
        "linesOfCode" : 236,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 188,
      "startLine" : 122,
      "endLine" : 130,
      "cleanedStartLine" : 68,
      "cleanedEndLine" : 76
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-tools/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 38,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 48,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/context/AIAgentLLMContextImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 105,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 85,
      "startLine" : 36,
      "endLine" : 44,
      "cleanedStartLine" : 18,
      "cleanedEndLine" : 26
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmMain/kotlin/ai/koog/agents/core/agent/context/AIAgentLLMContext.kt",
        "extension" : "kt",
        "linesOfCode" : 82,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 59,
      "startLine" : 27,
      "endLine" : 35,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 16
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-a2a-core/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 31,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "rag/vector-storage/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 35,
        "components" : [ "primary::rag" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-cache/prompt-cache-files/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 26,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-structure/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 39,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/ai/koog/agents/snapshot/providers/file/FileCheckpointsTests.kt",
        "extension" : "kt",
        "linesOfCode" : 236,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 188,
      "startLine" : 122,
      "endLine" : 130,
      "cleanedStartLine" : 68,
      "cleanedEndLine" : 76
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/ai/koog/agents/snapshot/providers/file/FileCheckpointsTests.kt",
        "extension" : "kt",
        "linesOfCode" : 236,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 188,
      "startLine" : 217,
      "endLine" : 225,
      "cleanedStartLine" : 144,
      "cleanedEndLine" : 152
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-cache/prompt-cache-redis/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 35,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 31,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "http-client/http-client-ktor/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 30,
        "components" : [ "primary::http-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "utils/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 31,
        "components" : [ "primary::utils" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-ollama-client/src/commonTest/kotlin/ai/koog/prompt/executor/ollama/client/ContextWindowStrategyTest.kt",
        "extension" : "kt",
        "linesOfCode" : 196,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 162,
      "startLine" : 36,
      "endLine" : 47,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-ollama-client/src/commonTest/kotlin/ai/koog/prompt/executor/ollama/client/ContextWindowStrategyTest.kt",
        "extension" : "kt",
        "linesOfCode" : 196,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 162,
      "startLine" : 113,
      "endLine" : 124,
      "cleanedStartLine" : 68,
      "cleanedEndLine" : 76
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "embeddings/embeddings-llm/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 44,
        "components" : [ "primary::embeddings" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "koog-ktor/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 58,
        "components" : [ "primary::koog-ktor" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 40,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-ext/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 36,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "rag/rag-base/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 32,
        "components" : [ "primary::rag" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/feature/remote/client/FeatureMessageRemoteClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 388,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 293,
      "startLine" : 103,
      "endLine" : 116,
      "cleanedStartLine" : 44,
      "cleanedEndLine" : 52
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/feature/writer/FeatureMessageRemoteWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 204,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 144,
      "startLine" : 113,
      "endLine" : 126,
      "cleanedStartLine" : 54,
      "cleanedEndLine" : 62
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-ext/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 36,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 34,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 24,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-ollama-client/src/commonTest/kotlin/ai/koog/prompt/executor/ollama/client/ContextWindowStrategyTest.kt",
        "extension" : "kt",
        "linesOfCode" : 196,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 162,
      "startLine" : 36,
      "endLine" : 47,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-ollama-client/src/commonTest/kotlin/ai/koog/prompt/executor/ollama/client/ContextWindowStrategyTest.kt",
        "extension" : "kt",
        "linesOfCode" : 196,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 162,
      "startLine" : 87,
      "endLine" : 98,
      "cleanedStartLine" : 48,
      "cleanedEndLine" : 56
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/mistralai/MistralAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 145,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 133,
      "startLine" : 95,
      "endLine" : 103,
      "cleanedStartLine" : 52,
      "cleanedEndLine" : 60
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 381,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 343,
      "startLine" : 373,
      "endLine" : 381,
      "cleanedStartLine" : 241,
      "cleanedEndLine" : 249
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicParams.kt",
        "extension" : "kt",
        "linesOfCode" : 154,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 135,
      "startLine" : 12,
      "endLine" : 20,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 13
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 381,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 343,
      "startLine" : 19,
      "endLine" : 27,
      "cleanedStartLine" : 6,
      "cleanedEndLine" : 14
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-server/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 50,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 51,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryAgentSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 148,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 126,
      "startLine" : 59,
      "endLine" : 68,
      "cleanedStartLine" : 31,
      "cleanedEndLine" : 39
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryAgentSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 148,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 126,
      "startLine" : 133,
      "endLine" : 142,
      "cleanedStartLine" : 89,
      "cleanedEndLine" : 97
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/commonMain/kotlin/ai/koog/agents/features/tracing/feature/Tracing.kt",
        "extension" : "kt",
        "linesOfCode" : 335,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 266,
      "startLine" : 291,
      "endLine" : 299,
      "cleanedStartLine" : 142,
      "cleanedEndLine" : 150
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/commonMain/kotlin/ai/koog/agents/features/tracing/feature/Tracing.kt",
        "extension" : "kt",
        "linesOfCode" : 335,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 266,
      "startLine" : 335,
      "endLine" : 343,
      "cleanedStartLine" : 176,
      "cleanedEndLine" : 184
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 47,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 39,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/StructuredOutputWithToolsIntegrationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 269,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 223,
      "startLine" : 62,
      "endLine" : 71,
      "cleanedStartLine" : 37,
      "cleanedEndLine" : 45
    }, {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/StructuredOutputWithToolsIntegrationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 269,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 223,
      "startLine" : 96,
      "endLine" : 105,
      "cleanedStartLine" : 65,
      "cleanedEndLine" : 73
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-transport/a2a-transport-client-jsonrpc-http/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 44,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-acp/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 26,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/commonMain/kotlin/ai/koog/agents/features/tracing/feature/Tracing.kt",
        "extension" : "kt",
        "linesOfCode" : 335,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 266,
      "startLine" : 291,
      "endLine" : 299,
      "cleanedStartLine" : 142,
      "cleanedEndLine" : 150
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/commonMain/kotlin/ai/koog/agents/features/tracing/feature/Tracing.kt",
        "extension" : "kt",
        "linesOfCode" : 335,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 266,
      "startLine" : 322,
      "endLine" : 330,
      "cleanedStartLine" : 165,
      "cleanedEndLine" : 173
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-a2a-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 32,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-deepseek-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 29,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 19,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-transport/a2a-transport-server-jsonrpc-http/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 41,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 39,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-acp/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 26,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 31,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-tokenizer/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 44,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-processor/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 38,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-event-handler/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 33,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 23,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 51,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-sql/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 57,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 45,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 46,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 34,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-test/src/commonMain/kotlin/ai/koog/agents/testing/tools/MockLLMBuilder.kt",
        "extension" : "kt",
        "linesOfCode" : 495,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 414,
      "startLine" : 237,
      "endLine" : 245,
      "cleanedStartLine" : 80,
      "cleanedEndLine" : 88
    }, {
      "file" : {
        "relativePath" : "agents/agents-test/src/commonMain/kotlin/ai/koog/agents/testing/tools/MockLLMBuilder.kt",
        "extension" : "kt",
        "linesOfCode" : 495,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 414,
      "startLine" : 397,
      "endLine" : 405,
      "cleanedStartLine" : 174,
      "cleanedEndLine" : 182
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/StructuredOutputWithToolsIntegrationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 269,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 223,
      "startLine" : 62,
      "endLine" : 71,
      "cleanedStartLine" : 37,
      "cleanedEndLine" : 45
    }, {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/StructuredOutputWithToolsIntegrationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 269,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 223,
      "startLine" : 79,
      "endLine" : 88,
      "cleanedStartLine" : 51,
      "cleanedEndLine" : 59
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerStreamingTest.kt",
        "extension" : "kt",
        "linesOfCode" : 347,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 262,
      "startLine" : 254,
      "endLine" : 263,
      "cleanedStartLine" : 138,
      "cleanedEndLine" : 146
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerTest.kt",
        "extension" : "kt",
        "linesOfCode" : 521,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 437,
      "startLine" : 104,
      "endLine" : 113,
      "cleanedStartLine" : 21,
      "cleanedEndLine" : 29
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "embeddings/embeddings-base/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 33,
        "components" : [ "primary::embeddings" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-cached/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 35,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 41,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "agents/agents-mcp/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 41,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 31,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/SubgraphWithRetryTest.kt",
        "extension" : "kt",
        "linesOfCode" : 429,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 348,
      "startLine" : 300,
      "endLine" : 308,
      "cleanedStartLine" : 199,
      "cleanedEndLine" : 207
    }, {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/SubgraphWithRetryTest.kt",
        "extension" : "kt",
        "linesOfCode" : 429,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 348,
      "startLine" : 350,
      "endLine" : 358,
      "cleanedStartLine" : 236,
      "cleanedEndLine" : 244
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-transport/a2a-transport-client-jsonrpc-http/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 44,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client-base/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 40,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 28,
      "startLine" : 3,
      "endLine" : 13,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 39,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-processor/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 38,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "embeddings/embeddings-base/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 33,
        "components" : [ "primary::embeddings" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 30,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 20,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-event-handler/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 33,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 23,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "agents/agents-mcp/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 41,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 31,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-memory/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 37,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "embeddings/embeddings-llm/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 44,
        "components" : [ "primary::embeddings" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/SubgraphCheckpointsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 183,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 146,
      "startLine" : 68,
      "endLine" : 80,
      "cleanedStartLine" : 39,
      "cleanedEndLine" : 47
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/SubgraphCheckpointsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 183,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 146,
      "startLine" : 123,
      "endLine" : 135,
      "cleanedStartLine" : 82,
      "cleanedEndLine" : 90
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-cache/prompt-cache-model/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 26,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 30,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 20,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/google/GoogleLLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 653,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 482,
      "startLine" : 259,
      "endLine" : 267,
      "cleanedStartLine" : 118,
      "cleanedEndLine" : 126
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/mistralai/MistralAILLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 248,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 184,
      "startLine" : 196,
      "endLine" : 204,
      "cleanedStartLine" : 102,
      "cleanedEndLine" : 110
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-a2a-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 32,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-llms-all/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 50,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 40,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-server/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 50,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-sql/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 57,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 45,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-cache/prompt-cache-model/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 26,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 34,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 24,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/google/GoogleLLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 653,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 482,
      "startLine" : 259,
      "endLine" : 267,
      "cleanedStartLine" : 118,
      "cleanedEndLine" : 126
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/mistralai/MistralAILLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 248,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 184,
      "startLine" : 262,
      "endLine" : 270,
      "cleanedStartLine" : 142,
      "cleanedEndLine" : 150
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-ext/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 36,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 29,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 19,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-server/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 50,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-processor/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 38,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmMain/kotlin/ai/koog/prompt/executor/clients/bedrock/BedrockLLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 542,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 401,
      "startLine" : 262,
      "endLine" : 271,
      "cleanedStartLine" : 119,
      "cleanedEndLine" : 127
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAILLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 711,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 554,
      "startLine" : 495,
      "endLine" : 503,
      "cleanedStartLine" : 286,
      "cleanedEndLine" : 294
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicParams.kt",
        "extension" : "kt",
        "linesOfCode" : 154,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 135,
      "startLine" : 174,
      "endLine" : 182,
      "cleanedStartLine" : 120,
      "cleanedEndLine" : 128
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/mistralai/MistralAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 145,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 133,
      "startLine" : 165,
      "endLine" : 173,
      "cleanedStartLine" : 117,
      "cleanedEndLine" : 125
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 41,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-cache/prompt-cache-files/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 26,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 41,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client-base/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 40,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 28,
      "startLine" : 3,
      "endLine" : 13,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "embeddings/embeddings-llm/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 44,
        "components" : [ "primary::embeddings" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "rag/rag-base/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 32,
        "components" : [ "primary::rag" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-cache/prompt-cache-files/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 26,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "rag/rag-base/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 32,
        "components" : [ "primary::rag" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 41,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "rag/rag-base/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 32,
        "components" : [ "primary::rag" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "embeddings/embeddings-base/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 33,
        "components" : [ "primary::embeddings" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-llms-all/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 50,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 40,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/SubgraphCheckpointsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 183,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 146,
      "startLine" : 68,
      "endLine" : 80,
      "cleanedStartLine" : 39,
      "cleanedEndLine" : 47
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/SubgraphCheckpointsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 183,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 146,
      "startLine" : 95,
      "endLine" : 107,
      "cleanedStartLine" : 60,
      "cleanedEndLine" : 68
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-sql/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 57,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 45,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-cached/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 35,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageTestWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 623,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 501,
      "startLine" : 133,
      "endLine" : 145,
      "cleanedStartLine" : 57,
      "cleanedEndLine" : 65
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageTestWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 623,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 501,
      "startLine" : 172,
      "endLine" : 184,
      "cleanedStartLine" : 83,
      "cleanedEndLine" : 91
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerStreamingTest.kt",
        "extension" : "kt",
        "linesOfCode" : 347,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 262,
      "startLine" : 82,
      "endLine" : 91,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 24
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageRemoteWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 816,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 671,
      "startLine" : 764,
      "endLine" : 773,
      "cleanedStartLine" : 539,
      "cleanedEndLine" : 547
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-cache/prompt-cache-redis/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 35,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-deepseek-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 29,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 19,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openrouter-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 25,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 17,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-structure/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 39,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/agent/SingleRunStrategyTests.kt",
        "extension" : "kt",
        "linesOfCode" : 234,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 186,
      "startLine" : 118,
      "endLine" : 129,
      "cleanedStartLine" : 70,
      "cleanedEndLine" : 78
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/agent/SingleRunStrategyTests.kt",
        "extension" : "kt",
        "linesOfCode" : 234,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 186,
      "startLine" : 276,
      "endLine" : 287,
      "cleanedStartLine" : 176,
      "cleanedEndLine" : 184
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "http-client/http-client-core/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 19,
        "components" : [ "primary::http-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 13,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-ollama-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 70,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 52,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-ext/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 36,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 31,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/SubgraphWithRetryTest.kt",
        "extension" : "kt",
        "linesOfCode" : 429,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 348,
      "startLine" : 234,
      "endLine" : 242,
      "cleanedStartLine" : 153,
      "cleanedEndLine" : 161
    }, {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/SubgraphWithRetryTest.kt",
        "extension" : "kt",
        "linesOfCode" : 429,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 348,
      "startLine" : 350,
      "endLine" : 358,
      "cleanedStartLine" : 236,
      "cleanedEndLine" : 244
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "embeddings/embeddings-base/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 33,
        "components" : [ "primary::embeddings" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-cache/prompt-cache-redis/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 35,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-transport/a2a-transport-server-jsonrpc-http/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 41,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-processor/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 38,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicParams.kt",
        "extension" : "kt",
        "linesOfCode" : 154,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 135,
      "startLine" : 144,
      "endLine" : 152,
      "cleanedStartLine" : 94,
      "cleanedEndLine" : 102
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openrouter-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openrouter/OpenRouterParams.kt",
        "extension" : "kt",
        "linesOfCode" : 197,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 177,
      "startLine" : 177,
      "endLine" : 185,
      "cleanedStartLine" : 121,
      "cleanedEndLine" : 129
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-sql/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 57,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 45,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-llms-all/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 50,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 40,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 47,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "agents/agents-test/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 39,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/agent/SingleRunStrategyTests.kt",
        "extension" : "kt",
        "linesOfCode" : 234,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 186,
      "startLine" : 88,
      "endLine" : 99,
      "cleanedStartLine" : 51,
      "cleanedEndLine" : 59
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/agent/SingleRunStrategyTests.kt",
        "extension" : "kt",
        "linesOfCode" : 234,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 186,
      "startLine" : 236,
      "endLine" : 247,
      "cleanedStartLine" : 149,
      "cleanedEndLine" : 157
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client-base/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 40,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 28,
      "startLine" : 3,
      "endLine" : 13,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-llm/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 20,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 14,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 47,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "agents/agents-ext/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 36,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/agent/SingleRunStrategyTests.kt",
        "extension" : "kt",
        "linesOfCode" : 234,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 186,
      "startLine" : 118,
      "endLine" : 129,
      "cleanedStartLine" : 70,
      "cleanedEndLine" : 78
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/agent/SingleRunStrategyTests.kt",
        "extension" : "kt",
        "linesOfCode" : 234,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 186,
      "startLine" : 196,
      "endLine" : 207,
      "cleanedStartLine" : 122,
      "cleanedEndLine" : 130
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-acp/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 26,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 51,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 47,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 34,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 24,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-tools/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 38,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "rag/rag-base/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 32,
        "components" : [ "primary::rag" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/SubgraphCheckpointsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 183,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 146,
      "startLine" : 41,
      "endLine" : 53,
      "cleanedStartLine" : 18,
      "cleanedEndLine" : 26
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/SubgraphSetExecutionPointTest.kt",
        "extension" : "kt",
        "linesOfCode" : 176,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 143,
      "startLine" : 137,
      "endLine" : 148,
      "cleanedStartLine" : 101,
      "cleanedEndLine" : 109
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-test/src/commonMain/kotlin/ai/koog/agents/testing/tools/MockLLMBuilder.kt",
        "extension" : "kt",
        "linesOfCode" : 495,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 414,
      "startLine" : 185,
      "endLine" : 193,
      "cleanedStartLine" : 48,
      "cleanedEndLine" : 56
    }, {
      "file" : {
        "relativePath" : "agents/agents-test/src/commonMain/kotlin/ai/koog/agents/testing/tools/MockLLMBuilder.kt",
        "extension" : "kt",
        "linesOfCode" : 495,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 414,
      "startLine" : 361,
      "endLine" : 369,
      "cleanedStartLine" : 158,
      "cleanedEndLine" : 166
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmMain/kotlin/ai/koog/prompt/executor/clients/bedrock/BedrockLLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 542,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 401,
      "startLine" : 262,
      "endLine" : 271,
      "cleanedStartLine" : 119,
      "cleanedEndLine" : 127
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/google/GoogleLLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 653,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 482,
      "startLine" : 259,
      "endLine" : 267,
      "cleanedStartLine" : 118,
      "cleanedEndLine" : 126
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/langfuse/LangfuseTraceStructureTest.kt",
        "extension" : "kt",
        "linesOfCode" : 249,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 236,
      "startLine" : 131,
      "endLine" : 139,
      "cleanedStartLine" : 107,
      "cleanedEndLine" : 115
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/weave/WeaveTraceStructureTest.kt",
        "extension" : "kt",
        "linesOfCode" : 270,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 257,
      "startLine" : 271,
      "endLine" : 280,
      "cleanedStartLine" : 238,
      "cleanedEndLine" : 246
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-planner/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 36,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-llm/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 20,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 14,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-test/src/commonMain/kotlin/ai/koog/agents/testing/tools/MockLLMBuilder.kt",
        "extension" : "kt",
        "linesOfCode" : 495,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 414,
      "startLine" : 185,
      "endLine" : 193,
      "cleanedStartLine" : 48,
      "cleanedEndLine" : 56
    }, {
      "file" : {
        "relativePath" : "agents/agents-test/src/commonMain/kotlin/ai/koog/agents/testing/tools/MockLLMBuilder.kt",
        "extension" : "kt",
        "linesOfCode" : 495,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 414,
      "startLine" : 269,
      "endLine" : 277,
      "cleanedStartLine" : 102,
      "cleanedEndLine" : 110
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-event-handler/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 33,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 23,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 46,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 34,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-server/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 50,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 34,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 24,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-test/src/commonMain/kotlin/ai/koog/agents/testing/tools/MockLLMBuilder.kt",
        "extension" : "kt",
        "linesOfCode" : 495,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 414,
      "startLine" : 185,
      "endLine" : 193,
      "cleanedStartLine" : 48,
      "cleanedEndLine" : 56
    }, {
      "file" : {
        "relativePath" : "agents/agents-test/src/commonMain/kotlin/ai/koog/agents/testing/tools/MockLLMBuilder.kt",
        "extension" : "kt",
        "linesOfCode" : 495,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 414,
      "startLine" : 299,
      "endLine" : 307,
      "cleanedStartLine" : 120,
      "cleanedEndLine" : 128
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/SubgraphCheckpointsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 183,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 146,
      "startLine" : 41,
      "endLine" : 53,
      "cleanedStartLine" : 18,
      "cleanedEndLine" : 26
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/SubgraphSetExecutionPointTest.kt",
        "extension" : "kt",
        "linesOfCode" : 176,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 143,
      "startLine" : 164,
      "endLine" : 175,
      "cleanedStartLine" : 123,
      "cleanedEndLine" : 131
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-a2a-server/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 32,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-processor/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 38,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 41,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openrouter-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 25,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 17,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-sql/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 57,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 45,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "koog-ktor/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 58,
        "components" : [ "primary::koog-ktor" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 40,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-a2a-core/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 31,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "agents/agents-utils/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 28,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-ollama-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 70,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 52,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "utils/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 31,
        "components" : [ "primary::utils" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-planner/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 36,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "embeddings/embeddings-base/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 33,
        "components" : [ "primary::embeddings" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-transport/a2a-transport-client-jsonrpc-http/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 44,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "embeddings/embeddings-llm/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 44,
        "components" : [ "primary::embeddings" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "koog-ktor/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 58,
        "components" : [ "primary::koog-ktor" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 40,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-cache/prompt-cache-files/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 26,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-a2a-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 32,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "agents/agents-tools/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 38,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 39,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 34,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 24,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-planner/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 36,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client-base/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 40,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 28,
      "startLine" : 3,
      "endLine" : 13,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-acp/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 26,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-cache/prompt-cache-redis/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 35,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-event-handler/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 33,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 23,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-processor/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 38,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/PersistencyRunsTwiceTest.kt",
        "extension" : "kt",
        "linesOfCode" : 103,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 74,
      "startLine" : 30,
      "endLine" : 38,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 18
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/PersistencyRunsTwiceTest.kt",
        "extension" : "kt",
        "linesOfCode" : 103,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 74,
      "startLine" : 89,
      "endLine" : 97,
      "cleanedStartLine" : 45,
      "cleanedEndLine" : 53
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-memory/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 37,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "rag/rag-base/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 32,
        "components" : [ "primary::rag" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-acp/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 26,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-deepseek-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 29,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 19,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerTest.kt",
        "extension" : "kt",
        "linesOfCode" : 521,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 437,
      "startLine" : 493,
      "endLine" : 501,
      "cleanedStartLine" : 377,
      "cleanedEndLine" : 385
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerTest.kt",
        "extension" : "kt",
        "linesOfCode" : 521,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 437,
      "startLine" : 505,
      "endLine" : 513,
      "cleanedStartLine" : 389,
      "cleanedEndLine" : 397
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/GenAIAgentSpanUtilsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 329,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 292,
      "startLine" : 100,
      "endLine" : 112,
      "cleanedStartLine" : 62,
      "cleanedEndLine" : 70
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/GenAIAgentSpanUtilsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 329,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 292,
      "startLine" : 252,
      "endLine" : 264,
      "cleanedStartLine" : 171,
      "cleanedEndLine" : 179
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-memory/src/jvmTest/kotlin/ai/koog/agents/memory/AIAgentMemoryTest.kt",
        "extension" : "kt",
        "linesOfCode" : 470,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 399,
      "startLine" : 471,
      "endLine" : 480,
      "cleanedStartLine" : 316,
      "cleanedEndLine" : 324
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-memory/src/jvmTest/kotlin/ai/koog/agents/memory/AIAgentMemoryTest.kt",
        "extension" : "kt",
        "linesOfCode" : 470,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 399,
      "startLine" : 550,
      "endLine" : 559,
      "cleanedStartLine" : 379,
      "cleanedEndLine" : 387
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 47,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 29,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 19,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicModels.kt",
        "extension" : "kt",
        "linesOfCode" : 195,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 178,
      "startLine" : 174,
      "endLine" : 182,
      "cleanedStartLine" : 80,
      "cleanedEndLine" : 88
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicModels.kt",
        "extension" : "kt",
        "linesOfCode" : 195,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 178,
      "startLine" : 224,
      "endLine" : 232,
      "cleanedStartLine" : 110,
      "cleanedEndLine" : 118
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-a2a-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 32,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-cache/prompt-cache-redis/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 35,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-planner/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 36,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-structure/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 39,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmMain/kotlin/ai/koog/agents/core/agent/context/AIAgentLLMContext.kt",
        "extension" : "kt",
        "linesOfCode" : 82,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 59,
      "startLine" : 44,
      "endLine" : 52,
      "cleanedStartLine" : 24,
      "cleanedEndLine" : 32
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/wasmJsMain/kotlin/ai/koog/agents/core/agent/context/AIAgentLLMContext.kt",
        "extension" : "kt",
        "linesOfCode" : 32,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 21,
      "endLine" : 29,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 16
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/dashscope/DashscopeParams.kt",
        "extension" : "kt",
        "linesOfCode" : 159,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 144,
      "startLine" : 142,
      "endLine" : 150,
      "cleanedStartLine" : 99,
      "cleanedEndLine" : 107
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-deepseek-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/deepseek/DeepSeekParams.kt",
        "extension" : "kt",
        "linesOfCode" : 143,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 130,
      "endLine" : 138,
      "cleanedStartLine" : 90,
      "cleanedEndLine" : 98
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-test/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 39,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "embeddings/embeddings-base/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 33,
        "components" : [ "primary::embeddings" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 29,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 19,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-llms-all/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 50,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 40,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-structure/src/commonTest/kotlin/ai/koog/prompt/structure/json/generator/JsonSchemaGeneratorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 819,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 713,
      "startLine" : 240,
      "endLine" : 250,
      "cleanedStartLine" : 188,
      "cleanedEndLine" : 196
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-structure/src/commonTest/kotlin/ai/koog/prompt/structure/json/generator/JsonSchemaGeneratorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 819,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 713,
      "startLine" : 414,
      "endLine" : 424,
      "cleanedStartLine" : 329,
      "cleanedEndLine" : 337
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 39,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-tokenizer/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 36,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 24,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/java/ai/koog/agents/core/agent/JavaAPIAgentBuilderJavaTest.java",
        "extension" : "java",
        "linesOfCode" : 117,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 96,
      "startLine" : 26,
      "endLine" : 34,
      "cleanedStartLine" : 6,
      "cleanedEndLine" : 14
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/agent/JavaAPIAgentBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 197,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 168,
      "startLine" : 98,
      "endLine" : 106,
      "cleanedStartLine" : 54,
      "cleanedEndLine" : 62
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/mistralai/MistralAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 145,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 133,
      "startLine" : 9,
      "endLine" : 17,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 13
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 381,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 343,
      "startLine" : 33,
      "endLine" : 41,
      "cleanedStartLine" : 18,
      "cleanedEndLine" : 26
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-cached/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 35,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-structure/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 39,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/mistralai/MistralAILLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 248,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 184,
      "startLine" : 196,
      "endLine" : 204,
      "cleanedStartLine" : 102,
      "cleanedEndLine" : 110
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client-base/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/base/AbstractOpenAILLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 412,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 304,
      "startLine" : 257,
      "endLine" : 265,
      "cleanedStartLine" : 125,
      "cleanedEndLine" : 133
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "embeddings/embeddings-llm/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 44,
        "components" : [ "primary::embeddings" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 46,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 34,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-transport/a2a-transport-core-jsonrpc/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 37,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openrouter-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 25,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 17,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-sql/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 57,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 45,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "rag/rag-base/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 32,
        "components" : [ "primary::rag" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicParams.kt",
        "extension" : "kt",
        "linesOfCode" : 154,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 135,
      "startLine" : 144,
      "endLine" : 152,
      "cleanedStartLine" : 94,
      "cleanedEndLine" : 102
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/dashscope/DashscopeParams.kt",
        "extension" : "kt",
        "linesOfCode" : 159,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 144,
      "startLine" : 142,
      "endLine" : 150,
      "cleanedStartLine" : 99,
      "cleanedEndLine" : 107
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 39,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-cache/prompt-cache-files/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 26,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-transport/a2a-transport-server-jsonrpc-http/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 41,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-tokenizer/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 44,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 39,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "agents/agents-mcp/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 41,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 31,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-test/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 39,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "embeddings/embeddings-llm/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 44,
        "components" : [ "primary::embeddings" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/debugger/Debugger.kt",
        "extension" : "kt",
        "linesOfCode" : 399,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 318,
      "startLine" : 399,
      "endLine" : 407,
      "cleanedStartLine" : 232,
      "cleanedEndLine" : 240
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/commonMain/kotlin/ai/koog/agents/features/tracing/feature/Tracing.kt",
        "extension" : "kt",
        "linesOfCode" : 335,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 266,
      "startLine" : 205,
      "endLine" : 213,
      "cleanedStartLine" : 76,
      "cleanedEndLine" : 84
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-server/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 50,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 29,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 19,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-acp/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 26,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "embeddings/embeddings-base/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 33,
        "components" : [ "primary::embeddings" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicParams.kt",
        "extension" : "kt",
        "linesOfCode" : 154,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 135,
      "startLine" : 12,
      "endLine" : 20,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 13
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openrouter-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openrouter/OpenRouterParams.kt",
        "extension" : "kt",
        "linesOfCode" : 197,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 177,
      "startLine" : 10,
      "endLine" : 18,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 13
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerSubgraphTest.kt",
        "extension" : "kt",
        "linesOfCode" : 262,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 194,
      "startLine" : 107,
      "endLine" : 120,
      "cleanedStartLine" : 45,
      "cleanedEndLine" : 53
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerTestAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 281,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 212,
      "startLine" : 107,
      "endLine" : 120,
      "cleanedStartLine" : 37,
      "cleanedEndLine" : 45
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/BedrockLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 751,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 628,
      "startLine" : 538,
      "endLine" : 546,
      "cleanedStartLine" : 345,
      "cleanedEndLine" : 353
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/BedrockLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 751,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 628,
      "startLine" : 619,
      "endLine" : 627,
      "cleanedStartLine" : 410,
      "cleanedEndLine" : 418
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmMain/kotlin/ai/koog/prompt/executor/clients/bedrock/BedrockLLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 542,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 401,
      "startLine" : 262,
      "endLine" : 271,
      "cleanedStartLine" : 119,
      "cleanedEndLine" : 127
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAILLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 711,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 554,
      "startLine" : 531,
      "endLine" : 539,
      "cleanedStartLine" : 307,
      "cleanedEndLine" : 315
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-server/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 50,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-cached/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 35,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-server/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 50,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "koog-ktor/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 58,
        "components" : [ "primary::koog-ktor" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 40,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-a2a-server/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 32,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-tokenizer/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 36,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 24,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerStreamingTest.kt",
        "extension" : "kt",
        "linesOfCode" : 347,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 262,
      "startLine" : 176,
      "endLine" : 188,
      "cleanedStartLine" : 82,
      "cleanedEndLine" : 90
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerStreamingTest.kt",
        "extension" : "kt",
        "linesOfCode" : 347,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 262,
      "startLine" : 376,
      "endLine" : 388,
      "cleanedStartLine" : 225,
      "cleanedEndLine" : 233
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/SubgraphWithTaskTest.kt",
        "extension" : "kt",
        "linesOfCode" : 603,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 509,
      "startLine" : 156,
      "endLine" : 167,
      "cleanedStartLine" : 86,
      "cleanedEndLine" : 94
    }, {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/SubgraphWithTaskTest.kt",
        "extension" : "kt",
        "linesOfCode" : 603,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 509,
      "startLine" : 511,
      "endLine" : 522,
      "cleanedStartLine" : 331,
      "cleanedEndLine" : 339
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 41,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 34,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 24,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-memory/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 37,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 34,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 24,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/modelfamilies/meta/LlamaDataModelsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 188,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 148,
      "startLine" : 23,
      "endLine" : 35,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 21
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/modelfamilies/meta/LlamaDataModelsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 188,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 148,
      "startLine" : 48,
      "endLine" : 60,
      "cleanedStartLine" : 31,
      "cleanedEndLine" : 39
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/google/GoogleParams.kt",
        "extension" : "kt",
        "linesOfCode" : 115,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 103,
      "startLine" : 130,
      "endLine" : 138,
      "cleanedStartLine" : 92,
      "cleanedEndLine" : 100
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/mistralai/MistralAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 145,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 133,
      "startLine" : 165,
      "endLine" : 173,
      "cleanedStartLine" : 117,
      "cleanedEndLine" : 125
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 39,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "agents/agents-tools/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 38,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-a2a-server/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 32,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client-base/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 40,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 28,
      "startLine" : 3,
      "endLine" : 13,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/debugger/Debugger.kt",
        "extension" : "kt",
        "linesOfCode" : 399,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 318,
      "startLine" : 226,
      "endLine" : 234,
      "cleanedStartLine" : 99,
      "cleanedEndLine" : 107
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/commonMain/kotlin/ai/koog/agents/features/tracing/feature/Tracing.kt",
        "extension" : "kt",
        "linesOfCode" : 335,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 266,
      "startLine" : 189,
      "endLine" : 197,
      "cleanedStartLine" : 66,
      "cleanedEndLine" : 74
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-tools/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 38,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-cache/prompt-cache-files/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 26,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-server/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 50,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "agents/agents-planner/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 36,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-mcp/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 41,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 31,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-structure/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 39,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 41,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "embeddings/embeddings-llm/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 44,
        "components" : [ "primary::embeddings" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-transport/a2a-transport-client-jsonrpc-http/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 44,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "agents/agents-utils/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 28,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 47,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "rag/vector-storage/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 35,
        "components" : [ "primary::rag" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-tools/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 38,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-cache/prompt-cache-model/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 26,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-cache/prompt-cache-redis/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 35,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 34,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 24,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-a2a-core/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 31,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openrouter-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 25,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 17,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "embeddings/embeddings-base/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 33,
        "components" : [ "primary::embeddings" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 34,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 24,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 47,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "embeddings/embeddings-llm/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 44,
        "components" : [ "primary::embeddings" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-transport/a2a-transport-client-jsonrpc-http/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 44,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-event-handler/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 33,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 23,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-cache/prompt-cache-redis/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 35,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openrouter-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 25,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 17,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-transport/a2a-transport-server-jsonrpc-http/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 41,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-event-handler/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 33,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 23,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/model/events/llmStreamingEvents.kt",
        "extension" : "kt",
        "linesOfCode" : 136,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 125,
      "startLine" : 27,
      "endLine" : 40,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 12
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/model/events/llmStreamingEvents.kt",
        "extension" : "kt",
        "linesOfCode" : 136,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 125,
      "startLine" : 177,
      "endLine" : 190,
      "cleanedStartLine" : 96,
      "cleanedEndLine" : 104
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client-base/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 40,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 28,
      "startLine" : 3,
      "endLine" : 13,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openrouter-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 25,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 17,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-test/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 39,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 31,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-event-handler/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 33,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 23,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-structure/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 39,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-transport/a2a-transport-client-jsonrpc-http/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 44,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-cache/prompt-cache-model/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 26,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 51,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-structure/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 39,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/context/AIAgentLLMContext.kt",
        "extension" : "kt",
        "linesOfCode" : 86,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 72,
      "startLine" : 133,
      "endLine" : 141,
      "cleanedStartLine" : 49,
      "cleanedEndLine" : 57
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmMain/kotlin/ai/koog/agents/core/agent/context/AIAgentLLMContext.kt",
        "extension" : "kt",
        "linesOfCode" : 82,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 59,
      "startLine" : 44,
      "endLine" : 52,
      "cleanedStartLine" : 24,
      "cleanedEndLine" : 32
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-event-handler/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 33,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 23,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "agents/agents-utils/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 28,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-event-handler/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 33,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 23,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client-base/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 40,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 28,
      "startLine" : 3,
      "endLine" : 13,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-a2a-server/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 32,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-cached/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 35,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-utils/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 28,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 31,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "embeddings/embeddings-base/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 33,
        "components" : [ "primary::embeddings" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 46,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 34,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-ext/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 36,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "rag/vector-storage/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 35,
        "components" : [ "primary::rag" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "koog-ktor/src/commonMain/kotlin/ai/koog/ktor/KoogAgentsConfig.kt",
        "extension" : "kt",
        "linesOfCode" : 362,
        "components" : [ "primary::koog-ktor" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 264,
      "startLine" : 591,
      "endLine" : 607,
      "cleanedStartLine" : 94,
      "cleanedEndLine" : 102
    }, {
      "file" : {
        "relativePath" : "koog-ktor/src/commonMain/kotlin/ai/koog/ktor/KoogAgentsConfig.kt",
        "extension" : "kt",
        "linesOfCode" : 362,
        "components" : [ "primary::koog-ktor" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 264,
      "startLine" : 845,
      "endLine" : 859,
      "cleanedStartLine" : 145,
      "cleanedEndLine" : 153
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 51,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client-base/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 40,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 28,
      "startLine" : 3,
      "endLine" : 13,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-a2a-server/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 32,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "agents/agents-utils/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 28,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 51,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 31,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-transport/a2a-transport-core-jsonrpc/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 37,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-processor/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 38,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "koog-ktor/src/commonMain/kotlin/ai/koog/ktor/KoogAgentsConfig.kt",
        "extension" : "kt",
        "linesOfCode" : 362,
        "components" : [ "primary::koog-ktor" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 264,
      "startLine" : 591,
      "endLine" : 607,
      "cleanedStartLine" : 94,
      "cleanedEndLine" : 102
    }, {
      "file" : {
        "relativePath" : "koog-ktor/src/commonMain/kotlin/ai/koog/ktor/KoogAgentsConfig.kt",
        "extension" : "kt",
        "linesOfCode" : 362,
        "components" : [ "primary::koog-ktor" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 264,
      "startLine" : 792,
      "endLine" : 806,
      "cleanedStartLine" : 133,
      "cleanedEndLine" : 141
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-acp/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 26,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "koog-ktor/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 58,
        "components" : [ "primary::koog-ktor" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 40,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/session/AIAgentLLMWriteSession.kt",
        "extension" : "kt",
        "linesOfCode" : 188,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 155,
      "startLine" : 158,
      "endLine" : 168,
      "cleanedStartLine" : 75,
      "cleanedEndLine" : 83
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/session/AIAgentLLMWriteSessionAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 61,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 234,
      "endLine" : 263,
      "cleanedStartLine" : 29,
      "cleanedEndLine" : 37
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/BedrockLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 751,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 628,
      "startLine" : 557,
      "endLine" : 565,
      "cleanedStartLine" : 360,
      "cleanedEndLine" : 368
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/BedrockLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 751,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 628,
      "startLine" : 600,
      "endLine" : 608,
      "cleanedStartLine" : 395,
      "cleanedEndLine" : 403
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "koog-ktor/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 58,
        "components" : [ "primary::koog-ktor" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 40,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-llm/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 20,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 14,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-mcp/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 41,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 31,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-processor/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 38,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-transport/a2a-transport-core-jsonrpc/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 37,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-structure/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 39,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-planner/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 36,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-processor/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 38,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 381,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 343,
      "startLine" : 19,
      "endLine" : 27,
      "cleanedStartLine" : 6,
      "cleanedEndLine" : 14
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 381,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 343,
      "startLine" : 33,
      "endLine" : 41,
      "cleanedStartLine" : 18,
      "cleanedEndLine" : 26
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-ext/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 36,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "agents/agents-mcp/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 41,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 31,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-transport/a2a-transport-client-jsonrpc-http/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 44,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "agents/agents-planner/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 36,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/context/AIAgentLLMContext.kt",
        "extension" : "kt",
        "linesOfCode" : 86,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 72,
      "startLine" : 133,
      "endLine" : 141,
      "cleanedStartLine" : 49,
      "cleanedEndLine" : 57
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmMain/kotlin/ai/koog/agents/core/agent/context/AIAgentLLMContext.kt",
        "extension" : "kt",
        "linesOfCode" : 82,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 59,
      "startLine" : 27,
      "endLine" : 35,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 16
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicLLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 524,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 393,
      "startLine" : 159,
      "endLine" : 167,
      "cleanedStartLine" : 54,
      "cleanedEndLine" : 62
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmMain/kotlin/ai/koog/prompt/executor/clients/bedrock/BedrockLLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 542,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 401,
      "startLine" : 262,
      "endLine" : 271,
      "cleanedStartLine" : 119,
      "cleanedEndLine" : 127
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-transport/a2a-transport-server-jsonrpc-http/src/jvmTest/kotlin/ai/koog/a2a/transport/server/jsonrpc/http/HttpJSONRPCServerTransportTest.kt",
        "extension" : "kt",
        "linesOfCode" : 547,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 452,
      "startLine" : 149,
      "endLine" : 157,
      "cleanedStartLine" : 86,
      "cleanedEndLine" : 94
    }, {
      "file" : {
        "relativePath" : "a2a/a2a-transport/a2a-transport-server-jsonrpc-http/src/jvmTest/kotlin/ai/koog/a2a/transport/server/jsonrpc/http/HttpJSONRPCServerTransportTest.kt",
        "extension" : "kt",
        "linesOfCode" : 547,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 452,
      "startLine" : 183,
      "endLine" : 191,
      "cleanedStartLine" : 113,
      "cleanedEndLine" : 121
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 47,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-a2a-server/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 32,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "http-client/http-client-core/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 19,
        "components" : [ "primary::http-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 13,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "http-client/http-client-ktor/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 30,
        "components" : [ "primary::http-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-a2a-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 32,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-cached/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 35,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-acp/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 26,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-cache/prompt-cache-files/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 26,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-transport/a2a-transport-server-jsonrpc-http/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 41,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-acp/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 26,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-transport/a2a-transport-client-jsonrpc-http/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 44,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "agents/agents-tools/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 38,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-ext/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 36,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "agents/agents-utils/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 28,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/mistralai/MistralAILLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 248,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 184,
      "startLine" : 262,
      "endLine" : 270,
      "cleanedStartLine" : 142,
      "cleanedEndLine" : 150
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client-base/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/base/AbstractOpenAILLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 412,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 304,
      "startLine" : 257,
      "endLine" : 265,
      "cleanedStartLine" : 125,
      "cleanedEndLine" : 133
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-transport/a2a-transport-core-jsonrpc/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 37,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 41,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-transport/a2a-transport-client-jsonrpc-http/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 44,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 41,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-server/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 50,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-llm/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 20,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 14,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-cache/prompt-cache-files/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 26,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-processor/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 38,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-a2a-core/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 31,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-sql/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 57,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 45,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "embeddings/embeddings-llm/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 44,
        "components" : [ "primary::embeddings" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "rag/vector-storage/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 35,
        "components" : [ "primary::rag" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 47,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "a2a/a2a-transport/a2a-transport-client-jsonrpc-http/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 44,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-ext/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 36,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 51,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-transport/a2a-transport-client-jsonrpc-http/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 44,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-cache/prompt-cache-files/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 26,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-tools/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 38,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client-base/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 40,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 28,
      "startLine" : 3,
      "endLine" : 13,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 41,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 48,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 47,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-tokenizer/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 36,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 24,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-acp/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 26,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "embeddings/embeddings-llm/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 44,
        "components" : [ "primary::embeddings" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 46,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 34,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-llms-all/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 50,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 40,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 47,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 51,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "embeddings/embeddings-base/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 33,
        "components" : [ "primary::embeddings" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-deepseek-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 29,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 19,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerTest.kt",
        "extension" : "kt",
        "linesOfCode" : 521,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 437,
      "startLine" : 517,
      "endLine" : 525,
      "cleanedStartLine" : 401,
      "cleanedEndLine" : 409
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerTestAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 281,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 212,
      "startLine" : 218,
      "endLine" : 226,
      "cleanedStartLine" : 136,
      "cleanedEndLine" : 144
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-a2a-core/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 31,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 29,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 19,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 47,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-tokenizer/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 44,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/dsl/builder/AIAgentParallelNodesMergeContext.kt",
        "extension" : "kt",
        "linesOfCode" : 96,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 75,
      "startLine" : 82,
      "endLine" : 90,
      "cleanedStartLine" : 42,
      "cleanedEndLine" : 50
    }, {
      "file" : {
        "relativePath" : "agents/agents-test/src/commonMain/kotlin/ai/koog/agents/testing/tools/DummyAIAgentContext.kt",
        "extension" : "kt",
        "linesOfCode" : 208,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 169,
      "startLine" : 158,
      "endLine" : 166,
      "cleanedStartLine" : 73,
      "cleanedEndLine" : 81
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-tools/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 38,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-tokenizer/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 36,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 24,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryNodeExecuteSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 307,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 276,
      "startLine" : 68,
      "endLine" : 76,
      "cleanedStartLine" : 41,
      "cleanedEndLine" : 49
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetrySubgraphTest.kt",
        "extension" : "kt",
        "linesOfCode" : 334,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 313,
      "startLine" : 354,
      "endLine" : 362,
      "cleanedStartLine" : 296,
      "cleanedEndLine" : 304
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openrouter-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 25,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 17,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-llm/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 20,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 14,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "test-utils/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 29,
        "components" : [ "primary::test-utils" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 1,
      "endLine" : 12,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "utils/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 31,
        "components" : [ "primary::utils" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-utils/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 28,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-deepseek-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 29,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 19,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 47,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 30,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 20,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-a2a-core/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 31,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 30,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 20,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-a2a-core/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 31,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 51,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-cached/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 35,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client-base/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 40,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 28,
      "startLine" : 3,
      "endLine" : 13,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "koog-ktor/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 58,
        "components" : [ "primary::koog-ktor" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 40,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 29,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 19,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerTest.kt",
        "extension" : "kt",
        "linesOfCode" : 521,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 437,
      "startLine" : 104,
      "endLine" : 113,
      "cleanedStartLine" : 21,
      "cleanedEndLine" : 29
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageRemoteWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 816,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 671,
      "startLine" : 764,
      "endLine" : 773,
      "cleanedStartLine" : 539,
      "cleanedEndLine" : 547
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 51,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-llms-all/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 50,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 40,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-a2a-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 32,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-tokenizer/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 36,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 24,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/ai/koog/agents/snapshot/providers/file/FileCheckpointsTests.kt",
        "extension" : "kt",
        "linesOfCode" : 236,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 188,
      "startLine" : 178,
      "endLine" : 186,
      "cleanedStartLine" : 113,
      "cleanedEndLine" : 121
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/ai/koog/agents/snapshot/providers/file/FileCheckpointsTests.kt",
        "extension" : "kt",
        "linesOfCode" : 236,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 188,
      "startLine" : 258,
      "endLine" : 266,
      "cleanedStartLine" : 176,
      "cleanedEndLine" : 184
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-event-handler/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 33,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 23,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openrouter-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 25,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 17,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-a2a-server/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 32,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "agents/agents-tools/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 38,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 30,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 20,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 31,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 47,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-processor/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 38,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryInferenceSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 556,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 517,
      "startLine" : 198,
      "endLine" : 206,
      "cleanedStartLine" : 146,
      "cleanedEndLine" : 154
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryInferenceSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 556,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 517,
      "startLine" : 285,
      "endLine" : 293,
      "cleanedStartLine" : 223,
      "cleanedEndLine" : 231
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-server/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 50,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 30,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 20,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmMain/kotlin/ai/koog/prompt/executor/clients/bedrock/BedrockLLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 542,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 401,
      "startLine" : 262,
      "endLine" : 271,
      "cleanedStartLine" : 119,
      "cleanedEndLine" : 127
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client-base/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/base/AbstractOpenAILLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 412,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 304,
      "startLine" : 257,
      "endLine" : 265,
      "cleanedStartLine" : 125,
      "cleanedEndLine" : 133
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-transport/a2a-transport-server-jsonrpc-http/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 41,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "agents/agents-planner/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 36,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 29,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 19,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 31,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 34,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 24,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "rag/rag-base/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 32,
        "components" : [ "primary::rag" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryNodeExecuteSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 307,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 276,
      "startLine" : 68,
      "endLine" : 76,
      "cleanedStartLine" : 41,
      "cleanedEndLine" : 49
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetrySubgraphTest.kt",
        "extension" : "kt",
        "linesOfCode" : 334,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 313,
      "startLine" : 226,
      "endLine" : 234,
      "cleanedStartLine" : 185,
      "cleanedEndLine" : 193
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicLLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 524,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 393,
      "startLine" : 206,
      "endLine" : 218,
      "cleanedStartLine" : 93,
      "cleanedEndLine" : 101
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmMain/kotlin/ai/koog/prompt/executor/clients/bedrock/modelfamilies/anthropic/BedrockAnthropicClaudeSerialization.kt",
        "extension" : "kt",
        "linesOfCode" : 286,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 208,
      "startLine" : 249,
      "endLine" : 261,
      "cleanedStartLine" : 165,
      "cleanedEndLine" : 173
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicParams.kt",
        "extension" : "kt",
        "linesOfCode" : 154,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 135,
      "startLine" : 107,
      "endLine" : 115,
      "cleanedStartLine" : 58,
      "cleanedEndLine" : 66
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-deepseek-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/deepseek/DeepSeekParams.kt",
        "extension" : "kt",
        "linesOfCode" : 143,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 95,
      "endLine" : 103,
      "cleanedStartLine" : 56,
      "cleanedEndLine" : 64
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-cache/prompt-cache-files/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 26,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 31,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-cache/prompt-cache-model/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 26,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-structure/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 39,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "koog-ktor/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 58,
        "components" : [ "primary::koog-ktor" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 40,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 51,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "koog-ktor/src/commonMain/kotlin/ai/koog/ktor/KoogAgentsConfig.kt",
        "extension" : "kt",
        "linesOfCode" : 362,
        "components" : [ "primary::koog-ktor" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 264,
      "startLine" : 507,
      "endLine" : 527,
      "cleanedStartLine" : 80,
      "cleanedEndLine" : 88
    }, {
      "file" : {
        "relativePath" : "koog-ktor/src/commonMain/kotlin/ai/koog/ktor/KoogAgentsConfig.kt",
        "extension" : "kt",
        "linesOfCode" : 362,
        "components" : [ "primary::koog-ktor" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 264,
      "startLine" : 897,
      "endLine" : 912,
      "cleanedStartLine" : 157,
      "cleanedEndLine" : 165
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-memory/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 37,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "rag/vector-storage/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 35,
        "components" : [ "primary::rag" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-server/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 50,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "embeddings/embeddings-base/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 33,
        "components" : [ "primary::embeddings" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-transport/a2a-transport-core-jsonrpc/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 37,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-cached/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 35,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "http-client/http-client-core/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 19,
        "components" : [ "primary::http-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 13,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "utils/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 31,
        "components" : [ "primary::utils" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-transport/a2a-transport-core-jsonrpc/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 37,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-llm/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 20,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 14,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 47,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-a2a-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 32,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-tokenizer/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 44,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-tokenizer/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 36,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 24,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-cache/prompt-cache-model/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 26,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 29,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 19,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "koog-ktor/src/commonMain/kotlin/ai/koog/ktor/KoogAgentsConfig.kt",
        "extension" : "kt",
        "linesOfCode" : 362,
        "components" : [ "primary::koog-ktor" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 264,
      "startLine" : 507,
      "endLine" : 527,
      "cleanedStartLine" : 80,
      "cleanedEndLine" : 88
    }, {
      "file" : {
        "relativePath" : "koog-ktor/src/commonMain/kotlin/ai/koog/ktor/KoogAgentsConfig.kt",
        "extension" : "kt",
        "linesOfCode" : 362,
        "components" : [ "primary::koog-ktor" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 264,
      "startLine" : 649,
      "endLine" : 665,
      "cleanedStartLine" : 106,
      "cleanedEndLine" : 114
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openrouter-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 25,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 17,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "rag/rag-base/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 32,
        "components" : [ "primary::rag" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-cache/prompt-cache-files/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 26,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-tokenizer/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 36,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 24,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "koog-ktor/src/commonMain/kotlin/ai/koog/ktor/KoogAgentsConfig.kt",
        "extension" : "kt",
        "linesOfCode" : 362,
        "components" : [ "primary::koog-ktor" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 264,
      "startLine" : 507,
      "endLine" : 527,
      "cleanedStartLine" : 80,
      "cleanedEndLine" : 88
    }, {
      "file" : {
        "relativePath" : "koog-ktor/src/commonMain/kotlin/ai/koog/ktor/KoogAgentsConfig.kt",
        "extension" : "kt",
        "linesOfCode" : 362,
        "components" : [ "primary::koog-ktor" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 264,
      "startLine" : 792,
      "endLine" : 806,
      "cleanedStartLine" : 133,
      "cleanedEndLine" : 141
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-cache/prompt-cache-files/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 26,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-llms-all/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 50,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 40,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "koog-ktor/src/commonMain/kotlin/ai/koog/ktor/KoogAgentsConfig.kt",
        "extension" : "kt",
        "linesOfCode" : 362,
        "components" : [ "primary::koog-ktor" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 264,
      "startLine" : 507,
      "endLine" : 527,
      "cleanedStartLine" : 80,
      "cleanedEndLine" : 88
    }, {
      "file" : {
        "relativePath" : "koog-ktor/src/commonMain/kotlin/ai/koog/ktor/KoogAgentsConfig.kt",
        "extension" : "kt",
        "linesOfCode" : 362,
        "components" : [ "primary::koog-ktor" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 264,
      "startLine" : 845,
      "endLine" : 859,
      "cleanedStartLine" : 145,
      "cleanedEndLine" : 153
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-transport/a2a-transport-client-jsonrpc-http/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 44,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-cache/prompt-cache-redis/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 35,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "embeddings/embeddings-base/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 33,
        "components" : [ "primary::embeddings" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "rag/vector-storage/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 35,
        "components" : [ "primary::rag" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "koog-ktor/src/commonMain/kotlin/ai/koog/ktor/KoogAgentsConfig.kt",
        "extension" : "kt",
        "linesOfCode" : 362,
        "components" : [ "primary::koog-ktor" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 264,
      "startLine" : 507,
      "endLine" : 527,
      "cleanedStartLine" : 80,
      "cleanedEndLine" : 88
    }, {
      "file" : {
        "relativePath" : "koog-ktor/src/commonMain/kotlin/ai/koog/ktor/KoogAgentsConfig.kt",
        "extension" : "kt",
        "linesOfCode" : 362,
        "components" : [ "primary::koog-ktor" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 264,
      "startLine" : 733,
      "endLine" : 753,
      "cleanedStartLine" : 121,
      "cleanedEndLine" : 129
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 39,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 30,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 20,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryInferenceSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 556,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 517,
      "startLine" : 198,
      "endLine" : 206,
      "cleanedStartLine" : 146,
      "cleanedEndLine" : 154
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryInferenceSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 556,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 517,
      "startLine" : 450,
      "endLine" : 458,
      "cleanedStartLine" : 366,
      "cleanedEndLine" : 374
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/BedrockLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 751,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 628,
      "startLine" : 357,
      "endLine" : 366,
      "cleanedStartLine" : 221,
      "cleanedEndLine" : 229
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/BedrockLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 751,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 628,
      "startLine" : 600,
      "endLine" : 608,
      "cleanedStartLine" : 395,
      "cleanedEndLine" : 403
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryNodeExecuteSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 307,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 276,
      "startLine" : 133,
      "endLine" : 141,
      "cleanedStartLine" : 96,
      "cleanedEndLine" : 104
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetrySubgraphTest.kt",
        "extension" : "kt",
        "linesOfCode" : 334,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 313,
      "startLine" : 111,
      "endLine" : 119,
      "cleanedStartLine" : 85,
      "cleanedEndLine" : 93
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/BedrockLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 751,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 628,
      "startLine" : 357,
      "endLine" : 366,
      "cleanedStartLine" : 221,
      "cleanedEndLine" : 229
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/BedrockLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 751,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 628,
      "startLine" : 557,
      "endLine" : 565,
      "cleanedStartLine" : 360,
      "cleanedEndLine" : 368
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-a2a-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 32,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-cache/prompt-cache-model/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 26,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/CheckpointsTests.kt",
        "extension" : "kt",
        "linesOfCode" : 793,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 646,
      "startLine" : 388,
      "endLine" : 396,
      "cleanedStartLine" : 232,
      "cleanedEndLine" : 240
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/ai/koog/agents/snapshot/providers/file/FileCheckpointsTests.kt",
        "extension" : "kt",
        "linesOfCode" : 236,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 188,
      "startLine" : 217,
      "endLine" : 225,
      "cleanedStartLine" : 144,
      "cleanedEndLine" : 152
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/commonTest/kotlin/ai/koog/prompt/executor/clients/google/structure/GoogleStandardJsonSchemaGeneratorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 323,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 297,
      "startLine" : 329,
      "endLine" : 338,
      "cleanedStartLine" : 288,
      "cleanedEndLine" : 296
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client-base/src/commonTest/kotlin/ai/koog/prompt/executor/clients/openai/structure/OpenAIStandardJsonSchemaGeneratorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 375,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 342,
      "startLine" : 331,
      "endLine" : 340,
      "cleanedStartLine" : 289,
      "cleanedEndLine" : 297
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/BedrockLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 751,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 628,
      "startLine" : 357,
      "endLine" : 366,
      "cleanedStartLine" : 221,
      "cleanedEndLine" : 229
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/BedrockLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 751,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 628,
      "startLine" : 538,
      "endLine" : 546,
      "cleanedStartLine" : 345,
      "cleanedEndLine" : 353
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/SubgraphSetExecutionPointTest.kt",
        "extension" : "kt",
        "linesOfCode" : 176,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 143,
      "startLine" : 57,
      "endLine" : 68,
      "cleanedStartLine" : 36,
      "cleanedEndLine" : 44
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/SubgraphSetExecutionPointTest.kt",
        "extension" : "kt",
        "linesOfCode" : 176,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 143,
      "startLine" : 137,
      "endLine" : 148,
      "cleanedStartLine" : 101,
      "cleanedEndLine" : 109
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/SubgraphSetExecutionPointTest.kt",
        "extension" : "kt",
        "linesOfCode" : 176,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 143,
      "startLine" : 57,
      "endLine" : 68,
      "cleanedStartLine" : 36,
      "cleanedEndLine" : 44
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/SubgraphSetExecutionPointTest.kt",
        "extension" : "kt",
        "linesOfCode" : 176,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 143,
      "startLine" : 164,
      "endLine" : 175,
      "cleanedStartLine" : 123,
      "cleanedEndLine" : 131
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/dsl/extension/HistoryCompressionStrategiesTest.kt",
        "extension" : "kt",
        "linesOfCode" : 419,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 379,
      "startLine" : 194,
      "endLine" : 202,
      "cleanedStartLine" : 148,
      "cleanedEndLine" : 156
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/dsl/extension/HistoryCompressionStrategiesTest.kt",
        "extension" : "kt",
        "linesOfCode" : 419,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 379,
      "startLine" : 254,
      "endLine" : 262,
      "cleanedStartLine" : 207,
      "cleanedEndLine" : 215
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-cache/prompt-cache-files/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 26,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-llm/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 20,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 14,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openrouter-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openrouter/OpenRouterParams.kt",
        "extension" : "kt",
        "linesOfCode" : 197,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 177,
      "startLine" : 10,
      "endLine" : 18,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 13
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonMain/kotlin/ai/koog/prompt/params/LLMParams.kt",
        "extension" : "kt",
        "linesOfCode" : 169,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 141,
      "startLine" : 92,
      "endLine" : 100,
      "cleanedStartLine" : 46,
      "cleanedEndLine" : 54
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 47,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 46,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 34,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/BedrockLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 751,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 628,
      "startLine" : 216,
      "endLine" : 224,
      "cleanedStartLine" : 115,
      "cleanedEndLine" : 123
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/modelfamilies/amazon/BedrockAmazonNovaSerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 311,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 238,
      "startLine" : 288,
      "endLine" : 296,
      "cleanedStartLine" : 178,
      "cleanedEndLine" : 186
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-transport/a2a-transport-core-jsonrpc/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 37,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-acp/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 26,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 381,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 343,
      "startLine" : 19,
      "endLine" : 27,
      "cleanedStartLine" : 6,
      "cleanedEndLine" : 14
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonMain/kotlin/ai/koog/prompt/params/LLMParams.kt",
        "extension" : "kt",
        "linesOfCode" : 169,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 141,
      "startLine" : 92,
      "endLine" : 100,
      "cleanedStartLine" : 46,
      "cleanedEndLine" : 54
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-memory/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 37,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-processor/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 38,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-transport/a2a-transport-server-jsonrpc-http/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 41,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "agents/agents-ext/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 36,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "embeddings/embeddings-llm/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 44,
        "components" : [ "primary::embeddings" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 30,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 20,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-planner/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 36,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-cache/prompt-cache-redis/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 35,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 34,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 24,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-processor/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 38,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client-base/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 40,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 28,
      "startLine" : 3,
      "endLine" : 13,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 31,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "embeddings/embeddings-base/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 33,
        "components" : [ "primary::embeddings" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-cache/prompt-cache-files/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 26,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/mistralai/MistralAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 145,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 133,
      "startLine" : 134,
      "endLine" : 142,
      "cleanedStartLine" : 90,
      "cleanedEndLine" : 98
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 381,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 343,
      "startLine" : 202,
      "endLine" : 210,
      "cleanedStartLine" : 130,
      "cleanedEndLine" : 138
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-server/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 50,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-structure/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 39,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-ext/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 36,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 30,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 20,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-a2a-core/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 31,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-memory/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 37,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/google/GoogleParams.kt",
        "extension" : "kt",
        "linesOfCode" : 115,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 103,
      "startLine" : 90,
      "endLine" : 98,
      "cleanedStartLine" : 57,
      "cleanedEndLine" : 65
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/mistralai/MistralAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 145,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 133,
      "startLine" : 113,
      "endLine" : 121,
      "cleanedStartLine" : 70,
      "cleanedEndLine" : 78
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/dashscope/models/DashscopeSerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 453,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 372,
      "startLine" : 496,
      "endLine" : 504,
      "cleanedStartLine" : 355,
      "cleanedEndLine" : 363
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-deepseek-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/deepseek/models/DeepSeekSerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 327,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 263,
      "startLine" : 324,
      "endLine" : 332,
      "cleanedStartLine" : 240,
      "cleanedEndLine" : 248
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-transport/a2a-transport-client-jsonrpc-http/src/commonTest/kotlin/ai/koog/a2a/transport/client/jsonrpc/http/HttpJSONRPCClientTransportTest.kt",
        "extension" : "kt",
        "linesOfCode" : 389,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 327,
      "startLine" : 268,
      "endLine" : 277,
      "cleanedStartLine" : 176,
      "cleanedEndLine" : 184
    }, {
      "file" : {
        "relativePath" : "a2a/a2a-transport/a2a-transport-server-jsonrpc-http/src/jvmTest/kotlin/ai/koog/a2a/transport/server/jsonrpc/http/HttpJSONRPCServerTransportTest.kt",
        "extension" : "kt",
        "linesOfCode" : 547,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 452,
      "startLine" : 487,
      "endLine" : 496,
      "cleanedStartLine" : 340,
      "cleanedEndLine" : 348
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-transport/a2a-transport-server-jsonrpc-http/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 41,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openrouter-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 25,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 17,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-planner/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 36,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 46,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 34,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 30,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 20,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-structure/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 39,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicParams.kt",
        "extension" : "kt",
        "linesOfCode" : 154,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 135,
      "startLine" : 48,
      "endLine" : 56,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 24
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/mistralai/MistralAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 145,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 133,
      "startLine" : 47,
      "endLine" : 55,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 23
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-utils/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 28,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-structure/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 39,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-a2a-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 32,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "agents/agents-utils/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 28,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-cache/prompt-cache-redis/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 35,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 51,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-ext/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 36,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "embeddings/embeddings-llm/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 44,
        "components" : [ "primary::embeddings" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "embeddings/embeddings-llm/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 44,
        "components" : [ "primary::embeddings" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 29,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 19,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-a2a-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 32,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 46,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 34,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicModels.kt",
        "extension" : "kt",
        "linesOfCode" : 195,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 178,
      "startLine" : 150,
      "endLine" : 158,
      "cleanedStartLine" : 65,
      "cleanedEndLine" : 73
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicModels.kt",
        "extension" : "kt",
        "linesOfCode" : 195,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 178,
      "startLine" : 199,
      "endLine" : 207,
      "cleanedStartLine" : 95,
      "cleanedEndLine" : 103
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "koog-ktor/src/commonMain/kotlin/ai/koog/ktor/KoogAgentsConfig.kt",
        "extension" : "kt",
        "linesOfCode" : 362,
        "components" : [ "primary::koog-ktor" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 264,
      "startLine" : 792,
      "endLine" : 806,
      "cleanedStartLine" : 133,
      "cleanedEndLine" : 141
    }, {
      "file" : {
        "relativePath" : "koog-ktor/src/commonMain/kotlin/ai/koog/ktor/KoogAgentsConfig.kt",
        "extension" : "kt",
        "linesOfCode" : 362,
        "components" : [ "primary::koog-ktor" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 264,
      "startLine" : 897,
      "endLine" : 912,
      "cleanedStartLine" : 157,
      "cleanedEndLine" : 165
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-ext/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 36,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "agents/agents-tools/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 38,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/TestStrategies.kt",
        "extension" : "kt",
        "linesOfCode" : 398,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 340,
      "startLine" : 195,
      "endLine" : 205,
      "cleanedStartLine" : 123,
      "cleanedEndLine" : 131
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/TestStrategies.kt",
        "extension" : "kt",
        "linesOfCode" : 398,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 340,
      "startLine" : 321,
      "endLine" : 331,
      "cleanedStartLine" : 219,
      "cleanedEndLine" : 227
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-transport/a2a-transport-core-jsonrpc/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 37,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-event-handler/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 33,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 23,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-a2a-core/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 31,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 46,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 34,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-a2a-server/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 32,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 51,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-tools/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 38,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-cache/prompt-cache-redis/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 35,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-memory/src/jvmTest/kotlin/ai/koog/agents/memory/AIAgentMemoryTest.kt",
        "extension" : "kt",
        "linesOfCode" : 470,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 399,
      "startLine" : 183,
      "endLine" : 192,
      "cleanedStartLine" : 101,
      "cleanedEndLine" : 109
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-memory/src/jvmTest/kotlin/ai/koog/agents/memory/AIAgentMemoryTest.kt",
        "extension" : "kt",
        "linesOfCode" : 470,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 399,
      "startLine" : 471,
      "endLine" : 480,
      "cleanedStartLine" : 316,
      "cleanedEndLine" : 324
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 23,
      "endLine" : 36,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 61,
      "endLine" : 74,
      "cleanedStartLine" : 34,
      "cleanedEndLine" : 42
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-ext/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 36,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-deepseek-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 29,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 19,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-tools/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 38,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-cached/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 35,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-tools/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 38,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-llms-all/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 50,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 40,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/BedrockLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 751,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 628,
      "startLine" : 357,
      "endLine" : 366,
      "cleanedStartLine" : 221,
      "cleanedEndLine" : 229
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/BedrockLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 751,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 628,
      "startLine" : 619,
      "endLine" : 627,
      "cleanedStartLine" : 410,
      "cleanedEndLine" : 418
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmMain/kotlin/ai/koog/agents/features/opentelemetry/span/inferenceSpan.kt",
        "extension" : "kt",
        "linesOfCode" : 94,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 71,
      "startLine" : 105,
      "endLine" : 122,
      "cleanedStartLine" : 38,
      "cleanedEndLine" : 46
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmMain/kotlin/ai/koog/agents/features/opentelemetry/span/invokeAgentSpan.kt",
        "extension" : "kt",
        "linesOfCode" : 94,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 72,
      "startLine" : 114,
      "endLine" : 131,
      "cleanedStartLine" : 39,
      "cleanedEndLine" : 47
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-transport/a2a-transport-client-jsonrpc-http/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 44,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "agents/agents-ext/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 36,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-memory/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 37,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-tokenizer/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 36,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 24,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 23,
      "endLine" : 36,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 42,
      "endLine" : 55,
      "cleanedStartLine" : 21,
      "cleanedEndLine" : 29
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-tools/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 38,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-processor/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 38,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-transport/a2a-transport-core-jsonrpc/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 37,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 48,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-a2a-core/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 31,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-structure/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 39,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client-base/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 40,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 28,
      "startLine" : 3,
      "endLine" : 13,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 34,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 24,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-test/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 39,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-tokenizer/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 36,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 24,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 30,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 20,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-tokenizer/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 36,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 24,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 51,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-tokenizer/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 36,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 24,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-tools/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 38,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "rag/vector-storage/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 35,
        "components" : [ "primary::rag" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 837,
      "endLine" : 849,
      "cleanedStartLine" : 589,
      "cleanedEndLine" : 597
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 867,
      "endLine" : 879,
      "cleanedStartLine" : 610,
      "cleanedEndLine" : 618
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-event-handler/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 33,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 23,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 48,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-test/src/commonMain/kotlin/ai/koog/agents/testing/feature/TestingFeature.kt",
        "extension" : "kt",
        "linesOfCode" : 505,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 400,
      "startLine" : 1213,
      "endLine" : 1221,
      "cleanedStartLine" : 379,
      "cleanedEndLine" : 387
    }, {
      "file" : {
        "relativePath" : "agents/agents-test/src/commonMain/kotlin/ai/koog/agents/testing/feature/TestingFeature.kt",
        "extension" : "kt",
        "linesOfCode" : 505,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 400,
      "startLine" : 1245,
      "endLine" : 1253,
      "cleanedStartLine" : 389,
      "cleanedEndLine" : 397
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 39,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 29,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 19,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "koog-ktor/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 58,
        "components" : [ "primary::koog-ktor" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 40,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-tokenizer/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 36,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 24,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-ext/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 36,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-cache/prompt-cache-files/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 26,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/mistralai/MistralAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 145,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 133,
      "startLine" : 9,
      "endLine" : 17,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 13
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 381,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 343,
      "startLine" : 19,
      "endLine" : 27,
      "cleanedStartLine" : 6,
      "cleanedEndLine" : 14
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-llms/src/commonTest/kotlin/ai/koog/prompt/executor/llms/MultiLLMPromptExecutorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 206,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 155,
      "startLine" : 90,
      "endLine" : 99,
      "cleanedStartLine" : 41,
      "cleanedEndLine" : 49
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-llms/src/commonTest/kotlin/ai/koog/prompt/executor/llms/MultiLLMPromptExecutorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 206,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 155,
      "startLine" : 147,
      "endLine" : 156,
      "cleanedStartLine" : 80,
      "cleanedEndLine" : 88
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-a2a-core/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 31,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-tokenizer/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 44,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicModels.kt",
        "extension" : "kt",
        "linesOfCode" : 195,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 178,
      "startLine" : 150,
      "endLine" : 158,
      "cleanedStartLine" : 65,
      "cleanedEndLine" : 73
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicModels.kt",
        "extension" : "kt",
        "linesOfCode" : 195,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 178,
      "startLine" : 224,
      "endLine" : 232,
      "cleanedStartLine" : 110,
      "cleanedEndLine" : 118
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-ollama-client/src/commonTest/kotlin/ai/koog/prompt/executor/ollama/client/OllamaToolCallTest.kt",
        "extension" : "kt",
        "linesOfCode" : 210,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 189,
      "startLine" : 54,
      "endLine" : 63,
      "cleanedStartLine" : 28,
      "cleanedEndLine" : 36
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-ollama-client/src/commonTest/kotlin/ai/koog/prompt/executor/ollama/client/OllamaToolCallTest.kt",
        "extension" : "kt",
        "linesOfCode" : 210,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 189,
      "startLine" : 90,
      "endLine" : 99,
      "cleanedStartLine" : 59,
      "cleanedEndLine" : 67
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 381,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 343,
      "startLine" : 151,
      "endLine" : 159,
      "cleanedStartLine" : 80,
      "cleanedEndLine" : 88
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 381,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 343,
      "startLine" : 373,
      "endLine" : 381,
      "cleanedStartLine" : 241,
      "cleanedEndLine" : 249
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 41,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 30,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 20,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "embeddings/embeddings-llm/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 44,
        "components" : [ "primary::embeddings" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openrouter-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 25,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 17,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-llm/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 20,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 14,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "rag/vector-storage/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 35,
        "components" : [ "primary::rag" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 31,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-llms-all/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 50,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 40,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-server/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 50,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-a2a-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 32,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-cache/prompt-cache-model/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 26,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "rag/vector-storage/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 35,
        "components" : [ "primary::rag" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerTestAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 281,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 212,
      "startLine" : 198,
      "endLine" : 206,
      "cleanedStartLine" : 116,
      "cleanedEndLine" : 124
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageRemoteWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 816,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 671,
      "startLine" : 397,
      "endLine" : 405,
      "cleanedStartLine" : 238,
      "cleanedEndLine" : 246
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "embeddings/embeddings-base/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 33,
        "components" : [ "primary::embeddings" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-processor/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 38,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 47,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-sql/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 57,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 45,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/CheckpointsTests.kt",
        "extension" : "kt",
        "linesOfCode" : 793,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 646,
      "startLine" : 162,
      "endLine" : 170,
      "cleanedStartLine" : 74,
      "cleanedEndLine" : 82
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/ai/koog/agents/snapshot/providers/file/FileCheckpointsTests.kt",
        "extension" : "kt",
        "linesOfCode" : 236,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 188,
      "startLine" : 79,
      "endLine" : 87,
      "cleanedStartLine" : 35,
      "cleanedEndLine" : 43
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-acp/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 26,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 29,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 19,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "http-client/http-client-ktor/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 30,
        "components" : [ "primary::http-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-ollama-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 70,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 52,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 51,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openrouter-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 25,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 17,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-a2a-server/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 32,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-llm/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 20,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 14,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 381,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 343,
      "startLine" : 422,
      "endLine" : 430,
      "cleanedStartLine" : 289,
      "cleanedEndLine" : 297
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openrouter-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openrouter/OpenRouterParams.kt",
        "extension" : "kt",
        "linesOfCode" : 197,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 177,
      "startLine" : 177,
      "endLine" : 185,
      "cleanedStartLine" : 121,
      "cleanedEndLine" : 129
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-a2a-core/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 31,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "agents/agents-tools/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 38,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 31,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 34,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 24,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-acp/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 26,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "agents/agents-mcp/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 41,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 31,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-mcp/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 41,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 31,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-llm/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 20,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 14,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 41,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-llms-all/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 50,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 40,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-cache/prompt-cache-model/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 26,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-llms-all/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 50,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 40,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-deepseek-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/deepseek/DeepSeekParams.kt",
        "extension" : "kt",
        "linesOfCode" : 143,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 95,
      "endLine" : 103,
      "cleanedStartLine" : 56,
      "cleanedEndLine" : 64
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 381,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 343,
      "startLine" : 373,
      "endLine" : 381,
      "cleanedStartLine" : 241,
      "cleanedEndLine" : 249
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-utils/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 28,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-tokenizer/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 36,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 24,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-event-handler/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 33,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 23,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-deepseek-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 29,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 19,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-a2a-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 32,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-processor/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 38,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-llm/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 20,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 14,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "rag/rag-base/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 32,
        "components" : [ "primary::rag" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/dashscope/DashscopeParams.kt",
        "extension" : "kt",
        "linesOfCode" : 159,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 144,
      "startLine" : 131,
      "endLine" : 140,
      "cleanedStartLine" : 89,
      "cleanedEndLine" : 97
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-deepseek-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/deepseek/DeepSeekParams.kt",
        "extension" : "kt",
        "linesOfCode" : 143,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 119,
      "endLine" : 128,
      "cleanedStartLine" : 80,
      "cleanedEndLine" : 88
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 47,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-llm/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 20,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 14,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-deepseek-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 29,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 19,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-llm/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 20,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 14,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-planner/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 36,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 48,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/CheckpointsTests.kt",
        "extension" : "kt",
        "linesOfCode" : 793,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 646,
      "startLine" : 295,
      "endLine" : 306,
      "cleanedStartLine" : 171,
      "cleanedEndLine" : 179
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/SubgraphCheckpointsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 183,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 146,
      "startLine" : 123,
      "endLine" : 135,
      "cleanedStartLine" : 82,
      "cleanedEndLine" : 90
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 47,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-structure/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 39,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/CheckpointsTests.kt",
        "extension" : "kt",
        "linesOfCode" : 793,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 646,
      "startLine" : 295,
      "endLine" : 306,
      "cleanedStartLine" : 171,
      "cleanedEndLine" : 179
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/SubgraphCheckpointsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 183,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 146,
      "startLine" : 95,
      "endLine" : 107,
      "cleanedStartLine" : 60,
      "cleanedEndLine" : 68
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageLogWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 480,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 396,
      "startLine" : 347,
      "endLine" : 359,
      "cleanedStartLine" : 246,
      "cleanedEndLine" : 254
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageLogWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 480,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 396,
      "startLine" : 375,
      "endLine" : 387,
      "cleanedStartLine" : 263,
      "cleanedEndLine" : 271
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-acp/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 26,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openrouter-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 25,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 17,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/CheckpointsTests.kt",
        "extension" : "kt",
        "linesOfCode" : 793,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 646,
      "startLine" : 295,
      "endLine" : 306,
      "cleanedStartLine" : 171,
      "cleanedEndLine" : 179
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/SubgraphCheckpointsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 183,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 146,
      "startLine" : 68,
      "endLine" : 80,
      "cleanedStartLine" : 39,
      "cleanedEndLine" : 47
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryNodeExecuteSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 307,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 276,
      "startLine" : 25,
      "endLine" : 37,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 13
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryNodeExecuteSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 307,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 276,
      "startLine" : 91,
      "endLine" : 103,
      "cleanedStartLine" : 61,
      "cleanedEndLine" : 69
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-sql/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 57,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 45,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "agents/agents-mcp/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 41,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 31,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 48,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 34,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 24,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-ext/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 36,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "embeddings/embeddings-base/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 33,
        "components" : [ "primary::embeddings" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-acp/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 26,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-cached/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 35,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/NodeUniquenessCheckpointTest.kt",
        "extension" : "kt",
        "linesOfCode" : 99,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 71,
      "startLine" : 85,
      "endLine" : 96,
      "cleanedStartLine" : 35,
      "cleanedEndLine" : 43
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/SimpleGraphCheckpointTest.kt",
        "extension" : "kt",
        "linesOfCode" : 128,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 96,
      "startLine" : 91,
      "endLine" : 102,
      "cleanedStartLine" : 36,
      "cleanedEndLine" : 44
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageRemoteWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 816,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 671,
      "startLine" : 472,
      "endLine" : 480,
      "cleanedStartLine" : 313,
      "cleanedEndLine" : 321
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageRemoteWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 816,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 671,
      "startLine" : 504,
      "endLine" : 512,
      "cleanedStartLine" : 345,
      "cleanedEndLine" : 353
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 39,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "agents/agents-utils/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 28,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-cache/prompt-cache-redis/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 35,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 48,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-llm/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 20,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 14,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-structure/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 39,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "koog-ktor/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 58,
        "components" : [ "primary::koog-ktor" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 40,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 31,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-planner/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 36,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "rag/rag-base/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 32,
        "components" : [ "primary::rag" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-cached/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 35,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "rag/rag-base/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 32,
        "components" : [ "primary::rag" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "koog-ktor/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 58,
        "components" : [ "primary::koog-ktor" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 40,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 30,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 20,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-cache/prompt-cache-redis/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 35,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "rag/vector-storage/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 35,
        "components" : [ "primary::rag" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-transport/a2a-transport-core-jsonrpc/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 37,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "rag/vector-storage/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 35,
        "components" : [ "primary::rag" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "koog-ktor/src/commonMain/kotlin/ai/koog/ktor/KoogAgentsConfig.kt",
        "extension" : "kt",
        "linesOfCode" : 362,
        "components" : [ "primary::koog-ktor" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 264,
      "startLine" : 507,
      "endLine" : 527,
      "cleanedStartLine" : 80,
      "cleanedEndLine" : 88
    }, {
      "file" : {
        "relativePath" : "koog-ktor/src/commonMain/kotlin/ai/koog/ktor/KoogAgentsConfig.kt",
        "extension" : "kt",
        "linesOfCode" : 362,
        "components" : [ "primary::koog-ktor" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 264,
      "startLine" : 591,
      "endLine" : 607,
      "cleanedStartLine" : 94,
      "cleanedEndLine" : 102
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmMain/kotlin/ai/koog/agents/core/agent/config/AIAgentConfig.kt",
        "extension" : "kt",
        "linesOfCode" : 90,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 79,
      "startLine" : 1,
      "endLine" : 18,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/wasmJsMain/kotlin/ai/koog/agents/core/agent/config/AIAgentConfig.kt",
        "extension" : "kt",
        "linesOfCode" : 32,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 1,
      "endLine" : 16,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerTest.kt",
        "extension" : "kt",
        "linesOfCode" : 521,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 437,
      "startLine" : 149,
      "endLine" : 159,
      "cleanedStartLine" : 58,
      "cleanedEndLine" : 66
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageLogWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 480,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 396,
      "startLine" : 449,
      "endLine" : 459,
      "cleanedStartLine" : 309,
      "cleanedEndLine" : 317
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-sql/src/jvmTest/kotlin/ai/koog/agents/features/sql/providers/ExposedPersistenceFilterPostgresTest.kt",
        "extension" : "kt",
        "linesOfCode" : 133,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 99,
      "startLine" : 135,
      "endLine" : 143,
      "cleanedStartLine" : 75,
      "cleanedEndLine" : 83
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-sql/src/jvmTest/kotlin/ai/koog/agents/features/sql/providers/SQLPersistenceProvidersTest.kt",
        "extension" : "kt",
        "linesOfCode" : 129,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 107,
      "startLine" : 165,
      "endLine" : 173,
      "cleanedStartLine" : 99,
      "cleanedEndLine" : 107
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-utils/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 28,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 51,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-tokenizer/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 44,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 51,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/mistralai/MistralAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 145,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 133,
      "startLine" : 134,
      "endLine" : 142,
      "cleanedStartLine" : 90,
      "cleanedEndLine" : 98
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 381,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 343,
      "startLine" : 422,
      "endLine" : 430,
      "cleanedStartLine" : 289,
      "cleanedEndLine" : 297
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/tool/file/render/TextTest.kt",
        "extension" : "kt",
        "linesOfCode" : 760,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 714,
      "startLine" : 164,
      "endLine" : 172,
      "cleanedStartLine" : 125,
      "cleanedEndLine" : 133
    }, {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/tool/file/render/TextTest.kt",
        "extension" : "kt",
        "linesOfCode" : 760,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 714,
      "startLine" : 204,
      "endLine" : 212,
      "cleanedStartLine" : 160,
      "cleanedEndLine" : 168
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerStreamingTest.kt",
        "extension" : "kt",
        "linesOfCode" : 347,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 262,
      "startLine" : 82,
      "endLine" : 91,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 24
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerTest.kt",
        "extension" : "kt",
        "linesOfCode" : 521,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 437,
      "startLine" : 104,
      "endLine" : 113,
      "cleanedStartLine" : 21,
      "cleanedEndLine" : 29
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "embeddings/embeddings-base/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 33,
        "components" : [ "primary::embeddings" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-tokenizer/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 36,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 24,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/google/GoogleLLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 653,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 482,
      "startLine" : 259,
      "endLine" : 267,
      "cleanedStartLine" : 118,
      "cleanedEndLine" : 126
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAILLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 711,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 554,
      "startLine" : 495,
      "endLine" : 503,
      "cleanedStartLine" : 286,
      "cleanedEndLine" : 294
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-tokenizer/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 44,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 30,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 20,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-tokenizer/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 44,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "embeddings/embeddings-llm/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 44,
        "components" : [ "primary::embeddings" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/SubgraphSetExecutionPointTest.kt",
        "extension" : "kt",
        "linesOfCode" : 176,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 143,
      "startLine" : 110,
      "endLine" : 121,
      "cleanedStartLine" : 79,
      "cleanedEndLine" : 87
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/SubgraphSetExecutionPointTest.kt",
        "extension" : "kt",
        "linesOfCode" : 176,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 143,
      "startLine" : 164,
      "endLine" : 175,
      "cleanedStartLine" : 123,
      "cleanedEndLine" : 131
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/SubgraphSetExecutionPointTest.kt",
        "extension" : "kt",
        "linesOfCode" : 176,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 143,
      "startLine" : 110,
      "endLine" : 121,
      "cleanedStartLine" : 79,
      "cleanedEndLine" : 87
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/SubgraphSetExecutionPointTest.kt",
        "extension" : "kt",
        "linesOfCode" : 176,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 143,
      "startLine" : 137,
      "endLine" : 148,
      "cleanedStartLine" : 101,
      "cleanedEndLine" : 109
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/dsl/extension/ParallelNodesMergeContextTest.kt",
        "extension" : "kt",
        "linesOfCode" : 133,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 95,
      "startLine" : 98,
      "endLine" : 112,
      "cleanedStartLine" : 56,
      "cleanedEndLine" : 64
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/dsl/extension/ParallelNodesMergeContextTest.kt",
        "extension" : "kt",
        "linesOfCode" : 133,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 95,
      "startLine" : 124,
      "endLine" : 138,
      "cleanedStartLine" : 72,
      "cleanedEndLine" : 80
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-transport/a2a-transport-client-jsonrpc-http/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 44,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 51,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-cached/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 35,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-llms-all/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 50,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 40,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 39,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-markdown/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 27,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 17,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-transport/a2a-transport-core-jsonrpc/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 37,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "agents/agents-test/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 39,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/model/events/llmCallEvents.kt",
        "extension" : "kt",
        "linesOfCode" : 93,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 84,
      "startLine" : 30,
      "endLine" : 43,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 12
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/model/events/llmStreamingEvents.kt",
        "extension" : "kt",
        "linesOfCode" : 136,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 125,
      "startLine" : 27,
      "endLine" : 40,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 12
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-event-handler/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 33,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 23,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-cache/prompt-cache-model/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 26,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rag/rag-base/src/jvmTest/kotlin/ai/koog/rag/base/files/JVMFileSystemProviderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 933,
        "components" : [ "primary::rag" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 724,
      "startLine" : 614,
      "endLine" : 626,
      "cleanedStartLine" : 378,
      "cleanedEndLine" : 386
    }, {
      "file" : {
        "relativePath" : "rag/rag-base/src/jvmTest/kotlin/ai/koog/rag/base/files/JVMFileSystemProviderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 933,
        "components" : [ "primary::rag" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 724,
      "startLine" : 713,
      "endLine" : 725,
      "cleanedStartLine" : 440,
      "cleanedEndLine" : 448
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-transport/a2a-transport-core-jsonrpc/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 37,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 29,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 19,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-mcp/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 41,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 31,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-cached/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 35,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-mcp/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 41,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 31,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-llms-all/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 50,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 40,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-transport/a2a-transport-client-jsonrpc-http/src/commonTest/kotlin/ai/koog/a2a/transport/client/jsonrpc/http/HttpJSONRPCClientTransportTest.kt",
        "extension" : "kt",
        "linesOfCode" : 389,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 327,
      "startLine" : 114,
      "endLine" : 122,
      "cleanedStartLine" : 51,
      "cleanedEndLine" : 59
    }, {
      "file" : {
        "relativePath" : "a2a/a2a-transport/a2a-transport-server-jsonrpc-http/src/jvmTest/kotlin/ai/koog/a2a/transport/server/jsonrpc/http/HttpJSONRPCServerTransportTest.kt",
        "extension" : "kt",
        "linesOfCode" : 547,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 452,
      "startLine" : 68,
      "endLine" : 76,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 24
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-transport/a2a-transport-core-jsonrpc/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 37,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 51,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-event-handler/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 33,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 23,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 29,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 19,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-server/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 50,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-cache/prompt-cache-model/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 26,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-planner/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 36,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-cache/prompt-cache-model/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 26,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-server/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 50,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openrouter-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 25,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 17,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 846,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 674,
      "startLine" : 430,
      "endLine" : 438,
      "cleanedStartLine" : 264,
      "cleanedEndLine" : 272
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 846,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 674,
      "startLine" : 476,
      "endLine" : 484,
      "cleanedStartLine" : 303,
      "cleanedEndLine" : 311
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "koog-ktor/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 58,
        "components" : [ "primary::koog-ktor" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 40,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-processor/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 38,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-a2a-server/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 32,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "koog-ktor/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 58,
        "components" : [ "primary::koog-ktor" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 40,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-transport/a2a-transport-server-jsonrpc-http/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 41,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-a2a-server/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 32,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 51,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-processor/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 38,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-cache/prompt-cache-redis/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 35,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 29,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 19,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 30,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 20,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-llms-all/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 50,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 40,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-tokenizer/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 44,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-llms-all/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 50,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 40,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryNodeExecuteSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 307,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 276,
      "startLine" : 133,
      "endLine" : 141,
      "cleanedStartLine" : 96,
      "cleanedEndLine" : 104
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryNodeExecuteSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 307,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 276,
      "startLine" : 266,
      "endLine" : 274,
      "cleanedStartLine" : 210,
      "cleanedEndLine" : 218
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-test/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 39,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "agents/agents-utils/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 28,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 381,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 343,
      "startLine" : 33,
      "endLine" : 41,
      "cleanedStartLine" : 18,
      "cleanedEndLine" : 26
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openrouter-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openrouter/OpenRouterParams.kt",
        "extension" : "kt",
        "linesOfCode" : 197,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 177,
      "startLine" : 10,
      "endLine" : 18,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 13
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-test/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 39,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "koog-ktor/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 58,
        "components" : [ "primary::koog-ktor" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 40,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-transport/a2a-transport-server-jsonrpc-http/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 41,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 31,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-transport/a2a-transport-core-jsonrpc/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 37,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-deepseek-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 29,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 19,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-transport/a2a-transport-core-jsonrpc/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 37,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-tokenizer/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 44,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-transport/a2a-transport-core-jsonrpc/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 37,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "koog-ktor/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 58,
        "components" : [ "primary::koog-ktor" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 40,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-tokenizer/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 44,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 46,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 34,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-acp/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 26,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 48,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-sql/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 57,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 45,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 30,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 20,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-planner/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 36,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 29,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 19,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicLLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 524,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 393,
      "startLine" : 159,
      "endLine" : 167,
      "cleanedStartLine" : 54,
      "cleanedEndLine" : 62
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client-base/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/base/AbstractOpenAILLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 412,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 304,
      "startLine" : 257,
      "endLine" : 265,
      "cleanedStartLine" : 125,
      "cleanedEndLine" : 133
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 51,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 29,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 19,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-a2a-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 32,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "rag/vector-storage/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 35,
        "components" : [ "primary::rag" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-deepseek-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/deepseek/DeepSeekParams.kt",
        "extension" : "kt",
        "linesOfCode" : 143,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 9,
      "endLine" : 17,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 13
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/mistralai/MistralAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 145,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 133,
      "startLine" : 9,
      "endLine" : 17,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 13
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 46,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 34,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-structure/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 39,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-deepseek-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 29,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 19,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-llms-all/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 50,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 40,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 335,
      "endLine" : 357,
      "cleanedStartLine" : 170,
      "cleanedEndLine" : 178
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 369,
      "endLine" : 388,
      "cleanedStartLine" : 190,
      "cleanedEndLine" : 198
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 47,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "agents/agents-utils/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 28,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-transport/a2a-transport-client-jsonrpc-http/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 44,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-structure/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 39,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-a2a-core/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 31,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 39,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-tokenizer/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 36,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 24,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "rag/vector-storage/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 35,
        "components" : [ "primary::rag" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/AIAgentServiceBuilderImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 114,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 88,
      "startLine" : 85,
      "endLine" : 94,
      "cleanedStartLine" : 42,
      "cleanedEndLine" : 50
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/AIAgentServiceBuilderImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 114,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 88,
      "startLine" : 101,
      "endLine" : 109,
      "cleanedStartLine" : 55,
      "cleanedEndLine" : 63
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-deepseek-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 29,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 19,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 31,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/appleMain/kotlin/ai/koog/agents/core/agent/session/AIAgentLLMWriteSession.kt",
        "extension" : "kt",
        "linesOfCode" : 61,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 45,
      "startLine" : 27,
      "endLine" : 35,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/session/AIAgentLLMWriteSession.kt",
        "extension" : "kt",
        "linesOfCode" : 188,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 155,
      "startLine" : 62,
      "endLine" : 70,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 16
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jsMain/kotlin/ai/koog/agents/core/agent/config/AIAgentConfig.kt",
        "extension" : "kt",
        "linesOfCode" : 32,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 1,
      "endLine" : 16,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmMain/kotlin/ai/koog/agents/core/agent/config/AIAgentConfig.kt",
        "extension" : "kt",
        "linesOfCode" : 90,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 79,
      "startLine" : 1,
      "endLine" : 18,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-cache/prompt-cache-model/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 26,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-cached/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 35,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-transport/a2a-transport-client-jsonrpc-http/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 44,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "koog-ktor/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 58,
        "components" : [ "primary::koog-ktor" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 40,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-a2a-core/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 31,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 34,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 24,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/debugger/Debugger.kt",
        "extension" : "kt",
        "linesOfCode" : 399,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 318,
      "startLine" : 244,
      "endLine" : 252,
      "cleanedStartLine" : 111,
      "cleanedEndLine" : 119
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/debugger/Debugger.kt",
        "extension" : "kt",
        "linesOfCode" : 399,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 318,
      "startLine" : 314,
      "endLine" : 322,
      "cleanedStartLine" : 167,
      "cleanedEndLine" : 175
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 39,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "embeddings/embeddings-llm/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 44,
        "components" : [ "primary::embeddings" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 41,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-cache/prompt-cache-redis/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 35,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-mcp/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 41,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 31,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "embeddings/embeddings-llm/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 44,
        "components" : [ "primary::embeddings" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 39,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-llms-all/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 50,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 40,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/appleMain/kotlin/ai/koog/agents/core/agent/config/AIAgentConfig.kt",
        "extension" : "kt",
        "linesOfCode" : 32,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 1,
      "endLine" : 16,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmMain/kotlin/ai/koog/agents/core/agent/config/AIAgentConfig.kt",
        "extension" : "kt",
        "linesOfCode" : 90,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 79,
      "startLine" : 1,
      "endLine" : 18,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-llms-all/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 50,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 40,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-structure/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 39,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-cached/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 35,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 46,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 34,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/debugger/Debugger.kt",
        "extension" : "kt",
        "linesOfCode" : 399,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 318,
      "startLine" : 244,
      "endLine" : 252,
      "cleanedStartLine" : 111,
      "cleanedEndLine" : 119
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/debugger/Debugger.kt",
        "extension" : "kt",
        "linesOfCode" : 399,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 318,
      "startLine" : 275,
      "endLine" : 283,
      "cleanedStartLine" : 134,
      "cleanedEndLine" : 142
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-llms-all/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 50,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 40,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 34,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 24,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-transport/a2a-transport-server-jsonrpc-http/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 41,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "embeddings/embeddings-llm/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 44,
        "components" : [ "primary::embeddings" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-deepseek-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/deepseek/DeepSeekParams.kt",
        "extension" : "kt",
        "linesOfCode" : 143,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 95,
      "endLine" : 103,
      "cleanedStartLine" : 56,
      "cleanedEndLine" : 64
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/google/GoogleParams.kt",
        "extension" : "kt",
        "linesOfCode" : 115,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 103,
      "startLine" : 77,
      "endLine" : 85,
      "cleanedStartLine" : 44,
      "cleanedEndLine" : 52
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-deepseek-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 29,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 19,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "rag/rag-base/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 32,
        "components" : [ "primary::rag" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-tokenizer/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 44,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client-base/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 40,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 28,
      "startLine" : 3,
      "endLine" : 13,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-tokenizer/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 36,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 24,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "rag/rag-base/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 32,
        "components" : [ "primary::rag" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-a2a-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 32,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client-base/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 40,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 28,
      "startLine" : 3,
      "endLine" : 13,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 39,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-structure/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 39,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "embeddings/embeddings-base/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 33,
        "components" : [ "primary::embeddings" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "embeddings/embeddings-llm/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 44,
        "components" : [ "primary::embeddings" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-server/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 50,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-llms-all/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 50,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 40,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-sql/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 57,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 45,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-structure/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 39,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 41,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "koog-ktor/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 58,
        "components" : [ "primary::koog-ktor" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 40,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicToolSerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 156,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 135,
      "startLine" : 78,
      "endLine" : 86,
      "cleanedStartLine" : 48,
      "cleanedEndLine" : 56
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/google/GoogleLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 480,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 432,
      "startLine" : 111,
      "endLine" : 119,
      "cleanedStartLine" : 68,
      "cleanedEndLine" : 76
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "embeddings/embeddings-llm/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 44,
        "components" : [ "primary::embeddings" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-processor/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 38,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-cache/prompt-cache-files/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 26,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 51,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 47,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "rag/rag-base/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 32,
        "components" : [ "primary::rag" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-server/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 50,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-acp/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 26,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-a2a-server/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 32,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-structure/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 39,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-planner/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 36,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "agents/agents-utils/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 28,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerTest.kt",
        "extension" : "kt",
        "linesOfCode" : 521,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 437,
      "startLine" : 149,
      "endLine" : 159,
      "cleanedStartLine" : 58,
      "cleanedEndLine" : 66
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageRemoteWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 816,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 671,
      "startLine" : 239,
      "endLine" : 249,
      "cleanedStartLine" : 109,
      "cleanedEndLine" : 117
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-mcp/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 41,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 31,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "agents/agents-planner/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 36,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 41,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 51,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-memory/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 37,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-cache/prompt-cache-files/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 26,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-acp/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 26,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-tokenizer/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 36,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 24,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-server/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 50,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "rag/rag-base/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 32,
        "components" : [ "primary::rag" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicModels.kt",
        "extension" : "kt",
        "linesOfCode" : 195,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 178,
      "startLine" : 224,
      "endLine" : 232,
      "cleanedStartLine" : 110,
      "cleanedEndLine" : 118
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicModels.kt",
        "extension" : "kt",
        "linesOfCode" : 195,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 178,
      "startLine" : 250,
      "endLine" : 258,
      "cleanedStartLine" : 125,
      "cleanedEndLine" : 133
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-tools/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 38,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 34,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 24,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-transport/a2a-transport-server-jsonrpc-http/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 41,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 34,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 24,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/commonTest/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicSerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 335,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 278,
      "startLine" : 117,
      "endLine" : 127,
      "cleanedStartLine" : 70,
      "cleanedEndLine" : 78
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/commonTest/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicSerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 335,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 278,
      "startLine" : 149,
      "endLine" : 159,
      "cleanedStartLine" : 95,
      "cleanedEndLine" : 103
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 30,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 20,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client-base/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 40,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 28,
      "startLine" : 3,
      "endLine" : 13,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-utils/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 28,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 46,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 34,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-event-handler/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 33,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 23,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 31,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-memory/src/jvmTest/kotlin/ai/koog/agents/memory/MemoryNodesTest.kt",
        "extension" : "kt",
        "linesOfCode" : 418,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 327,
      "startLine" : 311,
      "endLine" : 320,
      "cleanedStartLine" : 192,
      "cleanedEndLine" : 200
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-memory/src/jvmTest/kotlin/ai/koog/agents/memory/MemoryNodesTest.kt",
        "extension" : "kt",
        "linesOfCode" : 418,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 327,
      "startLine" : 388,
      "endLine" : 397,
      "cleanedStartLine" : 250,
      "cleanedEndLine" : 258
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/androidMain/kotlin/ai/koog/agents/core/agent/context/AIAgentLLMContext.kt",
        "extension" : "kt",
        "linesOfCode" : 32,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 21,
      "endLine" : 29,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/context/AIAgentLLMContextImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 105,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 85,
      "startLine" : 36,
      "endLine" : 44,
      "cleanedStartLine" : 18,
      "cleanedEndLine" : 26
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-structure/src/commonTest/kotlin/ai/koog/prompt/structure/markdown/MarkdownStructureDefinitionTest.kt",
        "extension" : "kt",
        "linesOfCode" : 79,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 68,
      "startLine" : 19,
      "endLine" : 31,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 18
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-structure/src/commonTest/kotlin/ai/koog/prompt/structure/markdown/MarkdownStructureDefinitionTest.kt",
        "extension" : "kt",
        "linesOfCode" : 79,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 68,
      "startLine" : 50,
      "endLine" : 62,
      "cleanedStartLine" : 31,
      "cleanedEndLine" : 39
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerStreamingTest.kt",
        "extension" : "kt",
        "linesOfCode" : 347,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 262,
      "startLine" : 146,
      "endLine" : 159,
      "cleanedStartLine" : 62,
      "cleanedEndLine" : 70
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerTestAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 281,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 212,
      "startLine" : 107,
      "endLine" : 120,
      "cleanedStartLine" : 37,
      "cleanedEndLine" : 45
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-server/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 50,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "agents/agents-ext/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 36,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-llms-all/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 50,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 40,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "rag/vector-storage/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 35,
        "components" : [ "primary::rag" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "embeddings/embeddings-base/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 33,
        "components" : [ "primary::embeddings" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "rag/rag-base/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 32,
        "components" : [ "primary::rag" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/dashscope/DashscopeParams.kt",
        "extension" : "kt",
        "linesOfCode" : 159,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 144,
      "startLine" : 101,
      "endLine" : 109,
      "cleanedStartLine" : 59,
      "cleanedEndLine" : 67
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/google/GoogleParams.kt",
        "extension" : "kt",
        "linesOfCode" : 115,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 103,
      "startLine" : 77,
      "endLine" : 85,
      "cleanedStartLine" : 44,
      "cleanedEndLine" : 52
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-tokenizer/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 44,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-structure/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 39,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/mistralai/MistralAILLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 248,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 184,
      "startLine" : 262,
      "endLine" : 270,
      "cleanedStartLine" : 142,
      "cleanedEndLine" : 150
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAILLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 711,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 554,
      "startLine" : 495,
      "endLine" : 503,
      "cleanedStartLine" : 286,
      "cleanedEndLine" : 294
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/dashscope/DashscopeParams.kt",
        "extension" : "kt",
        "linesOfCode" : 159,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 144,
      "startLine" : 9,
      "endLine" : 17,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 13
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/mistralai/MistralAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 145,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 133,
      "startLine" : 9,
      "endLine" : 17,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 13
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "koog-ktor/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 58,
        "components" : [ "primary::koog-ktor" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 40,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-deepseek-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 29,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 19,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-tools/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 38,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 46,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 34,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/context/AIAgentLLMContext.kt",
        "extension" : "kt",
        "linesOfCode" : 86,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 72,
      "startLine" : 133,
      "endLine" : 141,
      "cleanedStartLine" : 49,
      "cleanedEndLine" : 57
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/wasmJsMain/kotlin/ai/koog/agents/core/agent/context/AIAgentLLMContext.kt",
        "extension" : "kt",
        "linesOfCode" : 32,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 21,
      "endLine" : 29,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 16
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-a2a-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 32,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "koog-ktor/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 58,
        "components" : [ "primary::koog-ktor" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 40,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-processor/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 38,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-tokenizer/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 36,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 24,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-transport/a2a-transport-server-jsonrpc-http/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 41,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 48,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "koog-ktor/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 58,
        "components" : [ "primary::koog-ktor" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 40,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 34,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 24,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-cache/prompt-cache-redis/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 35,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "rag/rag-base/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 32,
        "components" : [ "primary::rag" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-transport/a2a-transport-core-jsonrpc/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 37,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-llms-all/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 50,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 40,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 31,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "rag/vector-storage/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 35,
        "components" : [ "primary::rag" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-transport/a2a-transport-client-jsonrpc-http/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 44,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 31,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "koog-ktor/src/commonMain/kotlin/ai/koog/ktor/KoogAgentsConfig.kt",
        "extension" : "kt",
        "linesOfCode" : 362,
        "components" : [ "primary::koog-ktor" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 264,
      "startLine" : 845,
      "endLine" : 859,
      "cleanedStartLine" : 145,
      "cleanedEndLine" : 153
    }, {
      "file" : {
        "relativePath" : "koog-ktor/src/commonMain/kotlin/ai/koog/ktor/KoogAgentsConfig.kt",
        "extension" : "kt",
        "linesOfCode" : 362,
        "components" : [ "primary::koog-ktor" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 264,
      "startLine" : 897,
      "endLine" : 912,
      "cleanedStartLine" : 157,
      "cleanedEndLine" : 165
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-transport/a2a-transport-client-jsonrpc-http/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 44,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 29,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 19,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-a2a-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 32,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 34,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 24,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-utils/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 28,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-cache/prompt-cache-model/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 26,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-transport/a2a-transport-client-jsonrpc-http/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 44,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-deepseek-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 29,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 19,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-transport/a2a-transport-server-jsonrpc-http/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 41,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-llm/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 20,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 14,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-planner/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 36,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "koog-ktor/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 58,
        "components" : [ "primary::koog-ktor" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 40,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 39,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "rag/rag-base/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 32,
        "components" : [ "primary::rag" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/feature/message/FeatureMessageProcessorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 313,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 270,
      "startLine" : 164,
      "endLine" : 175,
      "cleanedStartLine" : 87,
      "cleanedEndLine" : 95
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/feature/message/FeatureMessageProcessorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 313,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 270,
      "startLine" : 289,
      "endLine" : 299,
      "cleanedStartLine" : 186,
      "cleanedEndLine" : 194
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 31,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-llm/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 20,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 14,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 46,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 34,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "rag/rag-base/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 32,
        "components" : [ "primary::rag" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "koog-ktor/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 58,
        "components" : [ "primary::koog-ktor" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 40,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openrouter-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 25,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 17,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-tokenizer/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 44,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "embeddings/embeddings-base/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 33,
        "components" : [ "primary::embeddings" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/CheckpointsTests.kt",
        "extension" : "kt",
        "linesOfCode" : 793,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 646,
      "startLine" : 154,
      "endLine" : 165,
      "cleanedStartLine" : 69,
      "cleanedEndLine" : 77
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/CheckpointsTests.kt",
        "extension" : "kt",
        "linesOfCode" : 793,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 646,
      "startLine" : 295,
      "endLine" : 306,
      "cleanedStartLine" : 171,
      "cleanedEndLine" : 179
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-transport/a2a-transport-server-jsonrpc-http/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 41,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "agents/agents-mcp/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 41,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 31,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 41,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-structure/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 39,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-ollama-client/src/commonTest/kotlin/ai/koog/prompt/executor/ollama/client/ContextWindowStrategyTest.kt",
        "extension" : "kt",
        "linesOfCode" : 196,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 162,
      "startLine" : 58,
      "endLine" : 69,
      "cleanedStartLine" : 25,
      "cleanedEndLine" : 33
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-ollama-client/src/commonTest/kotlin/ai/koog/prompt/executor/ollama/client/ContextWindowStrategyTest.kt",
        "extension" : "kt",
        "linesOfCode" : 196,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 162,
      "startLine" : 87,
      "endLine" : 98,
      "cleanedStartLine" : 48,
      "cleanedEndLine" : 56
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "embeddings/embeddings-base/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 33,
        "components" : [ "primary::embeddings" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 51,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-utils/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 28,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-llm/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 20,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 14,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-memory/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 37,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "agents/agents-mcp/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 41,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 31,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-cached/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 35,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-deepseek-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 29,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 19,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-ollama-client/src/commonTest/kotlin/ai/koog/prompt/executor/ollama/client/ContextWindowStrategyTest.kt",
        "extension" : "kt",
        "linesOfCode" : 196,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 162,
      "startLine" : 58,
      "endLine" : 69,
      "cleanedStartLine" : 25,
      "cleanedEndLine" : 33
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-ollama-client/src/commonTest/kotlin/ai/koog/prompt/executor/ollama/client/ContextWindowStrategyTest.kt",
        "extension" : "kt",
        "linesOfCode" : 196,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 162,
      "startLine" : 113,
      "endLine" : 124,
      "cleanedStartLine" : 68,
      "cleanedEndLine" : 76
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-deepseek-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/deepseek/models/DeepSeekSerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 327,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 263,
      "startLine" : 65,
      "endLine" : 79,
      "cleanedStartLine" : 38,
      "cleanedEndLine" : 46
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-deepseek-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/deepseek/models/DeepSeekSerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 327,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 263,
      "startLine" : 215,
      "endLine" : 229,
      "cleanedStartLine" : 155,
      "cleanedEndLine" : 163
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-tokenizer/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 44,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "agents/agents-utils/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 28,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicLLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 524,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 393,
      "startLine" : 159,
      "endLine" : 167,
      "cleanedStartLine" : 54,
      "cleanedEndLine" : 62
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/google/GoogleLLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 653,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 482,
      "startLine" : 259,
      "endLine" : 267,
      "cleanedStartLine" : 118,
      "cleanedEndLine" : 126
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-a2a-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 32,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-llm/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 20,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 14,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-server/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 50,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "a2a/a2a-transport/a2a-transport-client-jsonrpc-http/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 44,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/google/GoogleParams.kt",
        "extension" : "kt",
        "linesOfCode" : 115,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 103,
      "startLine" : 10,
      "endLine" : 18,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 13
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/mistralai/MistralAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 145,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 133,
      "startLine" : 9,
      "endLine" : 17,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 13
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 47,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-cached/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 35,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-event-handler/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 33,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 23,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "rag/rag-base/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 32,
        "components" : [ "primary::rag" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/dashscope/models/DashscopeSerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 453,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 372,
      "startLine" : 29,
      "endLine" : 43,
      "cleanedStartLine" : 12,
      "cleanedEndLine" : 20
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/dashscope/models/DashscopeSerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 453,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 372,
      "startLine" : 67,
      "endLine" : 81,
      "cleanedStartLine" : 41,
      "cleanedEndLine" : 49
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-cache/prompt-cache-redis/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 35,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-llms-all/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 50,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 40,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/session/AIAgentLLMWriteSession.kt",
        "extension" : "kt",
        "linesOfCode" : 188,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 155,
      "startLine" : 62,
      "endLine" : 70,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmMain/kotlin/ai/koog/agents/core/agent/session/AIAgentLLMWriteSession.kt",
        "extension" : "kt",
        "linesOfCode" : 198,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 156,
      "startLine" : 38,
      "endLine" : 46,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-sql/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 57,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 45,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "embeddings/embeddings-base/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 33,
        "components" : [ "primary::embeddings" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-a2a-server/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 32,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 34,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 24,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/dashscope/DashscopeParams.kt",
        "extension" : "kt",
        "linesOfCode" : 159,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 144,
      "startLine" : 142,
      "endLine" : 150,
      "cleanedStartLine" : 99,
      "cleanedEndLine" : 107
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openrouter-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openrouter/OpenRouterParams.kt",
        "extension" : "kt",
        "linesOfCode" : 197,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 177,
      "startLine" : 177,
      "endLine" : 185,
      "cleanedStartLine" : 121,
      "cleanedEndLine" : 129
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-a2a-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 32,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 51,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-ollama-client/src/commonTest/kotlin/ai/koog/prompt/executor/ollama/client/dto/OllamaSerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 154,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 131,
      "startLine" : 27,
      "endLine" : 35,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-ollama-client/src/commonTest/kotlin/ai/koog/prompt/executor/ollama/client/dto/OllamaSerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 154,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 131,
      "startLine" : 56,
      "endLine" : 64,
      "cleanedStartLine" : 32,
      "cleanedEndLine" : 40
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-server/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 50,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 46,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 34,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 39,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 51,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client-base/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 40,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 28,
      "startLine" : 3,
      "endLine" : 13,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-llms-all/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 50,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 40,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/google/GoogleLLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 653,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 482,
      "startLine" : 259,
      "endLine" : 267,
      "cleanedStartLine" : 118,
      "cleanedEndLine" : 126
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAILLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 711,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 554,
      "startLine" : 531,
      "endLine" : 539,
      "cleanedStartLine" : 307,
      "cleanedEndLine" : 315
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-utils/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 28,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-processor/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 38,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-cached/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 35,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 30,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 20,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-transport/a2a-transport-server-jsonrpc-http/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 41,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-a2a-core/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 31,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-test/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 39,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-processor/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 38,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-tools/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 38,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-deepseek-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 29,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 19,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-transport/a2a-transport-client-jsonrpc-http/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 44,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "agents/agents-mcp/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 41,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 31,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 29,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 19,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "rag/vector-storage/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 35,
        "components" : [ "primary::rag" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-a2a-server/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 32,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 30,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 20,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-test/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 39,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-cache/prompt-cache-files/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 26,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/SubgraphSetExecutionPointTest.kt",
        "extension" : "kt",
        "linesOfCode" : 176,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 143,
      "startLine" : 33,
      "endLine" : 44,
      "cleanedStartLine" : 17,
      "cleanedEndLine" : 25
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/SubgraphSetExecutionPointTest.kt",
        "extension" : "kt",
        "linesOfCode" : 176,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 143,
      "startLine" : 137,
      "endLine" : 148,
      "cleanedStartLine" : 101,
      "cleanedEndLine" : 109
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-tokenizer/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 44,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-cached/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 35,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/context/AIAgentLLMContextImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 105,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 85,
      "startLine" : 36,
      "endLine" : 44,
      "cleanedStartLine" : 18,
      "cleanedEndLine" : 26
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jsMain/kotlin/ai/koog/agents/core/agent/context/AIAgentLLMContext.kt",
        "extension" : "kt",
        "linesOfCode" : 32,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 21,
      "endLine" : 29,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 16
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-transport/a2a-transport-core-jsonrpc/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 37,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "agents/agents-tools/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 38,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/SubgraphSetExecutionPointTest.kt",
        "extension" : "kt",
        "linesOfCode" : 176,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 143,
      "startLine" : 33,
      "endLine" : 44,
      "cleanedStartLine" : 17,
      "cleanedEndLine" : 25
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/SubgraphSetExecutionPointTest.kt",
        "extension" : "kt",
        "linesOfCode" : 176,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 143,
      "startLine" : 164,
      "endLine" : 175,
      "cleanedStartLine" : 123,
      "cleanedEndLine" : 131
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-deepseek-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/deepseek/DeepSeekParams.kt",
        "extension" : "kt",
        "linesOfCode" : 143,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 130,
      "endLine" : 138,
      "cleanedStartLine" : 90,
      "cleanedEndLine" : 98
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/mistralai/MistralAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 145,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 133,
      "startLine" : 134,
      "endLine" : 142,
      "cleanedStartLine" : 90,
      "cleanedEndLine" : 98
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-cache/prompt-cache-files/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 26,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 34,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 24,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-mcp/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 41,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 31,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "agents/agents-utils/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 28,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-tools/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 38,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 30,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 20,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-event-handler/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 33,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 23,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-cache/prompt-cache-redis/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 35,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-memory/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 37,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-structure/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 39,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 31,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-structure/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 39,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryNodeExecuteSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 307,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 276,
      "startLine" : 133,
      "endLine" : 141,
      "cleanedStartLine" : 96,
      "cleanedEndLine" : 104
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetrySubgraphTest.kt",
        "extension" : "kt",
        "linesOfCode" : 334,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 313,
      "startLine" : 354,
      "endLine" : 362,
      "cleanedStartLine" : 296,
      "cleanedEndLine" : 304
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/StructuredOutputWithToolsIntegrationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 269,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 223,
      "startLine" : 45,
      "endLine" : 54,
      "cleanedStartLine" : 23,
      "cleanedEndLine" : 31
    }, {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/StructuredOutputWithToolsIntegrationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 269,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 223,
      "startLine" : 96,
      "endLine" : 105,
      "cleanedStartLine" : 65,
      "cleanedEndLine" : 73
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-a2a-core/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 31,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 41,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/StructuredOutputWithToolsIntegrationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 269,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 223,
      "startLine" : 45,
      "endLine" : 54,
      "cleanedStartLine" : 23,
      "cleanedEndLine" : 31
    }, {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/StructuredOutputWithToolsIntegrationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 269,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 223,
      "startLine" : 79,
      "endLine" : 88,
      "cleanedStartLine" : 51,
      "cleanedEndLine" : 59
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/StructuredOutputWithToolsIntegrationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 269,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 223,
      "startLine" : 45,
      "endLine" : 54,
      "cleanedStartLine" : 23,
      "cleanedEndLine" : 31
    }, {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/StructuredOutputWithToolsIntegrationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 269,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 223,
      "startLine" : 62,
      "endLine" : 71,
      "cleanedStartLine" : 37,
      "cleanedEndLine" : 45
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-test/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 39,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 48,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-event-handler/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 33,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 23,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "embeddings/embeddings-base/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 33,
        "components" : [ "primary::embeddings" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-a2a-core/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 31,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-deepseek-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 29,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 19,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "embeddings/embeddings-llm/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 44,
        "components" : [ "primary::embeddings" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-cache/prompt-cache-files/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 26,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/androidMain/kotlin/ai/koog/agents/core/agent/context/AIAgentLLMContext.kt",
        "extension" : "kt",
        "linesOfCode" : 32,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 21,
      "endLine" : 29,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/context/AIAgentLLMContext.kt",
        "extension" : "kt",
        "linesOfCode" : 86,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 72,
      "startLine" : 133,
      "endLine" : 141,
      "cleanedStartLine" : 49,
      "cleanedEndLine" : 57
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-sql/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 57,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 45,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-deepseek-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 29,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 19,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/jvmTest/kotlin/ai/koog/prompt/JavaAPIPromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 296,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 262,
      "startLine" : 231,
      "endLine" : 242,
      "cleanedStartLine" : 161,
      "cleanedEndLine" : 169
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/jvmTest/kotlin/ai/koog/prompt/JavaAPIPromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 296,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 262,
      "startLine" : 267,
      "endLine" : 278,
      "cleanedStartLine" : 191,
      "cleanedEndLine" : 199
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-llm/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 20,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 14,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 34,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 24,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-a2a-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 32,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openrouter-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 25,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 17,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 30,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 20,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-processor/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 38,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicParams.kt",
        "extension" : "kt",
        "linesOfCode" : 154,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 135,
      "startLine" : 107,
      "endLine" : 115,
      "cleanedStartLine" : 58,
      "cleanedEndLine" : 66
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 381,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 343,
      "startLine" : 151,
      "endLine" : 159,
      "cleanedStartLine" : 80,
      "cleanedEndLine" : 88
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-transport/a2a-transport-core-jsonrpc/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 37,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-cache/prompt-cache-model/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 26,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-transport/a2a-transport-core-jsonrpc/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 37,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "embeddings/embeddings-llm/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 44,
        "components" : [ "primary::embeddings" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-transport/a2a-transport-server-jsonrpc-http/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 41,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-cache/prompt-cache-files/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 26,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-deepseek-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 29,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 19,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-structure/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 39,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 47,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 41,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 41,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-cache/prompt-cache-model/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 26,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-transport/a2a-transport-server-jsonrpc-http/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 41,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 29,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 19,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-transport/a2a-transport-client-jsonrpc-http/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 44,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-llm/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 20,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 14,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-a2a-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 32,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "embeddings/embeddings-base/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 33,
        "components" : [ "primary::embeddings" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/tool/file/EditFileToolCoreTest.kt",
        "extension" : "kt",
        "linesOfCode" : 235,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 214,
      "startLine" : 21,
      "endLine" : 32,
      "cleanedStartLine" : 6,
      "cleanedEndLine" : 14
    }, {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/tool/file/EditFileToolCoreTest.kt",
        "extension" : "kt",
        "linesOfCode" : 235,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 214,
      "startLine" : 43,
      "endLine" : 54,
      "cleanedStartLine" : 20,
      "cleanedEndLine" : 28
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-deepseek-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/deepseek/DeepSeekParams.kt",
        "extension" : "kt",
        "linesOfCode" : 143,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 9,
      "endLine" : 17,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 13
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openrouter-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openrouter/OpenRouterParams.kt",
        "extension" : "kt",
        "linesOfCode" : 197,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 177,
      "startLine" : 10,
      "endLine" : 18,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 13
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-tokenizer/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 44,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "agents/agents-tools/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 38,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-mcp/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 41,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 31,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 30,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 20,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 272,
      "endLine" : 284,
      "cleanedStartLine" : 178,
      "cleanedEndLine" : 186
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 867,
      "endLine" : 879,
      "cleanedStartLine" : 610,
      "cleanedEndLine" : 618
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-acp/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 26,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-llms-all/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 50,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 40,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "embeddings/embeddings-llm/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 44,
        "components" : [ "primary::embeddings" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-llms-all/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 50,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 40,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "http-client/http-client-ktor/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 30,
        "components" : [ "primary::http-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "test-utils/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 29,
        "components" : [ "primary::test-utils" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 1,
      "endLine" : 12,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-tokenizer/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 44,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "rag/vector-storage/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 35,
        "components" : [ "primary::rag" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/agent/AIAgentGenericTypesTest.kt",
        "extension" : "kt",
        "linesOfCode" : 90,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 69,
      "startLine" : 82,
      "endLine" : 90,
      "cleanedStartLine" : 46,
      "cleanedEndLine" : 54
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/agent/AIAgentGenericTypesTest.kt",
        "extension" : "kt",
        "linesOfCode" : 90,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 69,
      "startLine" : 94,
      "endLine" : 102,
      "cleanedStartLine" : 57,
      "cleanedEndLine" : 65
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-utils/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 28,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "rag/vector-storage/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 35,
        "components" : [ "primary::rag" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-a2a-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 32,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 30,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 20,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 47,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-llms-all/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 50,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 40,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicModels.kt",
        "extension" : "kt",
        "linesOfCode" : 195,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 178,
      "startLine" : 174,
      "endLine" : 182,
      "cleanedStartLine" : 80,
      "cleanedEndLine" : 88
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicModels.kt",
        "extension" : "kt",
        "linesOfCode" : 195,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 178,
      "startLine" : 199,
      "endLine" : 207,
      "cleanedStartLine" : 95,
      "cleanedEndLine" : 103
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-planner/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 36,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "rag/vector-storage/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 35,
        "components" : [ "primary::rag" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 328,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 286,
      "startLine" : 191,
      "endLine" : 199,
      "cleanedStartLine" : 119,
      "cleanedEndLine" : 127
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 846,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 674,
      "startLine" : 401,
      "endLine" : 409,
      "cleanedStartLine" : 241,
      "cleanedEndLine" : 249
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-memory/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 37,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "koog-ktor/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 58,
        "components" : [ "primary::koog-ktor" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 40,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-planner/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 36,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "embeddings/embeddings-llm/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 44,
        "components" : [ "primary::embeddings" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "koog-ktor/src/commonMain/kotlin/ai/koog/ktor/KoogAgentsConfig.kt",
        "extension" : "kt",
        "linesOfCode" : 362,
        "components" : [ "primary::koog-ktor" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 264,
      "startLine" : 649,
      "endLine" : 665,
      "cleanedStartLine" : 106,
      "cleanedEndLine" : 114
    }, {
      "file" : {
        "relativePath" : "koog-ktor/src/commonMain/kotlin/ai/koog/ktor/KoogAgentsConfig.kt",
        "extension" : "kt",
        "linesOfCode" : 362,
        "components" : [ "primary::koog-ktor" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 264,
      "startLine" : 792,
      "endLine" : 806,
      "cleanedStartLine" : 133,
      "cleanedEndLine" : 141
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-a2a-server/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 32,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 31,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rag/vector-storage/src/jvmTest/kotlin/ai/koog/rag/vector/JVMFileDocumentEmbeddingStorageTest.kt",
        "extension" : "kt",
        "linesOfCode" : 184,
        "components" : [ "primary::rag" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 148,
      "startLine" : 203,
      "endLine" : 212,
      "cleanedStartLine" : 133,
      "cleanedEndLine" : 141
    }, {
      "file" : {
        "relativePath" : "rag/vector-storage/src/jvmTest/kotlin/ai/koog/rag/vector/JVMTextFileDocumentEmbeddingStorageTest.kt",
        "extension" : "kt",
        "linesOfCode" : 234,
        "components" : [ "primary::rag" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 193,
      "startLine" : 203,
      "endLine" : 212,
      "cleanedStartLine" : 134,
      "cleanedEndLine" : 142
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/debugger/Debugger.kt",
        "extension" : "kt",
        "linesOfCode" : 399,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 318,
      "startLine" : 184,
      "endLine" : 192,
      "cleanedStartLine" : 69,
      "cleanedEndLine" : 77
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/commonMain/kotlin/ai/koog/agents/features/tracing/feature/Tracing.kt",
        "extension" : "kt",
        "linesOfCode" : 335,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 266,
      "startLine" : 148,
      "endLine" : 156,
      "cleanedStartLine" : 36,
      "cleanedEndLine" : 44
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-acp/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 26,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client-base/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 40,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 28,
      "startLine" : 3,
      "endLine" : 13,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmMain/kotlin/ai/koog/prompt/executor/clients/bedrock/BedrockLLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 542,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 401,
      "startLine" : 262,
      "endLine" : 271,
      "cleanedStartLine" : 119,
      "cleanedEndLine" : 127
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/mistralai/MistralAILLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 248,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 184,
      "startLine" : 196,
      "endLine" : 204,
      "cleanedStartLine" : 102,
      "cleanedEndLine" : 110
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "koog-ktor/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 58,
        "components" : [ "primary::koog-ktor" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 40,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-cached/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 35,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerStreamingTest.kt",
        "extension" : "kt",
        "linesOfCode" : 347,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 262,
      "startLine" : 82,
      "endLine" : 91,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 24
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageRemoteWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 816,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 671,
      "startLine" : 193,
      "endLine" : 202,
      "cleanedStartLine" : 72,
      "cleanedEndLine" : 80
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 46,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 34,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 34,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 24,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-acp/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 26,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-processor/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 38,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-ext/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 36,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-structure/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 39,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/mistralai/MistralAILLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 248,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 184,
      "startLine" : 262,
      "endLine" : 270,
      "cleanedStartLine" : 142,
      "cleanedEndLine" : 150
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAILLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 711,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 554,
      "startLine" : 531,
      "endLine" : 539,
      "cleanedStartLine" : 307,
      "cleanedEndLine" : 315
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "koog-ktor/src/commonMain/kotlin/ai/koog/ktor/KoogAgentsConfig.kt",
        "extension" : "kt",
        "linesOfCode" : 362,
        "components" : [ "primary::koog-ktor" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 264,
      "startLine" : 649,
      "endLine" : 665,
      "cleanedStartLine" : 106,
      "cleanedEndLine" : 114
    }, {
      "file" : {
        "relativePath" : "koog-ktor/src/commonMain/kotlin/ai/koog/ktor/KoogAgentsConfig.kt",
        "extension" : "kt",
        "linesOfCode" : 362,
        "components" : [ "primary::koog-ktor" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 264,
      "startLine" : 845,
      "endLine" : 859,
      "cleanedStartLine" : 145,
      "cleanedEndLine" : 153
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmMain/kotlin/ai/koog/prompt/executor/clients/bedrock/BedrockLLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 542,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 401,
      "startLine" : 262,
      "endLine" : 271,
      "cleanedStartLine" : 119,
      "cleanedEndLine" : 127
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/mistralai/MistralAILLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 248,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 184,
      "startLine" : 262,
      "endLine" : 270,
      "cleanedStartLine" : 142,
      "cleanedEndLine" : 150
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-server/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 50,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-cache/prompt-cache-redis/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 35,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-server/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 50,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "agents/agents-utils/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 28,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 39,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 31,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-utils/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 28,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 30,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 20,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 381,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 343,
      "startLine" : 33,
      "endLine" : 41,
      "cleanedStartLine" : 18,
      "cleanedEndLine" : 26
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonMain/kotlin/ai/koog/prompt/params/LLMParams.kt",
        "extension" : "kt",
        "linesOfCode" : 169,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 141,
      "startLine" : 92,
      "endLine" : 100,
      "cleanedStartLine" : 46,
      "cleanedEndLine" : 54
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-cached/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 35,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 48,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 46,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 34,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "rag/vector-storage/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 35,
        "components" : [ "primary::rag" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-planner/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 36,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openrouter-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 25,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 17,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-test/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 39,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 30,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 20,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-server/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 50,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "embeddings/embeddings-llm/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 44,
        "components" : [ "primary::embeddings" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-test/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 39,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "agents/agents-tools/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 38,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 29,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 19,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-structure/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 39,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client-base/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 40,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 28,
      "startLine" : 3,
      "endLine" : 13,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "rag/rag-base/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 32,
        "components" : [ "primary::rag" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-deepseek-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/deepseek/DeepSeekParams.kt",
        "extension" : "kt",
        "linesOfCode" : 143,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 130,
      "endLine" : 138,
      "cleanedStartLine" : 90,
      "cleanedEndLine" : 98
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 381,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 343,
      "startLine" : 422,
      "endLine" : 430,
      "cleanedStartLine" : 289,
      "cleanedEndLine" : 297
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 47,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "agents/agents-planner/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 36,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-cache/prompt-cache-redis/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 35,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-llm/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 20,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 14,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-test/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 39,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-cache/prompt-cache-redis/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 35,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 47,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 48,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-a2a-core/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 31,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 31,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 39,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-cache/prompt-cache-model/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 26,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-llms-all/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 50,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 40,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "rag/rag-base/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 32,
        "components" : [ "primary::rag" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 381,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 343,
      "startLine" : 202,
      "endLine" : 210,
      "cleanedStartLine" : 130,
      "cleanedEndLine" : 138
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 381,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 343,
      "startLine" : 422,
      "endLine" : 430,
      "cleanedStartLine" : 289,
      "cleanedEndLine" : 297
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-server/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 50,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-memory/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 37,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-cache/prompt-cache-files/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 26,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 30,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 20,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "embeddings/embeddings-llm/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 44,
        "components" : [ "primary::embeddings" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 31,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-server/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 50,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 48,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "koog-ktor/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 58,
        "components" : [ "primary::koog-ktor" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 40,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-cache/prompt-cache-model/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 26,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-event-handler/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 33,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 23,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "rag/vector-storage/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 35,
        "components" : [ "primary::rag" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/dashscope/DashscopeParams.kt",
        "extension" : "kt",
        "linesOfCode" : 159,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 144,
      "startLine" : 142,
      "endLine" : 150,
      "cleanedStartLine" : 99,
      "cleanedEndLine" : 107
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 381,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 343,
      "startLine" : 422,
      "endLine" : 430,
      "cleanedStartLine" : 289,
      "cleanedEndLine" : 297
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/mistralai/MistralAILLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 248,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 184,
      "startLine" : 196,
      "endLine" : 204,
      "cleanedStartLine" : 102,
      "cleanedEndLine" : 110
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAILLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 711,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 554,
      "startLine" : 531,
      "endLine" : 539,
      "cleanedStartLine" : 307,
      "cleanedEndLine" : 315
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/appleMain/kotlin/ai/koog/agents/core/agent/context/AIAgentLLMContext.kt",
        "extension" : "kt",
        "linesOfCode" : 32,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 21,
      "endLine" : 29,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/context/AIAgentLLMContextImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 105,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 85,
      "startLine" : 36,
      "endLine" : 44,
      "cleanedStartLine" : 18,
      "cleanedEndLine" : 26
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-sql/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 57,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 45,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "agents/agents-utils/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 28,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/BedrockLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 751,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 628,
      "startLine" : 758,
      "endLine" : 767,
      "cleanedStartLine" : 525,
      "cleanedEndLine" : 533
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/BedrockLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 751,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 628,
      "startLine" : 797,
      "endLine" : 806,
      "cleanedStartLine" : 557,
      "cleanedEndLine" : 565
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-utils/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 28,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openrouter-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 25,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 17,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageRemoteWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 816,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 671,
      "startLine" : 422,
      "endLine" : 430,
      "cleanedStartLine" : 263,
      "cleanedEndLine" : 271
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageRemoteWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 816,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 671,
      "startLine" : 452,
      "endLine" : 460,
      "cleanedStartLine" : 293,
      "cleanedEndLine" : 301
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/google/GoogleParams.kt",
        "extension" : "kt",
        "linesOfCode" : 115,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 103,
      "startLine" : 106,
      "endLine" : 114,
      "cleanedStartLine" : 72,
      "cleanedEndLine" : 80
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 381,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 343,
      "startLine" : 422,
      "endLine" : 430,
      "cleanedStartLine" : 289,
      "cleanedEndLine" : 297
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-transport/a2a-transport-server-jsonrpc-http/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 41,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "agents/agents-tools/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 38,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jsMain/kotlin/ai/koog/agents/core/agent/context/AIAgentLLMContext.kt",
        "extension" : "kt",
        "linesOfCode" : 32,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 21,
      "endLine" : 29,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmMain/kotlin/ai/koog/agents/core/agent/context/AIAgentLLMContext.kt",
        "extension" : "kt",
        "linesOfCode" : 82,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 59,
      "startLine" : 44,
      "endLine" : 52,
      "cleanedStartLine" : 24,
      "cleanedEndLine" : 32
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-test/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 39,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 29,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 19,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-cached/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 35,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 34,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 24,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/commonMain/kotlin/ai/koog/agents/features/tracing/feature/Tracing.kt",
        "extension" : "kt",
        "linesOfCode" : 335,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 266,
      "startLine" : 322,
      "endLine" : 330,
      "cleanedStartLine" : 165,
      "cleanedEndLine" : 173
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/commonMain/kotlin/ai/koog/agents/features/tracing/feature/Tracing.kt",
        "extension" : "kt",
        "linesOfCode" : 335,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 266,
      "startLine" : 335,
      "endLine" : 343,
      "cleanedStartLine" : 176,
      "cleanedEndLine" : 184
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 272,
      "endLine" : 284,
      "cleanedStartLine" : 178,
      "cleanedEndLine" : 186
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 837,
      "endLine" : 849,
      "cleanedStartLine" : 589,
      "cleanedEndLine" : 597
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-structure/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 39,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "rag/vector-storage/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 35,
        "components" : [ "primary::rag" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-a2a-core/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 31,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-cache/prompt-cache-model/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 26,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-a2a-server/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 32,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-llms-all/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 50,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 40,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-a2a-server/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 32,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-cache/prompt-cache-files/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 26,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-a2a-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 32,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "agents/agents-mcp/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 41,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 31,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-tokenizer/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 44,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-cache/prompt-cache-files/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 26,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/ai/koog/agents/snapshot/providers/file/FileCheckpointsTests.kt",
        "extension" : "kt",
        "linesOfCode" : 236,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 188,
      "startLine" : 232,
      "endLine" : 240,
      "cleanedStartLine" : 157,
      "cleanedEndLine" : 165
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/ai/koog/agents/snapshot/providers/file/FileCheckpointsTests.kt",
        "extension" : "kt",
        "linesOfCode" : 236,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 188,
      "startLine" : 258,
      "endLine" : 266,
      "cleanedStartLine" : 176,
      "cleanedEndLine" : 184
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/ai/koog/agents/snapshot/providers/file/FileCheckpointsTests.kt",
        "extension" : "kt",
        "linesOfCode" : 236,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 188,
      "startLine" : 136,
      "endLine" : 144,
      "cleanedStartLine" : 80,
      "cleanedEndLine" : 88
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/ai/koog/agents/snapshot/providers/file/FileCheckpointsTests.kt",
        "extension" : "kt",
        "linesOfCode" : 236,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 188,
      "startLine" : 258,
      "endLine" : 266,
      "cleanedStartLine" : 176,
      "cleanedEndLine" : 184
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rag/vector-storage/src/commonTest/kotlin/ai/koog/rag/vector/TextFileDocumentEmbeddingStorageTest.kt",
        "extension" : "kt",
        "linesOfCode" : 141,
        "components" : [ "primary::rag" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 112,
      "startLine" : 126,
      "endLine" : 137,
      "cleanedStartLine" : 75,
      "cleanedEndLine" : 83
    }, {
      "file" : {
        "relativePath" : "rag/vector-storage/src/jvmTest/kotlin/ai/koog/rag/vector/JVMTextFileDocumentEmbeddingStorageTest.kt",
        "extension" : "kt",
        "linesOfCode" : 234,
        "components" : [ "primary::rag" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 193,
      "startLine" : 160,
      "endLine" : 171,
      "cleanedStartLine" : 102,
      "cleanedEndLine" : 110
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 31,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-tokenizer/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 36,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 24,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/feature/AIAgentPipelineTest.kt",
        "extension" : "kt",
        "linesOfCode" : 736,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 595,
      "startLine" : 461,
      "endLine" : 475,
      "cleanedStartLine" : 289,
      "cleanedEndLine" : 297
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/feature/AIAgentPipelineTest.kt",
        "extension" : "kt",
        "linesOfCode" : 736,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 595,
      "startLine" : 729,
      "endLine" : 742,
      "cleanedStartLine" : 475,
      "cleanedEndLine" : 483
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 47,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-cache/prompt-cache-files/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 26,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 48,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-processor/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 38,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 39,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-xml/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 27,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 17,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryInferenceSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 556,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 517,
      "startLine" : 285,
      "endLine" : 293,
      "cleanedStartLine" : 223,
      "cleanedEndLine" : 231
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryInferenceSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 556,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 517,
      "startLine" : 487,
      "endLine" : 495,
      "cleanedStartLine" : 403,
      "cleanedEndLine" : 411
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-cache/prompt-cache-model/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 26,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-cache/prompt-cache-redis/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 35,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-test/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 39,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-llms-all/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 50,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 40,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-ext/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 36,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 46,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 34,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "embeddings/embeddings-llm/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 44,
        "components" : [ "primary::embeddings" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-structure/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 39,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 48,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openrouter-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 25,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 17,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-server/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 50,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "agents/agents-tools/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 38,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "http-client/http-client-java/src/main/kotlin/ai/koog/http/client/java/JavaKoogHttpClient.kt",
        "extension" : "kt",
        "linesOfCode" : 182,
        "components" : [ "primary::http-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 144,
      "startLine" : 97,
      "endLine" : 107,
      "cleanedStartLine" : 46,
      "cleanedEndLine" : 54
    }, {
      "file" : {
        "relativePath" : "http-client/http-client-okhttp/src/main/kotlin/ai/koog/http/client/okhttp/OkHttpKoogHttpClient.kt",
        "extension" : "kt",
        "linesOfCode" : 173,
        "components" : [ "primary::http-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 127,
      "startLine" : 93,
      "endLine" : 104,
      "cleanedStartLine" : 40,
      "cleanedEndLine" : 48
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 46,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 34,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client-base/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 40,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 28,
      "startLine" : 3,
      "endLine" : 13,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-server/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 50,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-deepseek-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 29,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 19,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/androidMain/kotlin/ai/koog/agents/core/agent/config/AIAgentConfig.kt",
        "extension" : "kt",
        "linesOfCode" : 32,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 1,
      "endLine" : 16,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmMain/kotlin/ai/koog/agents/core/agent/config/AIAgentConfig.kt",
        "extension" : "kt",
        "linesOfCode" : 90,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 79,
      "startLine" : 1,
      "endLine" : 18,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/feature/remote/client/FeatureMessageRemoteClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 388,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 293,
      "startLine" : 225,
      "endLine" : 236,
      "cleanedStartLine" : 121,
      "cleanedEndLine" : 129
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/feature/remote/server/FeatureMessageRemoteServerTest.kt",
        "extension" : "kt",
        "linesOfCode" : 316,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 232,
      "startLine" : 190,
      "endLine" : 201,
      "cleanedStartLine" : 103,
      "cleanedEndLine" : 111
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/GenAIAgentSpanUtilsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 329,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 292,
      "startLine" : 24,
      "endLine" : 32,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 13
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/GenAIAgentSpanUtilsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 329,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 292,
      "startLine" : 125,
      "endLine" : 133,
      "cleanedStartLine" : 76,
      "cleanedEndLine" : 84
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmMain/kotlin/ai/koog/agents/core/agent/context/AIAgentLLMContext.kt",
        "extension" : "kt",
        "linesOfCode" : 82,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 59,
      "startLine" : 27,
      "endLine" : 35,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmMain/kotlin/ai/koog/agents/core/agent/context/AIAgentLLMContext.kt",
        "extension" : "kt",
        "linesOfCode" : 82,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 59,
      "startLine" : 44,
      "endLine" : 52,
      "cleanedStartLine" : 24,
      "cleanedEndLine" : 32
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-tools/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 38,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openrouter-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 25,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 17,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/GenAIAgentSpanUtilsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 329,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 292,
      "startLine" : 24,
      "endLine" : 32,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 13
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/GenAIAgentSpanUtilsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 329,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 292,
      "startLine" : 74,
      "endLine" : 82,
      "cleanedStartLine" : 42,
      "cleanedEndLine" : 50
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 51,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "rag/vector-storage/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 35,
        "components" : [ "primary::rag" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rag/vector-storage/src/commonTest/kotlin/ai/koog/rag/vector/FileDocumentEmbeddingStorageTest.kt",
        "extension" : "kt",
        "linesOfCode" : 114,
        "components" : [ "primary::rag" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 90,
      "startLine" : 121,
      "endLine" : 132,
      "cleanedStartLine" : 71,
      "cleanedEndLine" : 79
    }, {
      "file" : {
        "relativePath" : "rag/vector-storage/src/jvmTest/kotlin/ai/koog/rag/vector/JVMTextFileDocumentEmbeddingStorageTest.kt",
        "extension" : "kt",
        "linesOfCode" : 234,
        "components" : [ "primary::rag" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 193,
      "startLine" : 160,
      "endLine" : 171,
      "cleanedStartLine" : 102,
      "cleanedEndLine" : 110
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/GenAIAgentSpanUtilsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 329,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 292,
      "startLine" : 34,
      "endLine" : 45,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 23
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/GenAIAgentSpanUtilsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 329,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 292,
      "startLine" : 135,
      "endLine" : 146,
      "cleanedStartLine" : 86,
      "cleanedEndLine" : 94
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-a2a-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 32,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "rag/rag-base/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 32,
        "components" : [ "primary::rag" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-transport/a2a-transport-core-jsonrpc/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 37,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "a2a/a2a-transport/a2a-transport-server-jsonrpc-http/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 41,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageFileWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 509,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 418,
      "startLine" : 376,
      "endLine" : 388,
      "cleanedStartLine" : 265,
      "cleanedEndLine" : 273
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageLogWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 480,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 396,
      "startLine" : 375,
      "endLine" : 387,
      "cleanedStartLine" : 263,
      "cleanedEndLine" : 271
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-a2a-core/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 31,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-a2a-server/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 32,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/google/GoogleParams.kt",
        "extension" : "kt",
        "linesOfCode" : 115,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 103,
      "startLine" : 106,
      "endLine" : 114,
      "cleanedStartLine" : 72,
      "cleanedEndLine" : 80
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 381,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 343,
      "startLine" : 202,
      "endLine" : 210,
      "cleanedStartLine" : 130,
      "cleanedEndLine" : 138
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-transport/a2a-transport-client-jsonrpc-http/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 44,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "embeddings/embeddings-base/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 33,
        "components" : [ "primary::embeddings" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-cached/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 35,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openrouter-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 25,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 17,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-utils/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 28,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-cache/prompt-cache-redis/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 35,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-memory/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 37,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-cache/prompt-cache-model/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 26,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 47,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "embeddings/embeddings-base/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 33,
        "components" : [ "primary::embeddings" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-transport/a2a-transport-server-jsonrpc-http/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 41,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 41,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 30,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 20,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 46,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 34,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/mistralai/MistralAILLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 248,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 184,
      "startLine" : 196,
      "endLine" : 204,
      "cleanedStartLine" : 102,
      "cleanedEndLine" : 110
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAILLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 711,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 554,
      "startLine" : 495,
      "endLine" : 503,
      "cleanedStartLine" : 286,
      "cleanedEndLine" : 294
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 48,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-tokenizer/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 36,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 24,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-cached/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 35,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 29,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 19,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/CheckpointsTests.kt",
        "extension" : "kt",
        "linesOfCode" : 793,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 646,
      "startLine" : 388,
      "endLine" : 396,
      "cleanedStartLine" : 232,
      "cleanedEndLine" : 240
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/CheckpointsTests.kt",
        "extension" : "kt",
        "linesOfCode" : 793,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 646,
      "startLine" : 442,
      "endLine" : 450,
      "cleanedStartLine" : 276,
      "cleanedEndLine" : 284
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 51,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "rag/rag-base/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 32,
        "components" : [ "primary::rag" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-server/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 50,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 41,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-event-handler/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 33,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 23,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "embeddings/embeddings-llm/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 44,
        "components" : [ "primary::embeddings" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-a2a-core/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 31,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "agents/agents-mcp/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 41,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 31,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-acp/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 26,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 46,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 34,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-sql/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 57,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 45,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 31,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-transport/a2a-transport-core-jsonrpc/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 37,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "agents/agents-ext/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 36,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rag/vector-storage/src/commonTest/kotlin/ai/koog/rag/vector/TextFileDocumentEmbeddingStorageTest.kt",
        "extension" : "kt",
        "linesOfCode" : 141,
        "components" : [ "primary::rag" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 112,
      "startLine" : 126,
      "endLine" : 137,
      "cleanedStartLine" : 75,
      "cleanedEndLine" : 83
    }, {
      "file" : {
        "relativePath" : "rag/vector-storage/src/jvmTest/kotlin/ai/koog/rag/vector/JVMFileDocumentEmbeddingStorageTest.kt",
        "extension" : "kt",
        "linesOfCode" : 184,
        "components" : [ "primary::rag" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 148,
      "startLine" : 163,
      "endLine" : 174,
      "cleanedStartLine" : 103,
      "cleanedEndLine" : 111
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-cache/prompt-cache-redis/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 35,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-processor/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 38,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-deepseek-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/deepseek/models/DeepSeekSerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 327,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 263,
      "startLine" : 30,
      "endLine" : 44,
      "cleanedStartLine" : 12,
      "cleanedEndLine" : 20
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-deepseek-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/deepseek/models/DeepSeekSerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 327,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 263,
      "startLine" : 65,
      "endLine" : 79,
      "cleanedStartLine" : 38,
      "cleanedEndLine" : 46
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/google/GoogleParams.kt",
        "extension" : "kt",
        "linesOfCode" : 115,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 103,
      "startLine" : 10,
      "endLine" : 18,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 13
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openrouter-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openrouter/OpenRouterParams.kt",
        "extension" : "kt",
        "linesOfCode" : 197,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 177,
      "startLine" : 10,
      "endLine" : 18,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 13
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/SubgraphWithTaskTest.kt",
        "extension" : "kt",
        "linesOfCode" : 603,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 509,
      "startLine" : 170,
      "endLine" : 179,
      "cleanedStartLine" : 95,
      "cleanedEndLine" : 103
    }, {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/SubgraphWithTaskTest.kt",
        "extension" : "kt",
        "linesOfCode" : 603,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 509,
      "startLine" : 671,
      "endLine" : 680,
      "cleanedStartLine" : 445,
      "cleanedEndLine" : 453
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-mcp/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 41,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 31,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "embeddings/embeddings-base/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 33,
        "components" : [ "primary::embeddings" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-memory/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 37,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "embeddings/embeddings-base/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 33,
        "components" : [ "primary::embeddings" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicParams.kt",
        "extension" : "kt",
        "linesOfCode" : 154,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 135,
      "startLine" : 107,
      "endLine" : 115,
      "cleanedStartLine" : 58,
      "cleanedEndLine" : 66
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/dashscope/DashscopeParams.kt",
        "extension" : "kt",
        "linesOfCode" : 159,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 144,
      "startLine" : 101,
      "endLine" : 109,
      "cleanedStartLine" : 59,
      "cleanedEndLine" : 67
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/google/GoogleParams.kt",
        "extension" : "kt",
        "linesOfCode" : 115,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 103,
      "startLine" : 77,
      "endLine" : 85,
      "cleanedStartLine" : 44,
      "cleanedEndLine" : 52
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 381,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 343,
      "startLine" : 373,
      "endLine" : 381,
      "cleanedStartLine" : 241,
      "cleanedEndLine" : 249
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-test/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 39,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "rag/vector-storage/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 35,
        "components" : [ "primary::rag" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-mcp/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 41,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 31,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "koog-ktor/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 58,
        "components" : [ "primary::koog-ktor" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 40,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/CheckpointsTests.kt",
        "extension" : "kt",
        "linesOfCode" : 793,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 646,
      "startLine" : 290,
      "endLine" : 298,
      "cleanedStartLine" : 166,
      "cleanedEndLine" : 174
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/ai/koog/agents/snapshot/providers/file/FileCheckpointsTests.kt",
        "extension" : "kt",
        "linesOfCode" : 236,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 188,
      "startLine" : 95,
      "endLine" : 103,
      "cleanedStartLine" : 47,
      "cleanedEndLine" : 55
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/mistralai/models/MistralAISerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 146,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 114,
      "startLine" : 85,
      "endLine" : 95,
      "cleanedStartLine" : 47,
      "cleanedEndLine" : 55
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/openai/models/OpenAIChatCompletionRequestSerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 149,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 109,
      "startLine" : 78,
      "endLine" : 88,
      "cleanedStartLine" : 48,
      "cleanedEndLine" : 56
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 47,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "a2a/a2a-transport/a2a-transport-server-jsonrpc-http/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 41,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "embeddings/embeddings-base/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 33,
        "components" : [ "primary::embeddings" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 31,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-memory/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 37,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-cache/prompt-cache-redis/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 35,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-a2a-core/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 31,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "agents/agents-planner/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 36,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-ext/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 36,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-a2a-core/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 31,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-tokenizer/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 44,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openrouter-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 25,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 17,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-event-handler/src/jvmTest/kotlin/ai/koog/agents/features/eventHandler/feature/EventHandlerTest.kt",
        "extension" : "kt",
        "linesOfCode" : 637,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 548,
      "startLine" : 123,
      "endLine" : 131,
      "cleanedStartLine" : 67,
      "cleanedEndLine" : 75
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-event-handler/src/jvmTest/kotlin/ai/koog/agents/features/eventHandler/feature/EventHandlerTest.kt",
        "extension" : "kt",
        "linesOfCode" : 637,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 548,
      "startLine" : 332,
      "endLine" : 340,
      "cleanedStartLine" : 242,
      "cleanedEndLine" : 250
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/SubgraphWithRetryTest.kt",
        "extension" : "kt",
        "linesOfCode" : 429,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 348,
      "startLine" : 350,
      "endLine" : 358,
      "cleanedStartLine" : 236,
      "cleanedEndLine" : 244
    }, {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/SubgraphWithRetryTest.kt",
        "extension" : "kt",
        "linesOfCode" : 429,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 348,
      "startLine" : 401,
      "endLine" : 409,
      "cleanedStartLine" : 272,
      "cleanedEndLine" : 280
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-utils/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 28,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "koog-ktor/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 58,
        "components" : [ "primary::koog-ktor" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 40,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-sql/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 57,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 45,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-tokenizer/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 36,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 24,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-transport/a2a-transport-client-jsonrpc-http/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 44,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-cached/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 35,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-transport/a2a-transport-client-jsonrpc-http/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 44,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-llms-all/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 50,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 40,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openrouter-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 25,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 17,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 34,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 24,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-a2a-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 32,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "embeddings/embeddings-llm/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 44,
        "components" : [ "primary::embeddings" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicModels.kt",
        "extension" : "kt",
        "linesOfCode" : 195,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 178,
      "startLine" : 100,
      "endLine" : 108,
      "cleanedStartLine" : 35,
      "cleanedEndLine" : 43
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicModels.kt",
        "extension" : "kt",
        "linesOfCode" : 195,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 178,
      "startLine" : 250,
      "endLine" : 258,
      "cleanedStartLine" : 125,
      "cleanedEndLine" : 133
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/commonTest/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicSerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 335,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 278,
      "startLine" : 50,
      "endLine" : 60,
      "cleanedStartLine" : 18,
      "cleanedEndLine" : 26
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/commonTest/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicSerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 335,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 278,
      "startLine" : 107,
      "endLine" : 117,
      "cleanedStartLine" : 62,
      "cleanedEndLine" : 70
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-a2a-core/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 31,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 48,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 47,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-cache/prompt-cache-model/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 26,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicModels.kt",
        "extension" : "kt",
        "linesOfCode" : 195,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 178,
      "startLine" : 100,
      "endLine" : 108,
      "cleanedStartLine" : 35,
      "cleanedEndLine" : 43
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicModels.kt",
        "extension" : "kt",
        "linesOfCode" : 195,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 178,
      "startLine" : 224,
      "endLine" : 232,
      "cleanedStartLine" : 110,
      "cleanedEndLine" : 118
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-acp/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 26,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 34,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 24,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 41,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "rag/vector-storage/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 35,
        "components" : [ "primary::rag" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/model/events/llmCallEvents.kt",
        "extension" : "kt",
        "linesOfCode" : 93,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 84,
      "startLine" : 30,
      "endLine" : 43,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 12
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/model/events/llmStreamingEvents.kt",
        "extension" : "kt",
        "linesOfCode" : 136,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 125,
      "startLine" : 177,
      "endLine" : 190,
      "cleanedStartLine" : 96,
      "cleanedEndLine" : 104
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/PersistencyRestoreStrategyTests.kt",
        "extension" : "kt",
        "linesOfCode" : 86,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 62,
      "startLine" : 71,
      "endLine" : 79,
      "cleanedStartLine" : 41,
      "cleanedEndLine" : 49
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/PersistencyRunsTwiceTest.kt",
        "extension" : "kt",
        "linesOfCode" : 103,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 74,
      "startLine" : 89,
      "endLine" : 97,
      "cleanedStartLine" : 45,
      "cleanedEndLine" : 53
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-event-handler/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 33,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 23,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "koog-ktor/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 58,
        "components" : [ "primary::koog-ktor" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 40,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetrySubgraphTest.kt",
        "extension" : "kt",
        "linesOfCode" : 334,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 313,
      "startLine" : 226,
      "endLine" : 234,
      "cleanedStartLine" : 185,
      "cleanedEndLine" : 193
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetrySubgraphTest.kt",
        "extension" : "kt",
        "linesOfCode" : 334,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 313,
      "startLine" : 354,
      "endLine" : 362,
      "cleanedStartLine" : 296,
      "cleanedEndLine" : 304
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicParams.kt",
        "extension" : "kt",
        "linesOfCode" : 154,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 135,
      "startLine" : 144,
      "endLine" : 152,
      "cleanedStartLine" : 94,
      "cleanedEndLine" : 102
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 381,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 343,
      "startLine" : 422,
      "endLine" : 430,
      "cleanedStartLine" : 289,
      "cleanedEndLine" : 297
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 51,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-deepseek-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 29,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 19,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-cache/prompt-cache-model/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 26,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-llm/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 20,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 14,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 39,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openrouter-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 25,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 17,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-utils/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 28,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client-base/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 40,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 28,
      "startLine" : 3,
      "endLine" : 13,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/dashscope/DashscopeParams.kt",
        "extension" : "kt",
        "linesOfCode" : 159,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 144,
      "startLine" : 101,
      "endLine" : 109,
      "cleanedStartLine" : 59,
      "cleanedEndLine" : 67
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 381,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 343,
      "startLine" : 373,
      "endLine" : 381,
      "cleanedStartLine" : 241,
      "cleanedEndLine" : 249
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-planner/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 36,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "agents/agents-tools/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 38,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-cached/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 35,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "rag/vector-storage/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 35,
        "components" : [ "primary::rag" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipeline.kt",
        "extension" : "kt",
        "linesOfCode" : 448,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 394,
      "startLine" : 307,
      "endLine" : 315,
      "cleanedStartLine" : 89,
      "cleanedEndLine" : 97
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 846,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 674,
      "startLine" : 323,
      "endLine" : 331,
      "cleanedStartLine" : 169,
      "cleanedEndLine" : 177
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-deepseek-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/deepseek/DeepSeekParams.kt",
        "extension" : "kt",
        "linesOfCode" : 143,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 9,
      "endLine" : 17,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 13
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 381,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 343,
      "startLine" : 19,
      "endLine" : 27,
      "cleanedStartLine" : 6,
      "cleanedEndLine" : 14
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-transport/a2a-transport-core-jsonrpc/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 37,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 46,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 34,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-acp/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 26,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "rag/rag-base/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 32,
        "components" : [ "primary::rag" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/PersistencyRestoreStrategyTests.kt",
        "extension" : "kt",
        "linesOfCode" : 86,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 62,
      "startLine" : 71,
      "endLine" : 79,
      "cleanedStartLine" : 41,
      "cleanedEndLine" : 49
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/PersistencyRunsTwiceTest.kt",
        "extension" : "kt",
        "linesOfCode" : 103,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 74,
      "startLine" : 30,
      "endLine" : 38,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 18
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-transport/a2a-transport-core-jsonrpc/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 37,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-cache/prompt-cache-redis/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 35,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-transport/a2a-transport-client-jsonrpc-http/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 44,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 48,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openrouter-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/openrouter/models/OpenRouterSerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 670,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 554,
      "startLine" : 112,
      "endLine" : 123,
      "cleanedStartLine" : 61,
      "cleanedEndLine" : 69
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openrouter-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/openrouter/models/OpenRouterSerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 670,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 554,
      "startLine" : 138,
      "endLine" : 149,
      "cleanedStartLine" : 79,
      "cleanedEndLine" : 87
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-a2a-core/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 31,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-cache/prompt-cache-files/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 26,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-a2a-core/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 31,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-event-handler/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 33,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 23,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 29,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 19,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-llm/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 20,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 14,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-cache/prompt-cache-files/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 26,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client-base/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 40,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 28,
      "startLine" : 3,
      "endLine" : 13,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicParams.kt",
        "extension" : "kt",
        "linesOfCode" : 154,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 135,
      "startLine" : 144,
      "endLine" : 152,
      "cleanedStartLine" : 94,
      "cleanedEndLine" : 102
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-deepseek-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/deepseek/DeepSeekParams.kt",
        "extension" : "kt",
        "linesOfCode" : 143,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 130,
      "endLine" : 138,
      "cleanedStartLine" : 90,
      "cleanedEndLine" : 98
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-transport/a2a-transport-core-jsonrpc/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 37,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 39,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-transport/a2a-transport-core-jsonrpc/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 37,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-a2a-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 32,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-tokenizer/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 44,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "agents/agents-mcp/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 41,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 31,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-tokenizer/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 44,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-cache/prompt-cache-model/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 26,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 46,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 34,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-llm/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 20,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 14,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-sql/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 57,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 45,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-cache/prompt-cache-redis/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 35,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "embeddings/embeddings-base/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 33,
        "components" : [ "primary::embeddings" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-llm/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 20,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 14,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "koog-ktor/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 58,
        "components" : [ "primary::koog-ktor" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 40,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-llms-all/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 50,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 40,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-memory/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 37,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "agents/agents-tools/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 38,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-transport/a2a-transport-core-jsonrpc/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 37,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-memory/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 37,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageRemoteWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 816,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 671,
      "startLine" : 557,
      "endLine" : 565,
      "cleanedStartLine" : 397,
      "cleanedEndLine" : 405
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageRemoteWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 816,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 671,
      "startLine" : 569,
      "endLine" : 577,
      "cleanedStartLine" : 409,
      "cleanedEndLine" : 417
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-memory/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 37,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 31,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-cache/prompt-cache-redis/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 35,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-structure/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 39,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-event-handler/src/jvmTest/kotlin/ai/koog/agents/features/eventHandler/feature/EventHandlerTest.kt",
        "extension" : "kt",
        "linesOfCode" : 637,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 548,
      "startLine" : 66,
      "endLine" : 77,
      "cleanedStartLine" : 23,
      "cleanedEndLine" : 31
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-event-handler/src/jvmTest/kotlin/ai/koog/agents/features/eventHandler/feature/EventHandlerTest.kt",
        "extension" : "kt",
        "linesOfCode" : 637,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 548,
      "startLine" : 369,
      "endLine" : 380,
      "cleanedStartLine" : 279,
      "cleanedEndLine" : 287
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-sql/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 57,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 45,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-processor/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 38,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipeline.kt",
        "extension" : "kt",
        "linesOfCode" : 448,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 394,
      "startLine" : 442,
      "endLine" : 464,
      "cleanedStartLine" : 151,
      "cleanedEndLine" : 159
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 846,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 674,
      "startLine" : 457,
      "endLine" : 468,
      "cleanedStartLine" : 289,
      "cleanedEndLine" : 297
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-tools/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 38,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-llm/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 20,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 14,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 48,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 29,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 19,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-utils/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 28,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "embeddings/embeddings-base/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 33,
        "components" : [ "primary::embeddings" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-ext/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 36,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-tokenizer/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 36,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 24,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-llm/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 20,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 14,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-tokenizer/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 36,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 24,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-a2a-core/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 31,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client-base/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 40,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 28,
      "startLine" : 3,
      "endLine" : 13,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-cache/prompt-cache-redis/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 35,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 30,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 20,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openrouter-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 25,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 17,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-llms-all/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 50,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 40,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 47,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 31,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerTest.kt",
        "extension" : "kt",
        "linesOfCode" : 521,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 437,
      "startLine" : 286,
      "endLine" : 294,
      "cleanedStartLine" : 170,
      "cleanedEndLine" : 178
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerTest.kt",
        "extension" : "kt",
        "linesOfCode" : 521,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 437,
      "startLine" : 298,
      "endLine" : 306,
      "cleanedStartLine" : 182,
      "cleanedEndLine" : 190
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/dashscope/models/DashscopeSerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 453,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 372,
      "startLine" : 67,
      "endLine" : 81,
      "cleanedStartLine" : 41,
      "cleanedEndLine" : 49
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/dashscope/models/DashscopeSerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 453,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 372,
      "startLine" : 105,
      "endLine" : 119,
      "cleanedStartLine" : 70,
      "cleanedEndLine" : 78
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-cache/prompt-cache-files/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 26,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 46,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 34,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-transport/a2a-transport-server-jsonrpc-http/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 41,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "agents/agents-test/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 39,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/dashscope/DashscopeParams.kt",
        "extension" : "kt",
        "linesOfCode" : 159,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 144,
      "startLine" : 142,
      "endLine" : 150,
      "cleanedStartLine" : 99,
      "cleanedEndLine" : 107
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/google/GoogleParams.kt",
        "extension" : "kt",
        "linesOfCode" : 115,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 103,
      "startLine" : 106,
      "endLine" : 114,
      "cleanedStartLine" : 72,
      "cleanedEndLine" : 80
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/debugger/Debugger.kt",
        "extension" : "kt",
        "linesOfCode" : 399,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 318,
      "startLine" : 172,
      "endLine" : 180,
      "cleanedStartLine" : 59,
      "cleanedEndLine" : 67
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/commonMain/kotlin/ai/koog/agents/features/tracing/feature/Tracing.kt",
        "extension" : "kt",
        "linesOfCode" : 335,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 266,
      "startLine" : 136,
      "endLine" : 144,
      "cleanedStartLine" : 26,
      "cleanedEndLine" : 34
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-test/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 39,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-llm/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 20,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 14,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-ext/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 36,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-llm/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 20,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 14,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/dashscope/DashscopeParams.kt",
        "extension" : "kt",
        "linesOfCode" : 159,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 144,
      "startLine" : 9,
      "endLine" : 17,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 13
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonMain/kotlin/ai/koog/prompt/params/LLMParams.kt",
        "extension" : "kt",
        "linesOfCode" : 169,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 141,
      "startLine" : 92,
      "endLine" : 100,
      "cleanedStartLine" : 46,
      "cleanedEndLine" : 54
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 47,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-cache/prompt-cache-redis/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 35,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openrouter-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 25,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 17,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-tokenizer/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 36,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 24,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-test/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 39,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-cache/prompt-cache-model/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 26,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/agent/JavaAPIAgentBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 197,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 168,
      "startLine" : 98,
      "endLine" : 106,
      "cleanedStartLine" : 54,
      "cleanedEndLine" : 62
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/jvmTest/kotlin/ai/koog/prompt/JavaAPIPromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 296,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 262,
      "startLine" : 312,
      "endLine" : 320,
      "cleanedStartLine" : 222,
      "cleanedEndLine" : 230
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicParams.kt",
        "extension" : "kt",
        "linesOfCode" : 154,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 135,
      "startLine" : 124,
      "endLine" : 132,
      "cleanedStartLine" : 75,
      "cleanedEndLine" : 83
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/mistralai/MistralAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 145,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 133,
      "startLine" : 113,
      "endLine" : 121,
      "cleanedStartLine" : 70,
      "cleanedEndLine" : 78
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-transport/a2a-transport-core-jsonrpc/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 37,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "agents/agents-mcp/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 41,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 31,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 30,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 20,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "rag/vector-storage/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 35,
        "components" : [ "primary::rag" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-cache/prompt-cache-files/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 26,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-cache/prompt-cache-model/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 26,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-processor/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 38,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "rag/rag-base/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 32,
        "components" : [ "primary::rag" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/SubgraphWithRetryTest.kt",
        "extension" : "kt",
        "linesOfCode" : 429,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 348,
      "startLine" : 124,
      "endLine" : 132,
      "cleanedStartLine" : 71,
      "cleanedEndLine" : 79
    }, {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/SubgraphWithRetryTest.kt",
        "extension" : "kt",
        "linesOfCode" : 429,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 348,
      "startLine" : 350,
      "endLine" : 358,
      "cleanedStartLine" : 236,
      "cleanedEndLine" : 244
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-transport/a2a-transport-client-jsonrpc-http/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 44,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-tokenizer/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 36,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 24,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/commonTest/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicSerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 335,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 278,
      "startLine" : 81,
      "endLine" : 93,
      "cleanedStartLine" : 44,
      "cleanedEndLine" : 52
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/commonTest/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicSerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 335,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 278,
      "startLine" : 214,
      "endLine" : 226,
      "cleanedStartLine" : 154,
      "cleanedEndLine" : 162
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-event-handler/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 33,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 23,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-llms-all/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 50,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 40,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "koog-ktor/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 58,
        "components" : [ "primary::koog-ktor" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 40,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 48,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-transport/a2a-transport-core-jsonrpc/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 37,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-a2a-server/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 32,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-llms-all/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 50,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 40,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-llm/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 20,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 14,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-server/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 50,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "a2a/a2a-transport/a2a-transport-server-jsonrpc-http/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 41,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "embeddings/embeddings-llm/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 44,
        "components" : [ "primary::embeddings" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-cache/prompt-cache-model/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 26,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "http-client/http-client-core/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 19,
        "components" : [ "primary::http-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 13,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "test-utils/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 29,
        "components" : [ "primary::test-utils" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 1,
      "endLine" : 12,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 30,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 20,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "rag/rag-base/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 32,
        "components" : [ "primary::rag" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "koog-ktor/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 58,
        "components" : [ "primary::koog-ktor" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 40,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-structure/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 39,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-memory/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 37,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 51,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-transport/a2a-transport-core-jsonrpc/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 37,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client-base/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 40,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 28,
      "startLine" : 3,
      "endLine" : 13,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicModels.kt",
        "extension" : "kt",
        "linesOfCode" : 195,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 178,
      "startLine" : 125,
      "endLine" : 133,
      "cleanedStartLine" : 50,
      "cleanedEndLine" : 58
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicModels.kt",
        "extension" : "kt",
        "linesOfCode" : 195,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 178,
      "startLine" : 250,
      "endLine" : 258,
      "cleanedStartLine" : 125,
      "cleanedEndLine" : 133
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client-base/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 40,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 28,
      "startLine" : 3,
      "endLine" : 13,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-structure/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 39,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 48,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-llm/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 20,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 14,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/dashscope/models/DashscopeSerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 453,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 372,
      "startLine" : 38,
      "endLine" : 51,
      "cleanedStartLine" : 17,
      "cleanedEndLine" : 25
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-deepseek-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/deepseek/models/DeepSeekSerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 327,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 263,
      "startLine" : 39,
      "endLine" : 52,
      "cleanedStartLine" : 17,
      "cleanedEndLine" : 25
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-memory/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 37,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client-base/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 40,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 28,
      "startLine" : 3,
      "endLine" : 13,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/SubgraphSetExecutionPointTest.kt",
        "extension" : "kt",
        "linesOfCode" : 176,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 143,
      "startLine" : 85,
      "endLine" : 96,
      "cleanedStartLine" : 59,
      "cleanedEndLine" : 67
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/SubgraphSetExecutionPointTest.kt",
        "extension" : "kt",
        "linesOfCode" : 176,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 143,
      "startLine" : 137,
      "endLine" : 148,
      "cleanedStartLine" : 101,
      "cleanedEndLine" : 109
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 48,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 31,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-test/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 39,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 34,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 24,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/dashscope/models/DashscopeSerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 453,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 372,
      "startLine" : 114,
      "endLine" : 127,
      "cleanedStartLine" : 75,
      "cleanedEndLine" : 83
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-deepseek-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/deepseek/models/DeepSeekSerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 327,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 263,
      "startLine" : 39,
      "endLine" : 52,
      "cleanedStartLine" : 17,
      "cleanedEndLine" : 25
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/SubgraphSetExecutionPointTest.kt",
        "extension" : "kt",
        "linesOfCode" : 176,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 143,
      "startLine" : 85,
      "endLine" : 96,
      "cleanedStartLine" : 59,
      "cleanedEndLine" : 67
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/SubgraphSetExecutionPointTest.kt",
        "extension" : "kt",
        "linesOfCode" : 176,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 143,
      "startLine" : 164,
      "endLine" : 175,
      "cleanedStartLine" : 123,
      "cleanedEndLine" : 131
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-ext/src/jvmTest/kotlin/ai/koog/agents/ext/tool/file/ListDirectoryToolJvmTest.kt",
        "extension" : "kt",
        "linesOfCode" : 331,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 288,
      "startLine" : 105,
      "endLine" : 120,
      "cleanedStartLine" : 52,
      "cleanedEndLine" : 60
    }, {
      "file" : {
        "relativePath" : "agents/agents-ext/src/jvmTest/kotlin/ai/koog/agents/ext/tool/file/ListDirectoryToolJvmTest.kt",
        "extension" : "kt",
        "linesOfCode" : 331,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 288,
      "startLine" : 588,
      "endLine" : 603,
      "cleanedStartLine" : 280,
      "cleanedEndLine" : 288
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 381,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 343,
      "startLine" : 19,
      "endLine" : 27,
      "cleanedStartLine" : 6,
      "cleanedEndLine" : 14
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openrouter-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openrouter/OpenRouterParams.kt",
        "extension" : "kt",
        "linesOfCode" : 197,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 177,
      "startLine" : 10,
      "endLine" : 18,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 13
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-event-handler/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 33,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 23,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 30,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 20,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerTestAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 281,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 212,
      "startLine" : 194,
      "endLine" : 202,
      "cleanedStartLine" : 112,
      "cleanedEndLine" : 120
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerTestAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 281,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 212,
      "startLine" : 206,
      "endLine" : 214,
      "cleanedStartLine" : 124,
      "cleanedEndLine" : 132
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerTestAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 281,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 212,
      "startLine" : 169,
      "endLine" : 177,
      "cleanedStartLine" : 87,
      "cleanedEndLine" : 95
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerTestAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 281,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 212,
      "startLine" : 198,
      "endLine" : 206,
      "cleanedStartLine" : 116,
      "cleanedEndLine" : 124
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 48,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-structure/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 39,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-transport/a2a-transport-server-jsonrpc-http/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 41,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-structure/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 39,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-transport/a2a-transport-client-jsonrpc-http/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 44,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-a2a-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 32,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-structure/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 39,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-tokenizer/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 36,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 24,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-deepseek-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/deepseek/models/DeepSeekSerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 327,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 263,
      "startLine" : 30,
      "endLine" : 44,
      "cleanedStartLine" : 12,
      "cleanedEndLine" : 20
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-deepseek-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/deepseek/models/DeepSeekSerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 327,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 263,
      "startLine" : 215,
      "endLine" : 229,
      "cleanedStartLine" : 155,
      "cleanedEndLine" : 163
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "embeddings/embeddings-llm/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 44,
        "components" : [ "primary::embeddings" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 48,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/mistralai/MistralAILLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 295,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 232,
      "startLine" : 192,
      "endLine" : 201,
      "cleanedStartLine" : 127,
      "cleanedEndLine" : 135
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/mistralai/MistralAILLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 295,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 232,
      "startLine" : 311,
      "endLine" : 320,
      "cleanedStartLine" : 217,
      "cleanedEndLine" : 225
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 48,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 30,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 20,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicModels.kt",
        "extension" : "kt",
        "linesOfCode" : 195,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 178,
      "startLine" : 125,
      "endLine" : 133,
      "cleanedStartLine" : 50,
      "cleanedEndLine" : 58
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicModels.kt",
        "extension" : "kt",
        "linesOfCode" : 195,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 178,
      "startLine" : 224,
      "endLine" : 232,
      "cleanedStartLine" : 110,
      "cleanedEndLine" : 118
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicParams.kt",
        "extension" : "kt",
        "linesOfCode" : 154,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 135,
      "startLine" : 144,
      "endLine" : 152,
      "cleanedStartLine" : 94,
      "cleanedEndLine" : 102
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 381,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 343,
      "startLine" : 202,
      "endLine" : 210,
      "cleanedStartLine" : 130,
      "cleanedEndLine" : 138
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/google/GoogleParams.kt",
        "extension" : "kt",
        "linesOfCode" : 115,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 103,
      "startLine" : 10,
      "endLine" : 18,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 13
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonMain/kotlin/ai/koog/prompt/params/LLMParams.kt",
        "extension" : "kt",
        "linesOfCode" : 169,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 141,
      "startLine" : 92,
      "endLine" : 100,
      "cleanedStartLine" : 46,
      "cleanedEndLine" : 54
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-transport/a2a-transport-core-jsonrpc/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 37,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 34,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 24,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 48,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "rag/vector-storage/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 35,
        "components" : [ "primary::rag" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-transport/a2a-transport-client-jsonrpc-http/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 44,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-sql/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 57,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 45,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-memory/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 37,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-cached/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 35,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-sql/src/jvmTest/kotlin/ai/koog/agents/features/sql/providers/ExposedPersistenceFilterPostgresTest.kt",
        "extension" : "kt",
        "linesOfCode" : 133,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 99,
      "startLine" : 135,
      "endLine" : 143,
      "cleanedStartLine" : 75,
      "cleanedEndLine" : 83
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-sql/src/jvmTest/kotlin/ai/koog/agents/features/sql/providers/H2PersistencyStorageProviderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 85,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 60,
      "startLine" : 102,
      "endLine" : 110,
      "cleanedStartLine" : 52,
      "cleanedEndLine" : 60
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-memory/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 37,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 30,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 20,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openrouter-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 25,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 17,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-processor/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 38,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-cache/prompt-cache-model/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 26,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openrouter-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 25,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 17,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-ext/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 36,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-cache/prompt-cache-redis/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 35,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-a2a-core/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 31,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-llms-all/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 50,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 40,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 39,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-cached/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 35,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-ext/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 36,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client-base/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 40,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 28,
      "startLine" : 3,
      "endLine" : 13,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-llm/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 20,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 14,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-processor/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 38,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/NodeUniquenessCheckpointTest.kt",
        "extension" : "kt",
        "linesOfCode" : 99,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 71,
      "startLine" : 124,
      "endLine" : 135,
      "cleanedStartLine" : 56,
      "cleanedEndLine" : 64
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/SimpleGraphCheckpointTest.kt",
        "extension" : "kt",
        "linesOfCode" : 128,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 96,
      "startLine" : 91,
      "endLine" : 102,
      "cleanedStartLine" : 36,
      "cleanedEndLine" : 44
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-transport/a2a-transport-server-jsonrpc-http/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 41,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "embeddings/embeddings-base/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 33,
        "components" : [ "primary::embeddings" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-transport/a2a-transport-server-jsonrpc-http/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 41,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "agents/agents-utils/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 28,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-sql/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 57,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 45,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "rag/vector-storage/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 35,
        "components" : [ "primary::rag" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-transport/a2a-transport-server-jsonrpc-http/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 41,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-memory/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 37,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerTest.kt",
        "extension" : "kt",
        "linesOfCode" : 521,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 437,
      "startLine" : 290,
      "endLine" : 298,
      "cleanedStartLine" : 174,
      "cleanedEndLine" : 182
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerTestAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 281,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 212,
      "startLine" : 198,
      "endLine" : 206,
      "cleanedStartLine" : 116,
      "cleanedEndLine" : 124
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/langfuse/LangfuseSpanAdapterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 261,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 227,
      "startLine" : 188,
      "endLine" : 197,
      "cleanedStartLine" : 121,
      "cleanedEndLine" : 129
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/langfuse/LangfuseSpanAdapterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 261,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 227,
      "startLine" : 265,
      "endLine" : 274,
      "cleanedStartLine" : 182,
      "cleanedEndLine" : 190
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-event-handler/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 33,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 23,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-llm/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 20,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 14,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 41,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 46,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 34,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 39,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 48,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 381,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 343,
      "startLine" : 323,
      "endLine" : 331,
      "cleanedStartLine" : 212,
      "cleanedEndLine" : 220
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openrouter-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openrouter/OpenRouterParams.kt",
        "extension" : "kt",
        "linesOfCode" : 197,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 177,
      "startLine" : 74,
      "endLine" : 82,
      "cleanedStartLine" : 37,
      "cleanedEndLine" : 45
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicModels.kt",
        "extension" : "kt",
        "linesOfCode" : 195,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 178,
      "startLine" : 125,
      "endLine" : 133,
      "cleanedStartLine" : 50,
      "cleanedEndLine" : 58
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicModels.kt",
        "extension" : "kt",
        "linesOfCode" : 195,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 178,
      "startLine" : 150,
      "endLine" : 158,
      "cleanedStartLine" : 65,
      "cleanedEndLine" : 73
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/session/AIAgentLLMWriteSession.kt",
        "extension" : "kt",
        "linesOfCode" : 188,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 155,
      "startLine" : 62,
      "endLine" : 70,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jsMain/kotlin/ai/koog/agents/core/agent/session/AIAgentLLMWriteSession.kt",
        "extension" : "kt",
        "linesOfCode" : 61,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 45,
      "startLine" : 27,
      "endLine" : 35,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 16
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicModels.kt",
        "extension" : "kt",
        "linesOfCode" : 195,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 178,
      "startLine" : 125,
      "endLine" : 133,
      "cleanedStartLine" : 50,
      "cleanedEndLine" : 58
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicModels.kt",
        "extension" : "kt",
        "linesOfCode" : 195,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 178,
      "startLine" : 174,
      "endLine" : 182,
      "cleanedStartLine" : 80,
      "cleanedEndLine" : 88
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 41,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-cached/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 35,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-test/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 39,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-structure/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 39,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicModels.kt",
        "extension" : "kt",
        "linesOfCode" : 195,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 178,
      "startLine" : 125,
      "endLine" : 133,
      "cleanedStartLine" : 50,
      "cleanedEndLine" : 58
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicModels.kt",
        "extension" : "kt",
        "linesOfCode" : 195,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 178,
      "startLine" : 199,
      "endLine" : 207,
      "cleanedStartLine" : 95,
      "cleanedEndLine" : 103
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-utils/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 28,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-cache/prompt-cache-files/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 26,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/context/AIAgentLLMContextImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 105,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 85,
      "startLine" : 36,
      "endLine" : 44,
      "cleanedStartLine" : 18,
      "cleanedEndLine" : 26
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/wasmJsMain/kotlin/ai/koog/agents/core/agent/context/AIAgentLLMContext.kt",
        "extension" : "kt",
        "linesOfCode" : 32,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 21,
      "endLine" : 29,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 16
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 31,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openrouter-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 25,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 17,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-sql/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 57,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 45,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "embeddings/embeddings-llm/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 44,
        "components" : [ "primary::embeddings" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-mcp/src/commonTest/kotlin/ai/koog/agents/mcp/DefaultMcpToolDescriptorParserTest.kt",
        "extension" : "kt",
        "linesOfCode" : 726,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 614,
      "startLine" : 750,
      "endLine" : 758,
      "cleanedStartLine" : 546,
      "cleanedEndLine" : 554
    }, {
      "file" : {
        "relativePath" : "agents/agents-mcp/src/commonTest/kotlin/ai/koog/agents/mcp/DefaultMcpToolDescriptorParserTest.kt",
        "extension" : "kt",
        "linesOfCode" : 726,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 614,
      "startLine" : 766,
      "endLine" : 774,
      "cleanedStartLine" : 562,
      "cleanedEndLine" : 570
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-sql/src/jvmTest/kotlin/ai/koog/agents/features/sql/providers/ExposedPersistenceFilterPostgresTest.kt",
        "extension" : "kt",
        "linesOfCode" : 133,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 99,
      "startLine" : 135,
      "endLine" : 143,
      "cleanedStartLine" : 75,
      "cleanedEndLine" : 83
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-sql/src/jvmTest/kotlin/ai/koog/agents/features/sql/providers/MySQLPersistencyStorageProviderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 106,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 76,
      "startLine" : 125,
      "endLine" : 133,
      "cleanedStartLine" : 68,
      "cleanedEndLine" : 76
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 39,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "koog-ktor/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 58,
        "components" : [ "primary::koog-ktor" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 40,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 29,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 19,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 34,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 24,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-mcp/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 41,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 31,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-cache/prompt-cache-files/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 26,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryNodeExecuteSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 307,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 276,
      "startLine" : 266,
      "endLine" : 274,
      "cleanedStartLine" : 210,
      "cleanedEndLine" : 218
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetrySubgraphTest.kt",
        "extension" : "kt",
        "linesOfCode" : 334,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 313,
      "startLine" : 111,
      "endLine" : 119,
      "cleanedStartLine" : 85,
      "cleanedEndLine" : 93
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 47,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "agents/agents-tools/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 38,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-a2a-server/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 32,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "rag/rag-base/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 32,
        "components" : [ "primary::rag" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "embeddings/embeddings-llm/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 44,
        "components" : [ "primary::embeddings" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-llm/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 20,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 14,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-memory/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 37,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 29,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 19,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-ext/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 36,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 48,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-planner/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 36,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-deepseek-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 29,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 19,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-transport/a2a-transport-client-jsonrpc-http/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 44,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "rag/rag-base/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 32,
        "components" : [ "primary::rag" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "http-client/http-client-java/src/main/kotlin/ai/koog/http/client/java/JavaKoogHttpClient.kt",
        "extension" : "kt",
        "linesOfCode" : 182,
        "components" : [ "primary::http-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 144,
      "startLine" : 49,
      "endLine" : 59,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 24
    }, {
      "file" : {
        "relativePath" : "http-client/http-client-okhttp/src/main/kotlin/ai/koog/http/client/okhttp/OkHttpKoogHttpClient.kt",
        "extension" : "kt",
        "linesOfCode" : 173,
        "components" : [ "primary::http-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 127,
      "startLine" : 50,
      "endLine" : 60,
      "cleanedStartLine" : 12,
      "cleanedEndLine" : 20
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-transport/a2a-transport-server-jsonrpc-http/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 41,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-sql/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 57,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 45,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-deepseek-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 29,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 19,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "rag/vector-storage/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 35,
        "components" : [ "primary::rag" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-a2a-core/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 31,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-acp/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 26,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-ext/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 36,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "koog-ktor/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 58,
        "components" : [ "primary::koog-ktor" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 40,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-tools/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 38,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "agents/agents-utils/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 28,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicModels.kt",
        "extension" : "kt",
        "linesOfCode" : 195,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 178,
      "startLine" : 199,
      "endLine" : 207,
      "cleanedStartLine" : 95,
      "cleanedEndLine" : 103
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicModels.kt",
        "extension" : "kt",
        "linesOfCode" : 195,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 178,
      "startLine" : 250,
      "endLine" : 258,
      "cleanedStartLine" : 125,
      "cleanedEndLine" : 133
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/context/AIAgentLLMContextImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 105,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 85,
      "startLine" : 36,
      "endLine" : 44,
      "cleanedStartLine" : 18,
      "cleanedEndLine" : 26
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmMain/kotlin/ai/koog/agents/core/agent/context/AIAgentLLMContext.kt",
        "extension" : "kt",
        "linesOfCode" : 82,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 59,
      "startLine" : 44,
      "endLine" : 52,
      "cleanedStartLine" : 24,
      "cleanedEndLine" : 32
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-transport/a2a-transport-server-jsonrpc-http/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 41,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "rag/vector-storage/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 35,
        "components" : [ "primary::rag" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-sql/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 57,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 45,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-cache/prompt-cache-model/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 26,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-mcp/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 41,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 31,
      "startLine" : 3,
      "endLine" : 15,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 34,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 24,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-transport/a2a-transport-client-jsonrpc-http/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 44,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "rag/vector-storage/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 35,
        "components" : [ "primary::rag" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/google/GoogleLLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 653,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 482,
      "startLine" : 259,
      "endLine" : 267,
      "cleanedStartLine" : 118,
      "cleanedEndLine" : 126
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client-base/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/base/AbstractOpenAILLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 412,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 304,
      "startLine" : 257,
      "endLine" : 265,
      "cleanedStartLine" : 125,
      "cleanedEndLine" : 133
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-transport/a2a-transport-core-jsonrpc/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 37,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-cache/prompt-cache-files/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 26,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-a2a-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 32,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 31,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerTest.kt",
        "extension" : "kt",
        "linesOfCode" : 521,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 437,
      "startLine" : 104,
      "endLine" : 113,
      "cleanedStartLine" : 21,
      "cleanedEndLine" : 29
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageRemoteWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 816,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 671,
      "startLine" : 193,
      "endLine" : 202,
      "cleanedStartLine" : 72,
      "cleanedEndLine" : 80
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-a2a-core/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 31,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-tokenizer/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 36,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 24,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 41,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-llm/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 20,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 14,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 34,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 24,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "rag/vector-storage/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 35,
        "components" : [ "primary::rag" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-planner/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 36,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 51,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-a2a-core/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 31,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-cache/prompt-cache-redis/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 35,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 31,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-processor/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 38,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-transport/a2a-transport-core-jsonrpc/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 37,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-sql/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 57,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 45,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-a2a-server/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 32,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "rag/vector-storage/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 35,
        "components" : [ "primary::rag" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/mistralai/MistralAILLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 248,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 184,
      "startLine" : 196,
      "endLine" : 204,
      "cleanedStartLine" : 102,
      "cleanedEndLine" : 110
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/mistralai/MistralAILLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 248,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 184,
      "startLine" : 262,
      "endLine" : 270,
      "cleanedStartLine" : 142,
      "cleanedEndLine" : 150
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-core/src/commonMain/kotlin/ai/koog/a2a/utils/RWLock.kt",
        "extension" : "kt",
        "linesOfCode" : 31,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 19,
      "startLine" : 24,
      "endLine" : 35,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/utils/RWLock.kt",
        "extension" : "kt",
        "linesOfCode" : 29,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 17,
      "endLine" : 28,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 15
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-deepseek-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 29,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 19,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-processor/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 38,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-a2a-core/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 31,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-processor/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 38,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-processor/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 38,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "rag/vector-storage/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 35,
        "components" : [ "primary::rag" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryNodeExecuteSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 307,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 276,
      "startLine" : 68,
      "endLine" : 76,
      "cleanedStartLine" : 41,
      "cleanedEndLine" : 49
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetrySubgraphTest.kt",
        "extension" : "kt",
        "linesOfCode" : 334,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 313,
      "startLine" : 111,
      "endLine" : 119,
      "cleanedStartLine" : 85,
      "cleanedEndLine" : 93
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-transport/a2a-transport-client-jsonrpc-http/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 44,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "agents/agents-test/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 39,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-tokenizer/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 44,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 34,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 24,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-transport/a2a-transport-client-jsonrpc-http/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 44,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-a2a-server/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 32,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/dashscope/DashscopeParams.kt",
        "extension" : "kt",
        "linesOfCode" : 159,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 144,
      "startLine" : 154,
      "endLine" : 164,
      "cleanedStartLine" : 111,
      "cleanedEndLine" : 119
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-deepseek-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/deepseek/DeepSeekParams.kt",
        "extension" : "kt",
        "linesOfCode" : 143,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 139,
      "endLine" : 149,
      "cleanedStartLine" : 99,
      "cleanedEndLine" : 107
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryInferenceSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 556,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 517,
      "startLine" : 450,
      "endLine" : 458,
      "cleanedStartLine" : 366,
      "cleanedEndLine" : 374
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryInferenceSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 556,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 517,
      "startLine" : 487,
      "endLine" : 495,
      "cleanedStartLine" : 403,
      "cleanedEndLine" : 411
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/StructuredOutputWithToolsIntegrationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 269,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 223,
      "startLine" : 79,
      "endLine" : 88,
      "cleanedStartLine" : 51,
      "cleanedEndLine" : 59
    }, {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/StructuredOutputWithToolsIntegrationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 269,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 223,
      "startLine" : 96,
      "endLine" : 105,
      "cleanedStartLine" : 65,
      "cleanedEndLine" : 73
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerTest.kt",
        "extension" : "kt",
        "linesOfCode" : 521,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 437,
      "startLine" : 315,
      "endLine" : 323,
      "cleanedStartLine" : 199,
      "cleanedEndLine" : 207
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerTest.kt",
        "extension" : "kt",
        "linesOfCode" : 521,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 437,
      "startLine" : 350,
      "endLine" : 358,
      "cleanedStartLine" : 234,
      "cleanedEndLine" : 242
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicParams.kt",
        "extension" : "kt",
        "linesOfCode" : 154,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 135,
      "startLine" : 12,
      "endLine" : 20,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 13
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/mistralai/MistralAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 145,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 133,
      "startLine" : 9,
      "endLine" : 17,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 13
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-ext/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 36,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-processor/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 38,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 47,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openrouter-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 25,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 17,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/session/AIAgentLLMWriteSession.kt",
        "extension" : "kt",
        "linesOfCode" : 188,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 155,
      "startLine" : 62,
      "endLine" : 70,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/wasmJsMain/kotlin/ai/koog/agents/core/agent/session/AIAgentLLMWriteSession.kt",
        "extension" : "kt",
        "linesOfCode" : 61,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 45,
      "startLine" : 27,
      "endLine" : 35,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 16
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-test/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 39,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-deepseek-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 29,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 19,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/google/GoogleParams.kt",
        "extension" : "kt",
        "linesOfCode" : 115,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 103,
      "startLine" : 106,
      "endLine" : 114,
      "cleanedStartLine" : 72,
      "cleanedEndLine" : 80
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openrouter-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openrouter/OpenRouterParams.kt",
        "extension" : "kt",
        "linesOfCode" : 197,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 177,
      "startLine" : 177,
      "endLine" : 185,
      "cleanedStartLine" : 121,
      "cleanedEndLine" : 129
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-acp/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 26,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-structure/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 39,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-planner/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 36,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 31,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-cache/prompt-cache-redis/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 35,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client-base/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 40,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 28,
      "startLine" : 3,
      "endLine" : 13,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-tokenizer/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 44,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-cache/prompt-cache-redis/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 35,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 47,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-memory/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 37,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 3,
      "endLine" : 14,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/BedrockLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 751,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 628,
      "startLine" : 600,
      "endLine" : 607,
      "cleanedStartLine" : 395,
      "cleanedEndLine" : 402
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/BedrockLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 751,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 628,
      "startLine" : 638,
      "endLine" : 645,
      "cleanedStartLine" : 425,
      "cleanedEndLine" : 432
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-tools/src/jsMain/kotlin/ai/koog/agents/core/tools/ToolRegistryBuilder.kt",
        "extension" : "kt",
        "linesOfCode" : 9,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 8,
      "startLine" : 1,
      "endLine" : 13,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 8
    }, {
      "file" : {
        "relativePath" : "agents/agents-tools/src/jvmMain/kotlin/ai/koog/agents/core/tools/ToolRegistryBuilder.kt",
        "extension" : "kt",
        "linesOfCode" : 42,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 30,
      "startLine" : 1,
      "endLine" : 22,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 8
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client-base/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/base/AbstractOpenAILLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 412,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 304,
      "startLine" : 208,
      "endLine" : 215,
      "cleanedStartLine" : 87,
      "cleanedEndLine" : 94
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAILLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 711,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 554,
      "startLine" : 532,
      "endLine" : 539,
      "cleanedStartLine" : 308,
      "cleanedEndLine" : 315
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/TestStrategies.kt",
        "extension" : "kt",
        "linesOfCode" : 398,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 340,
      "startLine" : 321,
      "endLine" : 329,
      "cleanedStartLine" : 219,
      "cleanedEndLine" : 226
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/TestStrategies.kt",
        "extension" : "kt",
        "linesOfCode" : 398,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 340,
      "startLine" : 356,
      "endLine" : 364,
      "cleanedStartLine" : 241,
      "cleanedEndLine" : 248
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-mcp-server/src/commonMain/kotlin/ai/koog/agents/mcp/server/McpServer.kt",
        "extension" : "kt",
        "linesOfCode" : 163,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 109,
      "startLine" : 160,
      "endLine" : 172,
      "cleanedStartLine" : 83,
      "cleanedEndLine" : 90
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/google/GoogleLLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 653,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 482,
      "startLine" : 561,
      "endLine" : 569,
      "cleanedStartLine" : 312,
      "cleanedEndLine" : 319
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageFileWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 509,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 418,
      "startLine" : 104,
      "endLine" : 111,
      "cleanedStartLine" : 29,
      "cleanedEndLine" : 36
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageTestWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 623,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 501,
      "startLine" : 390,
      "endLine" : 397,
      "cleanedStartLine" : 238,
      "cleanedEndLine" : 245
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/feature/AIAgentPipelineTest.kt",
        "extension" : "kt",
        "linesOfCode" : 736,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 595,
      "startLine" : 591,
      "endLine" : 601,
      "cleanedStartLine" : 380,
      "cleanedEndLine" : 387
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/feature/AIAgentPipelineTest.kt",
        "extension" : "kt",
        "linesOfCode" : 736,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 595,
      "startLine" : 705,
      "endLine" : 718,
      "cleanedStartLine" : 460,
      "cleanedEndLine" : 467
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/BedrockLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 751,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 628,
      "startLine" : 600,
      "endLine" : 607,
      "cleanedStartLine" : 395,
      "cleanedEndLine" : 402
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/BedrockLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 751,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 628,
      "startLine" : 723,
      "endLine" : 730,
      "cleanedStartLine" : 497,
      "cleanedEndLine" : 504
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/feature/AIAgentPipelineTest.kt",
        "extension" : "kt",
        "linesOfCode" : 736,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 595,
      "startLine" : 653,
      "endLine" : 663,
      "cleanedStartLine" : 423,
      "cleanedEndLine" : 430
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/feature/AIAgentPipelineTest.kt",
        "extension" : "kt",
        "linesOfCode" : 736,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 595,
      "startLine" : 705,
      "endLine" : 718,
      "cleanedStartLine" : 460,
      "cleanedEndLine" : 467
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/BedrockLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 751,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 628,
      "startLine" : 600,
      "endLine" : 607,
      "cleanedStartLine" : 395,
      "cleanedEndLine" : 402
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/BedrockLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 751,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 628,
      "startLine" : 662,
      "endLine" : 669,
      "cleanedStartLine" : 445,
      "cleanedEndLine" : 452
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-server/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 50,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 16,
      "endLine" : 26,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 18
    }, {
      "file" : {
        "relativePath" : "a2a/a2a-transport/a2a-transport-client-jsonrpc-http/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 44,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 16,
      "endLine" : 26,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 18
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/feature/AIAgentPipelineTest.kt",
        "extension" : "kt",
        "linesOfCode" : 736,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 595,
      "startLine" : 591,
      "endLine" : 601,
      "cleanedStartLine" : 380,
      "cleanedEndLine" : 387
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/feature/AIAgentPipelineTest.kt",
        "extension" : "kt",
        "linesOfCode" : 736,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 595,
      "startLine" : 653,
      "endLine" : 663,
      "cleanedStartLine" : 423,
      "cleanedEndLine" : 430
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-deepseek-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/deepseek/DeepSeekParams.kt",
        "extension" : "kt",
        "linesOfCode" : 143,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 111,
      "endLine" : 118,
      "cleanedStartLine" : 72,
      "cleanedEndLine" : 79
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/mistralai/MistralAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 145,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 133,
      "startLine" : 9,
      "endLine" : 16,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 12
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-llms/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 42,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 3,
      "endLine" : 13,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 8
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-xml/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 27,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 17,
      "startLine" : 3,
      "endLine" : 13,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 8
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/dashscope/DashscopeParams.kt",
        "extension" : "kt",
        "linesOfCode" : 159,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 144,
      "startLine" : 174,
      "endLine" : 181,
      "cleanedStartLine" : 127,
      "cleanedEndLine" : 134
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/mistralai/MistralAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 145,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 133,
      "startLine" : 165,
      "endLine" : 172,
      "cleanedStartLine" : 117,
      "cleanedEndLine" : 124
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/BedrockLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 751,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 628,
      "startLine" : 61,
      "endLine" : 68,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 12
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/BedrockLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 751,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 628,
      "startLine" : 845,
      "endLine" : 852,
      "cleanedStartLine" : 593,
      "cleanedEndLine" : 600
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/SubgraphCheckpointsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 183,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 146,
      "startLine" : 150,
      "endLine" : 158,
      "cleanedStartLine" : 102,
      "cleanedEndLine" : 109
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/SubgraphCheckpointsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 183,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 146,
      "startLine" : 190,
      "endLine" : 198,
      "cleanedStartLine" : 131,
      "cleanedEndLine" : 138
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicParams.kt",
        "extension" : "kt",
        "linesOfCode" : 154,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 135,
      "startLine" : 12,
      "endLine" : 19,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 12
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/google/GoogleParams.kt",
        "extension" : "kt",
        "linesOfCode" : 115,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 103,
      "startLine" : 90,
      "endLine" : 97,
      "cleanedStartLine" : 57,
      "cleanedEndLine" : 64
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerTest.kt",
        "extension" : "kt",
        "linesOfCode" : 521,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 437,
      "startLine" : 104,
      "endLine" : 111,
      "cleanedStartLine" : 21,
      "cleanedEndLine" : 28
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageTestWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 623,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 501,
      "startLine" : 390,
      "endLine" : 397,
      "cleanedStartLine" : 238,
      "cleanedEndLine" : 245
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/google/GoogleLLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 653,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 482,
      "startLine" : 561,
      "endLine" : 569,
      "cleanedStartLine" : 312,
      "cleanedEndLine" : 319
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client-base/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/base/OpenAICompatibleToolDescriptorSchemaGenerator.kt",
        "extension" : "kt",
        "linesOfCode" : 73,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 42,
      "startLine" : 41,
      "endLine" : 48,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 23
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 120,
      "endLine" : 131,
      "cleanedStartLine" : 74,
      "cleanedEndLine" : 81
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 139,
      "endLine" : 150,
      "cleanedStartLine" : 87,
      "cleanedEndLine" : 94
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-server/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 50,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 6,
      "endLine" : 15,
      "cleanedStartLine" : 3,
      "cleanedEndLine" : 10
    }, {
      "file" : {
        "relativePath" : "a2a/a2a-test/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 31,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 1,
      "endLine" : 10,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 8
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-planner/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 36,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 26,
      "endLine" : 36,
      "cleanedStartLine" : 17,
      "cleanedEndLine" : 24
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-structure/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 39,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 24,
      "endLine" : 34,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 22
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/GenAIAgentSpanUtilsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 329,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 292,
      "startLine" : 53,
      "endLine" : 63,
      "cleanedStartLine" : 28,
      "cleanedEndLine" : 35
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/GenAIAgentSpanUtilsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 329,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 292,
      "startLine" : 154,
      "endLine" : 164,
      "cleanedStartLine" : 99,
      "cleanedEndLine" : 106
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicToolSerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 156,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 135,
      "startLine" : 97,
      "endLine" : 104,
      "cleanedStartLine" : 66,
      "cleanedEndLine" : 73
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicToolSerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 156,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 135,
      "startLine" : 141,
      "endLine" : 148,
      "cleanedStartLine" : 103,
      "cleanedEndLine" : 110
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/GenAIAgentSpanUtilsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 329,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 292,
      "startLine" : 155,
      "endLine" : 166,
      "cleanedStartLine" : 100,
      "cleanedEndLine" : 107
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/GenAIAgentSpanUtilsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 329,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 292,
      "startLine" : 206,
      "endLine" : 217,
      "cleanedStartLine" : 138,
      "cleanedEndLine" : 145
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/AIAgentService.kt",
        "extension" : "kt",
        "linesOfCode" : 228,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 197,
      "startLine" : 438,
      "endLine" : 445,
      "cleanedStartLine" : 131,
      "cleanedEndLine" : 138
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/AIAgentService.kt",
        "extension" : "kt",
        "linesOfCode" : 228,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 197,
      "startLine" : 486,
      "endLine" : 493,
      "cleanedStartLine" : 156,
      "cleanedEndLine" : 163
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageFileWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 509,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 418,
      "startLine" : 407,
      "endLine" : 418,
      "cleanedStartLine" : 284,
      "cleanedEndLine" : 291
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageLogWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 480,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 396,
      "startLine" : 347,
      "endLine" : 358,
      "cleanedStartLine" : 246,
      "cleanedEndLine" : 253
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 328,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 286,
      "startLine" : 205,
      "endLine" : 212,
      "cleanedStartLine" : 130,
      "cleanedEndLine" : 137
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 328,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 286,
      "startLine" : 235,
      "endLine" : 242,
      "cleanedStartLine" : 157,
      "cleanedEndLine" : 164
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicParams.kt",
        "extension" : "kt",
        "linesOfCode" : 154,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 135,
      "startLine" : 124,
      "endLine" : 131,
      "cleanedStartLine" : 75,
      "cleanedEndLine" : 82
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-deepseek-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/deepseek/DeepSeekParams.kt",
        "extension" : "kt",
        "linesOfCode" : 143,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 9,
      "endLine" : 16,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 12
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageFileWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 509,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 418,
      "startLine" : 407,
      "endLine" : 418,
      "cleanedStartLine" : 284,
      "cleanedEndLine" : 291
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageLogWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 480,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 396,
      "startLine" : 375,
      "endLine" : 386,
      "cleanedStartLine" : 263,
      "cleanedEndLine" : 270
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 381,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 343,
      "startLine" : 422,
      "endLine" : 429,
      "cleanedStartLine" : 289,
      "cleanedEndLine" : 296
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonMain/kotlin/ai/koog/prompt/params/LLMParams.kt",
        "extension" : "kt",
        "linesOfCode" : 169,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 141,
      "startLine" : 158,
      "endLine" : 165,
      "cleanedStartLine" : 67,
      "cleanedEndLine" : 74
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-deepseek-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/deepseek/DeepSeekLLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 131,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 91,
      "startLine" : 86,
      "endLine" : 93,
      "cleanedStartLine" : 27,
      "cleanedEndLine" : 34
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAILLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 711,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 554,
      "startLine" : 127,
      "endLine" : 134,
      "cleanedStartLine" : 28,
      "cleanedEndLine" : 35
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client-base/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/base/AbstractOpenAILLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 412,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 304,
      "startLine" : 208,
      "endLine" : 215,
      "cleanedStartLine" : 87,
      "cleanedEndLine" : 94
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAILLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 711,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 554,
      "startLine" : 496,
      "endLine" : 503,
      "cleanedStartLine" : 287,
      "cleanedEndLine" : 294
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/TestStrategies.kt",
        "extension" : "kt",
        "linesOfCode" : 398,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 340,
      "startLine" : 56,
      "endLine" : 64,
      "cleanedStartLine" : 29,
      "cleanedEndLine" : 36
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/TestStrategies.kt",
        "extension" : "kt",
        "linesOfCode" : 398,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 340,
      "startLine" : 321,
      "endLine" : 329,
      "cleanedStartLine" : 219,
      "cleanedEndLine" : 226
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/google/GoogleLLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 653,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 482,
      "startLine" : 260,
      "endLine" : 267,
      "cleanedStartLine" : 119,
      "cleanedEndLine" : 126
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client-base/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/base/AbstractOpenAILLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 412,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 304,
      "startLine" : 208,
      "endLine" : 215,
      "cleanedStartLine" : 87,
      "cleanedEndLine" : 94
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-test/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 31,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 1,
      "endLine" : 10,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 8
    }, {
      "file" : {
        "relativePath" : "a2a/a2a-transport/a2a-transport-core-jsonrpc/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 37,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 6,
      "endLine" : 15,
      "cleanedStartLine" : 3,
      "cleanedEndLine" : 10
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipeline.kt",
        "extension" : "kt",
        "linesOfCode" : 448,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 394,
      "startLine" : 458,
      "endLine" : 465,
      "cleanedStartLine" : 153,
      "cleanedEndLine" : 160
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 328,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 286,
      "startLine" : 225,
      "endLine" : 232,
      "cleanedStartLine" : 148,
      "cleanedEndLine" : 155
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-llms/src/commonTest/kotlin/ai/koog/prompt/executor/llms/MultiLLMPromptExecutorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 206,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 155,
      "startLine" : 154,
      "endLine" : 163,
      "cleanedStartLine" : 86,
      "cleanedEndLine" : 93
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-llms/src/commonTest/kotlin/ai/koog/prompt/executor/llms/MultiLLMPromptExecutorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 206,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 155,
      "startLine" : 204,
      "endLine" : 213,
      "cleanedStartLine" : 126,
      "cleanedEndLine" : 133
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-llms/src/commonTest/kotlin/ai/koog/prompt/executor/llms/MultiLLMPromptExecutorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 206,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 155,
      "startLine" : 154,
      "endLine" : 163,
      "cleanedStartLine" : 86,
      "cleanedEndLine" : 93
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-llms/src/commonTest/kotlin/ai/koog/prompt/executor/llms/MultiLLMPromptExecutorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 206,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 155,
      "startLine" : 179,
      "endLine" : 188,
      "cleanedStartLine" : 106,
      "cleanedEndLine" : 113
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 381,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 343,
      "startLine" : 175,
      "endLine" : 182,
      "cleanedStartLine" : 104,
      "cleanedEndLine" : 111
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openrouter-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openrouter/OpenRouterParams.kt",
        "extension" : "kt",
        "linesOfCode" : 197,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 177,
      "startLine" : 10,
      "endLine" : 17,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 12
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-tools/src/androidMain/kotlin/ai/koog/agents/core/tools/ToolRegistryBuilder.kt",
        "extension" : "kt",
        "linesOfCode" : 9,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 8,
      "startLine" : 1,
      "endLine" : 13,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 8
    }, {
      "file" : {
        "relativePath" : "agents/agents-tools/src/jsMain/kotlin/ai/koog/agents/core/tools/ToolRegistryBuilder.kt",
        "extension" : "kt",
        "linesOfCode" : 9,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 8,
      "startLine" : 1,
      "endLine" : 13,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 8
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerTest.kt",
        "extension" : "kt",
        "linesOfCode" : 521,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 437,
      "startLine" : 534,
      "endLine" : 541,
      "cleanedStartLine" : 418,
      "cleanedEndLine" : 425
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageRemoteWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 816,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 671,
      "startLine" : 598,
      "endLine" : 605,
      "cleanedStartLine" : 438,
      "cleanedEndLine" : 445
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-utils/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 28,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 19,
      "endLine" : 35,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 18
    }, {
      "file" : {
        "relativePath" : "utils/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 31,
        "components" : [ "primary::utils" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 22,
      "endLine" : 38,
      "cleanedStartLine" : 14,
      "cleanedEndLine" : 21
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageLogWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 480,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 396,
      "startLine" : 200,
      "endLine" : 207,
      "cleanedStartLine" : 118,
      "cleanedEndLine" : 125
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageLogWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 480,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 396,
      "startLine" : 213,
      "endLine" : 220,
      "cleanedStartLine" : 131,
      "cleanedEndLine" : 138
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipeline.kt",
        "extension" : "kt",
        "linesOfCode" : 448,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 394,
      "startLine" : 434,
      "endLine" : 441,
      "cleanedStartLine" : 143,
      "cleanedEndLine" : 150
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 846,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 674,
      "startLine" : 443,
      "endLine" : 450,
      "cleanedStartLine" : 275,
      "cleanedEndLine" : 282
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 335,
      "endLine" : 346,
      "cleanedStartLine" : 221,
      "cleanedEndLine" : 228
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 775,
      "endLine" : 786,
      "cleanedStartLine" : 547,
      "cleanedEndLine" : 554
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/google/GoogleParams.kt",
        "extension" : "kt",
        "linesOfCode" : 115,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 103,
      "startLine" : 10,
      "endLine" : 17,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 12
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/mistralai/MistralAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 145,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 133,
      "startLine" : 113,
      "endLine" : 120,
      "cleanedStartLine" : 70,
      "cleanedEndLine" : 77
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/TestStrategies.kt",
        "extension" : "kt",
        "linesOfCode" : 398,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 340,
      "startLine" : 56,
      "endLine" : 64,
      "cleanedStartLine" : 29,
      "cleanedEndLine" : 36
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/TestStrategies.kt",
        "extension" : "kt",
        "linesOfCode" : 398,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 340,
      "startLine" : 356,
      "endLine" : 364,
      "cleanedStartLine" : 241,
      "cleanedEndLine" : 248
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 158,
      "endLine" : 169,
      "cleanedStartLine" : 100,
      "cleanedEndLine" : 107
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 775,
      "endLine" : 786,
      "cleanedStartLine" : 547,
      "cleanedEndLine" : 554
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 381,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 343,
      "startLine" : 396,
      "endLine" : 403,
      "cleanedStartLine" : 264,
      "cleanedEndLine" : 271
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonMain/kotlin/ai/koog/prompt/params/LLMParams.kt",
        "extension" : "kt",
        "linesOfCode" : 169,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 141,
      "startLine" : 92,
      "endLine" : 99,
      "cleanedStartLine" : 46,
      "cleanedEndLine" : 53
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/models/OpenAIChatCompletion.kt",
        "extension" : "kt",
        "linesOfCode" : 92,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 70,
      "startLine" : 252,
      "endLine" : 259,
      "cleanedStartLine" : 48,
      "cleanedEndLine" : 55
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/models/OpenAIChatCompletion.kt",
        "extension" : "kt",
        "linesOfCode" : 92,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 70,
      "startLine" : 297,
      "endLine" : 304,
      "cleanedStartLine" : 60,
      "cleanedEndLine" : 67
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipeline.kt",
        "extension" : "kt",
        "linesOfCode" : 448,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 394,
      "startLine" : 411,
      "endLine" : 418,
      "cleanedStartLine" : 134,
      "cleanedEndLine" : 141
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 846,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 674,
      "startLine" : 429,
      "endLine" : 436,
      "cleanedStartLine" : 263,
      "cleanedEndLine" : 270
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/feature/remote/client/FeatureMessageRemoteClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 388,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 293,
      "startLine" : 280,
      "endLine" : 291,
      "cleanedStartLine" : 157,
      "cleanedEndLine" : 164
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/feature/remote/client/FeatureMessageRemoteClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 388,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 293,
      "startLine" : 344,
      "endLine" : 355,
      "cleanedStartLine" : 193,
      "cleanedEndLine" : 200
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/dashscope/DashscopeParams.kt",
        "extension" : "kt",
        "linesOfCode" : 159,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 144,
      "startLine" : 61,
      "endLine" : 68,
      "cleanedStartLine" : 33,
      "cleanedEndLine" : 40
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openrouter-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openrouter/OpenRouterParams.kt",
        "extension" : "kt",
        "linesOfCode" : 197,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 177,
      "startLine" : 74,
      "endLine" : 81,
      "cleanedStartLine" : 37,
      "cleanedEndLine" : 44
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/BedrockLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 751,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 628,
      "startLine" : 638,
      "endLine" : 645,
      "cleanedStartLine" : 425,
      "cleanedEndLine" : 432
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/BedrockLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 751,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 628,
      "startLine" : 845,
      "endLine" : 852,
      "cleanedStartLine" : 593,
      "cleanedEndLine" : 600
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 381,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 343,
      "startLine" : 302,
      "endLine" : 309,
      "cleanedStartLine" : 191,
      "cleanedEndLine" : 198
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openrouter-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openrouter/OpenRouterParams.kt",
        "extension" : "kt",
        "linesOfCode" : 197,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 177,
      "startLine" : 52,
      "endLine" : 59,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 22
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipeline.kt",
        "extension" : "kt",
        "linesOfCode" : 448,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 394,
      "startLine" : 481,
      "endLine" : 488,
      "cleanedStartLine" : 162,
      "cleanedEndLine" : 169
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 328,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 286,
      "startLine" : 130,
      "endLine" : 137,
      "cleanedStartLine" : 65,
      "cleanedEndLine" : 72
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/mistralai/MistralAILLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 248,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 184,
      "startLine" : 197,
      "endLine" : 204,
      "cleanedStartLine" : 103,
      "cleanedEndLine" : 110
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client-base/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/base/AbstractOpenAILLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 412,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 304,
      "startLine" : 208,
      "endLine" : 215,
      "cleanedStartLine" : 87,
      "cleanedEndLine" : 94
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/BedrockLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 751,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 628,
      "startLine" : 218,
      "endLine" : 225,
      "cleanedStartLine" : 117,
      "cleanedEndLine" : 124
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/modelfamilies/anthropic/BedrockAnthropicClaudeSerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 437,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 346,
      "startLine" : 462,
      "endLine" : 469,
      "cleanedStartLine" : 323,
      "cleanedEndLine" : 330
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicParams.kt",
        "extension" : "kt",
        "linesOfCode" : 154,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 135,
      "startLine" : 63,
      "endLine" : 70,
      "cleanedStartLine" : 31,
      "cleanedEndLine" : 38
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 381,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 343,
      "startLine" : 101,
      "endLine" : 108,
      "cleanedStartLine" : 51,
      "cleanedEndLine" : 58
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-deepseek-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/deepseek/DeepSeekParams.kt",
        "extension" : "kt",
        "linesOfCode" : 143,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 41,
      "endLine" : 48,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 23
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/mistralai/MistralAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 145,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 133,
      "startLine" : 47,
      "endLine" : 54,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 22
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-deepseek-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/deepseek/DeepSeekParams.kt",
        "extension" : "kt",
        "linesOfCode" : 143,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 9,
      "endLine" : 16,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 12
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/mistralai/MistralAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 145,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 133,
      "startLine" : 113,
      "endLine" : 120,
      "cleanedStartLine" : 70,
      "cleanedEndLine" : 77
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/mistralai/MistralAILLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 248,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 184,
      "startLine" : 100,
      "endLine" : 107,
      "cleanedStartLine" : 30,
      "cleanedEndLine" : 37
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openrouter-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openrouter/OpenRouterLLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 100,
      "startLine" : 88,
      "endLine" : 95,
      "cleanedStartLine" : 27,
      "cleanedEndLine" : 34
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/mistralai/models/MistralAISerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 146,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 114,
      "startLine" : 112,
      "endLine" : 121,
      "cleanedStartLine" : 67,
      "cleanedEndLine" : 74
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/openai/models/OpenAIChatCompletionRequestSerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 149,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 109,
      "startLine" : 78,
      "endLine" : 87,
      "cleanedStartLine" : 48,
      "cleanedEndLine" : 55
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/modelfamilies/ai21/BedrockAI21JambaSerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 224,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 176,
      "startLine" : 115,
      "endLine" : 122,
      "cleanedStartLine" : 62,
      "cleanedEndLine" : 69
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/modelfamilies/anthropic/BedrockAnthropicClaudeSerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 437,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 346,
      "startLine" : 102,
      "endLine" : 109,
      "cleanedStartLine" : 57,
      "cleanedEndLine" : 64
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-ollama-client/src/commonTest/kotlin/ai/koog/prompt/executor/ollama/client/dto/OllamaSerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 154,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 131,
      "startLine" : 28,
      "endLine" : 35,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-ollama-client/src/commonTest/kotlin/ai/koog/prompt/executor/ollama/client/dto/OllamaSerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 154,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 131,
      "startLine" : 151,
      "endLine" : 158,
      "cleanedStartLine" : 106,
      "cleanedEndLine" : 113
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicLLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 524,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 393,
      "startLine" : 286,
      "endLine" : 293,
      "cleanedStartLine" : 141,
      "cleanedEndLine" : 148
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/mistralai/MistralAILLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 248,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 184,
      "startLine" : 197,
      "endLine" : 204,
      "cleanedStartLine" : 103,
      "cleanedEndLine" : 110
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 158,
      "endLine" : 169,
      "cleanedStartLine" : 100,
      "cleanedEndLine" : 107
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 912,
      "endLine" : 923,
      "cleanedStartLine" : 646,
      "cleanedEndLine" : 653
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryNodeExecuteSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 307,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 276,
      "startLine" : 47,
      "endLine" : 54,
      "cleanedStartLine" : 20,
      "cleanedEndLine" : 27
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryNodeExecuteSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 307,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 276,
      "startLine" : 209,
      "endLine" : 216,
      "cleanedStartLine" : 153,
      "cleanedEndLine" : 160
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/dashscope/DashscopeParams.kt",
        "extension" : "kt",
        "linesOfCode" : 159,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 144,
      "startLine" : 120,
      "endLine" : 127,
      "cleanedStartLine" : 78,
      "cleanedEndLine" : 85
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonMain/kotlin/ai/koog/prompt/params/LLMParams.kt",
        "extension" : "kt",
        "linesOfCode" : 169,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 141,
      "startLine" : 92,
      "endLine" : 99,
      "cleanedStartLine" : 46,
      "cleanedEndLine" : 53
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 158,
      "endLine" : 169,
      "cleanedStartLine" : 100,
      "cleanedEndLine" : 107
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 867,
      "endLine" : 878,
      "cleanedStartLine" : 610,
      "cleanedEndLine" : 617
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 335,
      "endLine" : 346,
      "cleanedStartLine" : 221,
      "cleanedEndLine" : 228
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 407,
      "endLine" : 418,
      "cleanedStartLine" : 273,
      "cleanedEndLine" : 280
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 177,
      "endLine" : 188,
      "cleanedStartLine" : 113,
      "cleanedEndLine" : 120
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 867,
      "endLine" : 878,
      "cleanedStartLine" : 610,
      "cleanedEndLine" : 617
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 335,
      "endLine" : 346,
      "cleanedStartLine" : 221,
      "cleanedEndLine" : 228
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 368,
      "endLine" : 379,
      "cleanedStartLine" : 243,
      "cleanedEndLine" : 250
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmMain/kotlin/ai/koog/prompt/executor/clients/bedrock/BedrockLLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 542,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 401,
      "startLine" : 264,
      "endLine" : 271,
      "cleanedStartLine" : 120,
      "cleanedEndLine" : 127
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/google/GoogleLLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 653,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 482,
      "startLine" : 212,
      "endLine" : 219,
      "cleanedStartLine" : 89,
      "cleanedEndLine" : 96
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/BedrockLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 751,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 628,
      "startLine" : 600,
      "endLine" : 607,
      "cleanedStartLine" : 395,
      "cleanedEndLine" : 402
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/BedrockLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 751,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 628,
      "startLine" : 845,
      "endLine" : 852,
      "cleanedStartLine" : 593,
      "cleanedEndLine" : 600
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 177,
      "endLine" : 188,
      "cleanedStartLine" : 113,
      "cleanedEndLine" : 120
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 912,
      "endLine" : 923,
      "cleanedStartLine" : 646,
      "cleanedEndLine" : 653
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/mistralai/MistralAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 145,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 133,
      "startLine" : 113,
      "endLine" : 120,
      "cleanedStartLine" : 70,
      "cleanedEndLine" : 77
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openrouter-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openrouter/OpenRouterParams.kt",
        "extension" : "kt",
        "linesOfCode" : 197,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 177,
      "startLine" : 150,
      "endLine" : 157,
      "cleanedStartLine" : 95,
      "cleanedEndLine" : 102
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/BedrockLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 751,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 628,
      "startLine" : 638,
      "endLine" : 645,
      "cleanedStartLine" : 425,
      "cleanedEndLine" : 432
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/BedrockLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 751,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 628,
      "startLine" : 662,
      "endLine" : 669,
      "cleanedStartLine" : 445,
      "cleanedEndLine" : 452
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmMain/kotlin/ai/koog/prompt/executor/clients/bedrock/BedrockLLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 542,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 401,
      "startLine" : 264,
      "endLine" : 271,
      "cleanedStartLine" : 120,
      "cleanedEndLine" : 127
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client-base/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/base/AbstractOpenAILLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 412,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 304,
      "startLine" : 208,
      "endLine" : 215,
      "cleanedStartLine" : 87,
      "cleanedEndLine" : 94
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicLLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 524,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 393,
      "startLine" : 286,
      "endLine" : 293,
      "cleanedStartLine" : 141,
      "cleanedEndLine" : 148
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/mistralai/MistralAILLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 248,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 184,
      "startLine" : 263,
      "endLine" : 270,
      "cleanedStartLine" : 143,
      "cleanedEndLine" : 150
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/BedrockLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 751,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 628,
      "startLine" : 638,
      "endLine" : 645,
      "cleanedStartLine" : 425,
      "cleanedEndLine" : 432
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/BedrockLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 751,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 628,
      "startLine" : 723,
      "endLine" : 730,
      "cleanedStartLine" : 497,
      "cleanedEndLine" : 504
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/google/GoogleParams.kt",
        "extension" : "kt",
        "linesOfCode" : 115,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 103,
      "startLine" : 130,
      "endLine" : 137,
      "cleanedStartLine" : 92,
      "cleanedEndLine" : 99
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonMain/kotlin/ai/koog/prompt/params/LLMParams.kt",
        "extension" : "kt",
        "linesOfCode" : 169,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 141,
      "startLine" : 183,
      "endLine" : 190,
      "cleanedStartLine" : 88,
      "cleanedEndLine" : 95
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicParams.kt",
        "extension" : "kt",
        "linesOfCode" : 154,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 135,
      "startLine" : 124,
      "endLine" : 131,
      "cleanedStartLine" : 75,
      "cleanedEndLine" : 82
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openrouter-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openrouter/OpenRouterParams.kt",
        "extension" : "kt",
        "linesOfCode" : 197,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 177,
      "startLine" : 150,
      "endLine" : 157,
      "cleanedStartLine" : 95,
      "cleanedEndLine" : 102
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/event/AssistantMessageEventTest.kt",
        "extension" : "kt",
        "linesOfCode" : 102,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 85,
      "startLine" : 131,
      "endLine" : 139,
      "cleanedStartLine" : 78,
      "cleanedEndLine" : 85
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/event/ChoiceEventTest.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 120,
      "startLine" : 172,
      "endLine" : 180,
      "cleanedStartLine" : 113,
      "cleanedEndLine" : 120
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/CheckpointsTests.kt",
        "extension" : "kt",
        "linesOfCode" : 793,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 646,
      "startLine" : 414,
      "endLine" : 424,
      "cleanedStartLine" : 253,
      "cleanedEndLine" : 260
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/ai/koog/agents/snapshot/providers/file/FileCheckpointsTests.kt",
        "extension" : "kt",
        "linesOfCode" : 236,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 188,
      "startLine" : 148,
      "endLine" : 158,
      "cleanedStartLine" : 89,
      "cleanedEndLine" : 96
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/CheckpointsTests.kt",
        "extension" : "kt",
        "linesOfCode" : 793,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 646,
      "startLine" : 414,
      "endLine" : 424,
      "cleanedStartLine" : 253,
      "cleanedEndLine" : 260
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/ai/koog/agents/snapshot/providers/file/FileCheckpointsTests.kt",
        "extension" : "kt",
        "linesOfCode" : 236,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 188,
      "startLine" : 244,
      "endLine" : 254,
      "cleanedStartLine" : 166,
      "cleanedEndLine" : 173
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/dashscope/models/DashscopeChatCompletion.kt",
        "extension" : "kt",
        "linesOfCode" : 62,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 47,
      "startLine" : 80,
      "endLine" : 87,
      "cleanedStartLine" : 38,
      "cleanedEndLine" : 45
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openrouter-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openrouter/models/OpenRouterChatCompletion.kt",
        "extension" : "kt",
        "linesOfCode" : 115,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 101,
      "startLine" : 176,
      "endLine" : 183,
      "cleanedStartLine" : 86,
      "cleanedEndLine" : 93
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 158,
      "endLine" : 169,
      "cleanedStartLine" : 100,
      "cleanedEndLine" : 107
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 837,
      "endLine" : 848,
      "cleanedStartLine" : 589,
      "cleanedEndLine" : 596
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 158,
      "endLine" : 169,
      "cleanedStartLine" : 100,
      "cleanedEndLine" : 107
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 804,
      "endLine" : 815,
      "cleanedStartLine" : 567,
      "cleanedEndLine" : 574
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/mistralai/MistralAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 145,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 133,
      "startLine" : 47,
      "endLine" : 54,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 22
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 381,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 343,
      "startLine" : 79,
      "endLine" : 86,
      "cleanedStartLine" : 29,
      "cleanedEndLine" : 36
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/TestStrategies.kt",
        "extension" : "kt",
        "linesOfCode" : 398,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 340,
      "startLine" : 423,
      "endLine" : 432,
      "cleanedStartLine" : 287,
      "cleanedEndLine" : 294
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/TestStrategies.kt",
        "extension" : "kt",
        "linesOfCode" : 398,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 340,
      "startLine" : 455,
      "endLine" : 464,
      "cleanedStartLine" : 307,
      "cleanedEndLine" : 314
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicLLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 524,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 393,
      "startLine" : 286,
      "endLine" : 293,
      "cleanedStartLine" : 141,
      "cleanedEndLine" : 148
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAILLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 711,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 554,
      "startLine" : 496,
      "endLine" : 503,
      "cleanedStartLine" : 287,
      "cleanedEndLine" : 294
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicParams.kt",
        "extension" : "kt",
        "linesOfCode" : 154,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 135,
      "startLine" : 48,
      "endLine" : 55,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 23
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 381,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 343,
      "startLine" : 79,
      "endLine" : 86,
      "cleanedStartLine" : 29,
      "cleanedEndLine" : 36
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicParams.kt",
        "extension" : "kt",
        "linesOfCode" : 154,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 135,
      "startLine" : 124,
      "endLine" : 131,
      "cleanedStartLine" : 75,
      "cleanedEndLine" : 82
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/google/GoogleParams.kt",
        "extension" : "kt",
        "linesOfCode" : 115,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 103,
      "startLine" : 10,
      "endLine" : 17,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 12
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/feature/AIAgentPipelineTest.kt",
        "extension" : "kt",
        "linesOfCode" : 736,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 595,
      "startLine" : 324,
      "endLine" : 334,
      "cleanedStartLine" : 192,
      "cleanedEndLine" : 199
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/feature/AIAgentPipelineTest.kt",
        "extension" : "kt",
        "linesOfCode" : 736,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 595,
      "startLine" : 591,
      "endLine" : 601,
      "cleanedStartLine" : 380,
      "cleanedEndLine" : 387
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 177,
      "endLine" : 188,
      "cleanedStartLine" : 113,
      "cleanedEndLine" : 120
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 775,
      "endLine" : 786,
      "cleanedStartLine" : 547,
      "cleanedEndLine" : 554
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 177,
      "endLine" : 188,
      "cleanedStartLine" : 113,
      "cleanedEndLine" : 120
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 804,
      "endLine" : 815,
      "cleanedStartLine" : 567,
      "cleanedEndLine" : 574
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/mistralai/MistralAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 145,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 133,
      "startLine" : 165,
      "endLine" : 172,
      "cleanedStartLine" : 117,
      "cleanedEndLine" : 124
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonMain/kotlin/ai/koog/prompt/params/LLMParams.kt",
        "extension" : "kt",
        "linesOfCode" : 169,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 141,
      "startLine" : 183,
      "endLine" : 190,
      "cleanedStartLine" : 88,
      "cleanedEndLine" : 95
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/feature/AIAgentPipelineTest.kt",
        "extension" : "kt",
        "linesOfCode" : 736,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 595,
      "startLine" : 324,
      "endLine" : 334,
      "cleanedStartLine" : 192,
      "cleanedEndLine" : 199
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/feature/AIAgentPipelineTest.kt",
        "extension" : "kt",
        "linesOfCode" : 736,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 595,
      "startLine" : 550,
      "endLine" : 560,
      "cleanedStartLine" : 352,
      "cleanedEndLine" : 359
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/span/GenAIAgentSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 227,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 201,
      "startLine" : 117,
      "endLine" : 125,
      "cleanedStartLine" : 76,
      "cleanedEndLine" : 83
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/span/GenAIAgentSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 227,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 201,
      "startLine" : 132,
      "endLine" : 140,
      "cleanedStartLine" : 87,
      "cleanedEndLine" : 94
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 177,
      "endLine" : 188,
      "cleanedStartLine" : 113,
      "cleanedEndLine" : 120
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 837,
      "endLine" : 848,
      "cleanedStartLine" : 589,
      "cleanedEndLine" : 596
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/span/GenAIAgentSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 227,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 201,
      "startLine" : 117,
      "endLine" : 125,
      "cleanedStartLine" : 76,
      "cleanedEndLine" : 83
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/span/GenAIAgentSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 227,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 201,
      "startLine" : 151,
      "endLine" : 159,
      "cleanedStartLine" : 98,
      "cleanedEndLine" : 105
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/BedrockLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 751,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 628,
      "startLine" : 61,
      "endLine" : 68,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 12
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/BedrockLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 751,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 628,
      "startLine" : 232,
      "endLine" : 239,
      "cleanedStartLine" : 127,
      "cleanedEndLine" : 134
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/feature/AIAgentPipelineTest.kt",
        "extension" : "kt",
        "linesOfCode" : 736,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 595,
      "startLine" : 324,
      "endLine" : 334,
      "cleanedStartLine" : 192,
      "cleanedEndLine" : 199
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/feature/AIAgentPipelineTest.kt",
        "extension" : "kt",
        "linesOfCode" : 736,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 595,
      "startLine" : 653,
      "endLine" : 663,
      "cleanedStartLine" : 423,
      "cleanedEndLine" : 430
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/span/SpanCollectorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 437,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 399,
      "startLine" : 84,
      "endLine" : 92,
      "cleanedStartLine" : 52,
      "cleanedEndLine" : 59
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/span/SpanCollectorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 437,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 399,
      "startLine" : 175,
      "endLine" : 184,
      "cleanedStartLine" : 119,
      "cleanedEndLine" : 126
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/feature/AIAgentPipelineTest.kt",
        "extension" : "kt",
        "linesOfCode" : 736,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 595,
      "startLine" : 106,
      "endLine" : 116,
      "cleanedStartLine" : 38,
      "cleanedEndLine" : 45
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/feature/AIAgentPipelineTest.kt",
        "extension" : "kt",
        "linesOfCode" : 736,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 595,
      "startLine" : 550,
      "endLine" : 560,
      "cleanedStartLine" : 352,
      "cleanedEndLine" : 359
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openrouter-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openrouter/OpenRouterParams.kt",
        "extension" : "kt",
        "linesOfCode" : 197,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 177,
      "startLine" : 10,
      "endLine" : 17,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 12
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openrouter-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openrouter/OpenRouterParams.kt",
        "extension" : "kt",
        "linesOfCode" : 197,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 177,
      "startLine" : 150,
      "endLine" : 157,
      "cleanedStartLine" : 95,
      "cleanedEndLine" : 102
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/agent/FunctionalAIAgentTest.kt",
        "extension" : "kt",
        "linesOfCode" : 674,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 581,
      "startLine" : 79,
      "endLine" : 89,
      "cleanedStartLine" : 41,
      "cleanedEndLine" : 48
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/agent/SingleRunStrategyTests.kt",
        "extension" : "kt",
        "linesOfCode" : 234,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 186,
      "startLine" : 15,
      "endLine" : 25,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 12
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/feature/AIAgentPipelineTest.kt",
        "extension" : "kt",
        "linesOfCode" : 736,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 595,
      "startLine" : 106,
      "endLine" : 116,
      "cleanedStartLine" : 38,
      "cleanedEndLine" : 45
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/feature/AIAgentPipelineTest.kt",
        "extension" : "kt",
        "linesOfCode" : 736,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 595,
      "startLine" : 591,
      "endLine" : 601,
      "cleanedStartLine" : 380,
      "cleanedEndLine" : 387
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-deepseek-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/deepseek/DeepSeekParams.kt",
        "extension" : "kt",
        "linesOfCode" : 143,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 9,
      "endLine" : 16,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 12
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 381,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 343,
      "startLine" : 175,
      "endLine" : 182,
      "cleanedStartLine" : 104,
      "cleanedEndLine" : 111
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/BedrockLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 751,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 628,
      "startLine" : 218,
      "endLine" : 225,
      "cleanedStartLine" : 117,
      "cleanedEndLine" : 124
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/modelfamilies/anthropic/BedrockAnthropicClaudeSerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 437,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 346,
      "startLine" : 102,
      "endLine" : 109,
      "cleanedStartLine" : 57,
      "cleanedEndLine" : 64
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/androidMain/kotlin/ai/koog/agents/core/agent/session/AIAgentLLMReadSession.kt",
        "extension" : "kt",
        "linesOfCode" : 16,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 10,
      "startLine" : 3,
      "endLine" : 18,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmMain/kotlin/ai/koog/agents/core/agent/session/AIAgentLLMReadSession.kt",
        "extension" : "kt",
        "linesOfCode" : 158,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 121,
      "startLine" : 4,
      "endLine" : 33,
      "cleanedStartLine" : 3,
      "cleanedEndLine" : 10
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 101,
      "endLine" : 112,
      "cleanedStartLine" : 61,
      "cleanedEndLine" : 68
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 912,
      "endLine" : 923,
      "cleanedStartLine" : 646,
      "cleanedEndLine" : 653
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicLLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 524,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 393,
      "startLine" : 286,
      "endLine" : 293,
      "cleanedStartLine" : 141,
      "cleanedEndLine" : 148
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAILLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 711,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 554,
      "startLine" : 532,
      "endLine" : 539,
      "cleanedStartLine" : 308,
      "cleanedEndLine" : 315
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/feature/AIAgentPipelineTest.kt",
        "extension" : "kt",
        "linesOfCode" : 736,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 595,
      "startLine" : 324,
      "endLine" : 334,
      "cleanedStartLine" : 192,
      "cleanedEndLine" : 199
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/feature/AIAgentPipelineTest.kt",
        "extension" : "kt",
        "linesOfCode" : 736,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 595,
      "startLine" : 438,
      "endLine" : 449,
      "cleanedStartLine" : 273,
      "cleanedEndLine" : 280
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-server/src/jvmTest/kotlin/ai/koog/a2a/server/jsonrpc/BaseA2AServerJsonRpcTest.kt",
        "extension" : "kt",
        "linesOfCode" : 159,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 131,
      "startLine" : 129,
      "endLine" : 136,
      "cleanedStartLine" : 78,
      "cleanedEndLine" : 85
    }, {
      "file" : {
        "relativePath" : "a2a/a2a-server/src/jvmTest/kotlin/ai/koog/a2a/server/jsonrpc/BaseA2AServerJsonRpcTest.kt",
        "extension" : "kt",
        "linesOfCode" : 159,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 131,
      "startLine" : 176,
      "endLine" : 183,
      "cleanedStartLine" : 124,
      "cleanedEndLine" : 131
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-event-handler/src/jvmTest/kotlin/ai/koog/agents/features/eventHandler/feature/EventHandlerTest.kt",
        "extension" : "kt",
        "linesOfCode" : 637,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 548,
      "startLine" : 110,
      "endLine" : 121,
      "cleanedStartLine" : 58,
      "cleanedEndLine" : 65
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-event-handler/src/jvmTest/kotlin/ai/koog/agents/features/eventHandler/feature/EventHandlerTest.kt",
        "extension" : "kt",
        "linesOfCode" : 637,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 548,
      "startLine" : 319,
      "endLine" : 330,
      "cleanedStartLine" : 233,
      "cleanedEndLine" : 240
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/feature/AIAgentPipelineTest.kt",
        "extension" : "kt",
        "linesOfCode" : 736,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 595,
      "startLine" : 106,
      "endLine" : 116,
      "cleanedStartLine" : 38,
      "cleanedEndLine" : 45
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/feature/AIAgentPipelineTest.kt",
        "extension" : "kt",
        "linesOfCode" : 736,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 595,
      "startLine" : 653,
      "endLine" : 663,
      "cleanedStartLine" : 423,
      "cleanedEndLine" : 430
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/event/EventBodyFieldTest.kt",
        "extension" : "kt",
        "linesOfCode" : 236,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 206,
      "startLine" : 17,
      "endLine" : 26,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 12
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/event/EventBodyFieldTest.kt",
        "extension" : "kt",
        "linesOfCode" : 236,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 206,
      "startLine" : 178,
      "endLine" : 187,
      "cleanedStartLine" : 134,
      "cleanedEndLine" : 141
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "http-client/http-client-java/src/main/kotlin/ai/koog/http/client/java/JavaKoogHttpClient.kt",
        "extension" : "kt",
        "linesOfCode" : 182,
        "components" : [ "primary::http-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 144,
      "startLine" : 97,
      "endLine" : 106,
      "cleanedStartLine" : 46,
      "cleanedEndLine" : 53
    }, {
      "file" : {
        "relativePath" : "http-client/http-client-ktor/src/commonMain/kotlin/ai/koog/http/client/ktor/KtorKoogHttpClient.kt",
        "extension" : "kt",
        "linesOfCode" : 165,
        "components" : [ "primary::http-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 113,
      "startLine" : 96,
      "endLine" : 105,
      "cleanedStartLine" : 30,
      "cleanedEndLine" : 37
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-deepseek-client/src/jvmTest/kotlin/deepseek/DeepSeekLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 247,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 191,
      "startLine" : 90,
      "endLine" : 97,
      "cleanedStartLine" : 42,
      "cleanedEndLine" : 49
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-deepseek-client/src/jvmTest/kotlin/deepseek/DeepSeekLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 247,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 191,
      "startLine" : 105,
      "endLine" : 112,
      "cleanedStartLine" : 54,
      "cleanedEndLine" : 61
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/feature/AIAgentPipelineTest.kt",
        "extension" : "kt",
        "linesOfCode" : 736,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 595,
      "startLine" : 106,
      "endLine" : 116,
      "cleanedStartLine" : 38,
      "cleanedEndLine" : 45
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/feature/AIAgentPipelineTest.kt",
        "extension" : "kt",
        "linesOfCode" : 736,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 595,
      "startLine" : 705,
      "endLine" : 718,
      "cleanedStartLine" : 460,
      "cleanedEndLine" : 467
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-deepseek-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/deepseek/DeepSeekParams.kt",
        "extension" : "kt",
        "linesOfCode" : 143,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 111,
      "endLine" : 118,
      "cleanedStartLine" : 72,
      "cleanedEndLine" : 79
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 381,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 343,
      "startLine" : 19,
      "endLine" : 26,
      "cleanedStartLine" : 6,
      "cleanedEndLine" : 13
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/BedrockLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 751,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 628,
      "startLine" : 557,
      "endLine" : 564,
      "cleanedStartLine" : 360,
      "cleanedEndLine" : 367
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/BedrockLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 751,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 628,
      "startLine" : 845,
      "endLine" : 852,
      "cleanedStartLine" : 593,
      "cleanedEndLine" : 600
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/BedrockLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 751,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 628,
      "startLine" : 61,
      "endLine" : 68,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 12
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/BedrockLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 751,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 628,
      "startLine" : 357,
      "endLine" : 364,
      "cleanedStartLine" : 221,
      "cleanedEndLine" : 228
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-deepseek-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/deepseek/DeepSeekParams.kt",
        "extension" : "kt",
        "linesOfCode" : 143,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 9,
      "endLine" : 16,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 12
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 381,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 343,
      "startLine" : 396,
      "endLine" : 403,
      "cleanedStartLine" : 264,
      "cleanedEndLine" : 271
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/BedrockLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 751,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 628,
      "startLine" : 538,
      "endLine" : 545,
      "cleanedStartLine" : 345,
      "cleanedEndLine" : 352
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/BedrockLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 751,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 628,
      "startLine" : 576,
      "endLine" : 583,
      "cleanedStartLine" : 375,
      "cleanedEndLine" : 382
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/dashscope/DashscopeParams.kt",
        "extension" : "kt",
        "linesOfCode" : 159,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 144,
      "startLine" : 44,
      "endLine" : 51,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 23
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-deepseek-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/deepseek/DeepSeekParams.kt",
        "extension" : "kt",
        "linesOfCode" : 143,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 41,
      "endLine" : 48,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 23
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicParams.kt",
        "extension" : "kt",
        "linesOfCode" : 154,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 135,
      "startLine" : 124,
      "endLine" : 131,
      "cleanedStartLine" : 75,
      "cleanedEndLine" : 82
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonMain/kotlin/ai/koog/prompt/params/LLMParams.kt",
        "extension" : "kt",
        "linesOfCode" : 169,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 141,
      "startLine" : 92,
      "endLine" : 99,
      "cleanedStartLine" : 46,
      "cleanedEndLine" : 53
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicLLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 524,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 393,
      "startLine" : 160,
      "endLine" : 167,
      "cleanedStartLine" : 55,
      "cleanedEndLine" : 62
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client-base/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/base/AbstractOpenAILLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 412,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 304,
      "startLine" : 208,
      "endLine" : 215,
      "cleanedStartLine" : 87,
      "cleanedEndLine" : 94
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageFileWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 509,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 418,
      "startLine" : 376,
      "endLine" : 387,
      "cleanedStartLine" : 265,
      "cleanedEndLine" : 272
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageFileWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 509,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 418,
      "startLine" : 407,
      "endLine" : 418,
      "cleanedStartLine" : 284,
      "cleanedEndLine" : 291
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 101,
      "endLine" : 112,
      "cleanedStartLine" : 61,
      "cleanedEndLine" : 68
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 867,
      "endLine" : 878,
      "cleanedStartLine" : 610,
      "cleanedEndLine" : 617
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-deepseek-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/deepseek/DeepSeekParams.kt",
        "extension" : "kt",
        "linesOfCode" : 143,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 55,
      "endLine" : 62,
      "cleanedStartLine" : 30,
      "cleanedEndLine" : 37
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 381,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 343,
      "startLine" : 101,
      "endLine" : 108,
      "cleanedStartLine" : 51,
      "cleanedEndLine" : 58
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 101,
      "endLine" : 112,
      "cleanedStartLine" : 61,
      "cleanedEndLine" : 68
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 775,
      "endLine" : 786,
      "cleanedStartLine" : 547,
      "cleanedEndLine" : 554
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 215,
      "endLine" : 226,
      "cleanedStartLine" : 139,
      "cleanedEndLine" : 146
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 867,
      "endLine" : 878,
      "cleanedStartLine" : 610,
      "cleanedEndLine" : 617
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/google/GoogleLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 480,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 432,
      "startLine" : 459,
      "endLine" : 468,
      "cleanedStartLine" : 356,
      "cleanedEndLine" : 363
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/google/GoogleLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 480,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 432,
      "startLine" : 535,
      "endLine" : 544,
      "cleanedStartLine" : 421,
      "cleanedEndLine" : 428
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicParams.kt",
        "extension" : "kt",
        "linesOfCode" : 154,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 135,
      "startLine" : 63,
      "endLine" : 70,
      "cleanedStartLine" : 31,
      "cleanedEndLine" : 38
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 381,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 343,
      "startLine" : 323,
      "endLine" : 330,
      "cleanedStartLine" : 212,
      "cleanedEndLine" : 219
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "http-client/http-client-ktor/src/commonMain/kotlin/ai/koog/http/client/ktor/KtorKoogHttpClient.kt",
        "extension" : "kt",
        "linesOfCode" : 165,
        "components" : [ "primary::http-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 113,
      "startLine" : 96,
      "endLine" : 105,
      "cleanedStartLine" : 30,
      "cleanedEndLine" : 37
    }, {
      "file" : {
        "relativePath" : "http-client/http-client-okhttp/src/main/kotlin/ai/koog/http/client/okhttp/OkHttpKoogHttpClient.kt",
        "extension" : "kt",
        "linesOfCode" : 173,
        "components" : [ "primary::http-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 127,
      "startLine" : 93,
      "endLine" : 103,
      "cleanedStartLine" : 40,
      "cleanedEndLine" : 47
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 101,
      "endLine" : 112,
      "cleanedStartLine" : 61,
      "cleanedEndLine" : 68
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 837,
      "endLine" : 848,
      "cleanedStartLine" : 589,
      "cleanedEndLine" : 596
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 215,
      "endLine" : 226,
      "cleanedStartLine" : 139,
      "cleanedEndLine" : 146
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 912,
      "endLine" : 923,
      "cleanedStartLine" : 646,
      "cleanedEndLine" : 653
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 101,
      "endLine" : 112,
      "cleanedStartLine" : 61,
      "cleanedEndLine" : 68
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 804,
      "endLine" : 815,
      "cleanedStartLine" : 567,
      "cleanedEndLine" : 574
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/feature/remote/client/FeatureMessageRemoteClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 388,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 293,
      "startLine" : 344,
      "endLine" : 355,
      "cleanedStartLine" : 193,
      "cleanedEndLine" : 200
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/feature/writer/FeatureMessageRemoteWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 204,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 144,
      "startLine" : 115,
      "endLine" : 126,
      "cleanedStartLine" : 55,
      "cleanedEndLine" : 62
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 867,
      "endLine" : 878,
      "cleanedStartLine" : 610,
      "cleanedEndLine" : 617
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 912,
      "endLine" : 923,
      "cleanedStartLine" : 646,
      "cleanedEndLine" : 653
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/span/GenAIAgentSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 227,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 201,
      "startLine" : 151,
      "endLine" : 159,
      "cleanedStartLine" : 98,
      "cleanedEndLine" : 105
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/span/GenAIAgentSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 227,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 201,
      "startLine" : 181,
      "endLine" : 189,
      "cleanedStartLine" : 121,
      "cleanedEndLine" : 128
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/span/GenAIAgentSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 227,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 201,
      "startLine" : 151,
      "endLine" : 159,
      "cleanedStartLine" : 98,
      "cleanedEndLine" : 105
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/span/GenAIAgentSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 227,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 201,
      "startLine" : 206,
      "endLine" : 214,
      "cleanedStartLine" : 137,
      "cleanedEndLine" : 144
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-mcp/src/commonTest/kotlin/ai/koog/agents/mcp/DefaultMcpToolDescriptorParserTest.kt",
        "extension" : "kt",
        "linesOfCode" : 726,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 614,
      "startLine" : 284,
      "endLine" : 293,
      "cleanedStartLine" : 199,
      "cleanedEndLine" : 206
    }, {
      "file" : {
        "relativePath" : "agents/agents-mcp/src/commonTest/kotlin/ai/koog/agents/mcp/DefaultMcpToolDescriptorParserTest.kt",
        "extension" : "kt",
        "linesOfCode" : 726,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 614,
      "startLine" : 638,
      "endLine" : 647,
      "cleanedStartLine" : 459,
      "cleanedEndLine" : 466
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/span/GenAIAgentSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 227,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 201,
      "startLine" : 151,
      "endLine" : 159,
      "cleanedStartLine" : 98,
      "cleanedEndLine" : 105
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/span/GenAIAgentSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 227,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 201,
      "startLine" : 281,
      "endLine" : 289,
      "cleanedStartLine" : 188,
      "cleanedEndLine" : 195
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-tools/src/appleMain/kotlin/ai/koog/agents/core/tools/ToolRegistryBuilder.kt",
        "extension" : "kt",
        "linesOfCode" : 9,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 8,
      "startLine" : 1,
      "endLine" : 13,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 8
    }, {
      "file" : {
        "relativePath" : "agents/agents-tools/src/wasmJsMain/kotlin/ai/koog/agents/core/tools/ToolRegistryBuilder.kt",
        "extension" : "kt",
        "linesOfCode" : 9,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 8,
      "startLine" : 1,
      "endLine" : 13,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 8
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/span/GenAIAgentSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 227,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 201,
      "startLine" : 151,
      "endLine" : 159,
      "cleanedStartLine" : 98,
      "cleanedEndLine" : 105
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/span/GenAIAgentSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 227,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 201,
      "startLine" : 257,
      "endLine" : 265,
      "cleanedStartLine" : 170,
      "cleanedEndLine" : 177
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/handler/tool/ToolCallEventContext.kt",
        "extension" : "kt",
        "linesOfCode" : 62,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 51,
      "startLine" : 51,
      "endLine" : 58,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 22
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/handler/tool/ToolCallEventContext.kt",
        "extension" : "kt",
        "linesOfCode" : 62,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 51,
      "startLine" : 78,
      "endLine" : 85,
      "cleanedStartLine" : 28,
      "cleanedEndLine" : 35
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/BedrockLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 751,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 628,
      "startLine" : 61,
      "endLine" : 68,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 12
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/BedrockLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 751,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 628,
      "startLine" : 600,
      "endLine" : 607,
      "cleanedStartLine" : 395,
      "cleanedEndLine" : 402
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/BedrockLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 751,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 628,
      "startLine" : 61,
      "endLine" : 68,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 12
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/BedrockLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 751,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 628,
      "startLine" : 576,
      "endLine" : 583,
      "cleanedStartLine" : 375,
      "cleanedEndLine" : 382
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/BedrockLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 751,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 628,
      "startLine" : 61,
      "endLine" : 68,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 12
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/BedrockLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 751,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 628,
      "startLine" : 557,
      "endLine" : 564,
      "cleanedStartLine" : 360,
      "cleanedEndLine" : 367
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/utils/SerializationUtilsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 478,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 413,
      "startLine" : 239,
      "endLine" : 248,
      "cleanedStartLine" : 143,
      "cleanedEndLine" : 150
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/utils/SerializationUtilsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 478,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 413,
      "startLine" : 369,
      "endLine" : 378,
      "cleanedStartLine" : 240,
      "cleanedEndLine" : 247
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/BedrockLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 751,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 628,
      "startLine" : 61,
      "endLine" : 68,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 12
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/BedrockLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 751,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 628,
      "startLine" : 538,
      "endLine" : 545,
      "cleanedStartLine" : 345,
      "cleanedEndLine" : 352
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerTestAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 281,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 212,
      "startLine" : 242,
      "endLine" : 255,
      "cleanedStartLine" : 160,
      "cleanedEndLine" : 167
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageRemoteWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 816,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 671,
      "startLine" : 916,
      "endLine" : 929,
      "cleanedStartLine" : 659,
      "cleanedEndLine" : 666
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rag/vector-storage/src/jvmTest/kotlin/ai/koog/rag/vector/JVMFileDocumentEmbeddingStorageTest.kt",
        "extension" : "kt",
        "linesOfCode" : 184,
        "components" : [ "primary::rag" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 148,
      "startLine" : 42,
      "endLine" : 51,
      "cleanedStartLine" : 17,
      "cleanedEndLine" : 24
    }, {
      "file" : {
        "relativePath" : "rag/vector-storage/src/jvmTest/kotlin/ai/koog/rag/vector/JVMFileVectorStorageTest.kt",
        "extension" : "kt",
        "linesOfCode" : 160,
        "components" : [ "primary::rag" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 130,
      "startLine" : 21,
      "endLine" : 30,
      "cleanedStartLine" : 6,
      "cleanedEndLine" : 13
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/span/SpanCollectorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 437,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 399,
      "startLine" : 111,
      "endLine" : 118,
      "cleanedStartLine" : 72,
      "cleanedEndLine" : 79
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/span/SpanCollectorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 437,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 399,
      "startLine" : 175,
      "endLine" : 184,
      "cleanedStartLine" : 119,
      "cleanedEndLine" : 126
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/feature/AIAgentPipelineTest.kt",
        "extension" : "kt",
        "linesOfCode" : 736,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 595,
      "startLine" : 106,
      "endLine" : 116,
      "cleanedStartLine" : 38,
      "cleanedEndLine" : 45
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/feature/AIAgentPipelineTest.kt",
        "extension" : "kt",
        "linesOfCode" : 736,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 595,
      "startLine" : 324,
      "endLine" : 334,
      "cleanedStartLine" : 192,
      "cleanedEndLine" : 199
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/dashscope/DashscopeParams.kt",
        "extension" : "kt",
        "linesOfCode" : 159,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 144,
      "startLine" : 174,
      "endLine" : 181,
      "cleanedStartLine" : 127,
      "cleanedEndLine" : 134
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/google/GoogleParams.kt",
        "extension" : "kt",
        "linesOfCode" : 115,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 103,
      "startLine" : 130,
      "endLine" : 137,
      "cleanedStartLine" : 92,
      "cleanedEndLine" : 99
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-tools/src/jsMain/kotlin/ai/koog/agents/core/tools/ToolRegistryBuilder.kt",
        "extension" : "kt",
        "linesOfCode" : 9,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 8,
      "startLine" : 1,
      "endLine" : 13,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 8
    }, {
      "file" : {
        "relativePath" : "agents/agents-tools/src/wasmJsMain/kotlin/ai/koog/agents/core/tools/ToolRegistryBuilder.kt",
        "extension" : "kt",
        "linesOfCode" : 9,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 8,
      "startLine" : 1,
      "endLine" : 13,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 8
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/dashscope/DashscopeParams.kt",
        "extension" : "kt",
        "linesOfCode" : 159,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 144,
      "startLine" : 61,
      "endLine" : 68,
      "cleanedStartLine" : 33,
      "cleanedEndLine" : 40
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 381,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 343,
      "startLine" : 101,
      "endLine" : 108,
      "cleanedStartLine" : 51,
      "cleanedEndLine" : 58
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-mcp-server/src/jvmTest/kotlin/ai/koog/agents/mcp/server/KoogToolAsMcpToolTest.kt",
        "extension" : "kt",
        "linesOfCode" : 156,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 101,
      "startLine" : 38,
      "endLine" : 51,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 15
    }, {
      "file" : {
        "relativePath" : "agents/agents-mcp-server/src/jvmTest/kotlin/ai/koog/agents/mcp/server/KoogToolAsMcpToolTest.kt",
        "extension" : "kt",
        "linesOfCode" : 156,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 101,
      "startLine" : 55,
      "endLine" : 68,
      "cleanedStartLine" : 18,
      "cleanedEndLine" : 25
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/feature/message/FeatureMessageProcessorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 313,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 270,
      "startLine" : 199,
      "endLine" : 206,
      "cleanedStartLine" : 113,
      "cleanedEndLine" : 120
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/feature/message/FeatureMessageProcessorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 313,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 270,
      "startLine" : 212,
      "endLine" : 219,
      "cleanedStartLine" : 124,
      "cleanedEndLine" : 131
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/google/GoogleLLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 653,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 482,
      "startLine" : 816,
      "endLine" : 823,
      "cleanedStartLine" : 475,
      "cleanedEndLine" : 482
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/mistralai/MistralAILLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 248,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 184,
      "startLine" : 197,
      "endLine" : 204,
      "cleanedStartLine" : 103,
      "cleanedEndLine" : 110
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-tools/src/androidMain/kotlin/ai/koog/agents/core/tools/ToolRegistryBuilder.kt",
        "extension" : "kt",
        "linesOfCode" : 9,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 8,
      "startLine" : 1,
      "endLine" : 13,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 8
    }, {
      "file" : {
        "relativePath" : "agents/agents-tools/src/wasmJsMain/kotlin/ai/koog/agents/core/tools/ToolRegistryBuilder.kt",
        "extension" : "kt",
        "linesOfCode" : 9,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 8,
      "startLine" : 1,
      "endLine" : 13,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 8
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/commonTest/kotlin/ai/koog/prompt/executor/clients/google/structure/GoogleStandardJsonSchemaGeneratorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 323,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 297,
      "startLine" : 13,
      "endLine" : 20,
      "cleanedStartLine" : 3,
      "cleanedEndLine" : 10
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client-base/src/commonTest/kotlin/ai/koog/prompt/executor/clients/openai/structure/OpenAIStandardJsonSchemaGeneratorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 375,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 342,
      "startLine" : 14,
      "endLine" : 21,
      "cleanedStartLine" : 3,
      "cleanedEndLine" : 10
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 215,
      "endLine" : 226,
      "cleanedStartLine" : 139,
      "cleanedEndLine" : 146
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 804,
      "endLine" : 815,
      "cleanedStartLine" : 567,
      "cleanedEndLine" : 574
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 215,
      "endLine" : 226,
      "cleanedStartLine" : 139,
      "cleanedEndLine" : 146
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 775,
      "endLine" : 786,
      "cleanedStartLine" : 547,
      "cleanedEndLine" : 554
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 215,
      "endLine" : 226,
      "cleanedStartLine" : 139,
      "cleanedEndLine" : 146
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 837,
      "endLine" : 848,
      "cleanedStartLine" : 589,
      "cleanedEndLine" : 596
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/google/GoogleLLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 653,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 482,
      "startLine" : 816,
      "endLine" : 823,
      "cleanedStartLine" : 475,
      "cleanedEndLine" : 482
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/mistralai/MistralAILLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 248,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 184,
      "startLine" : 263,
      "endLine" : 270,
      "cleanedStartLine" : 143,
      "cleanedEndLine" : 150
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/feature/AIAgentPipelineTest.kt",
        "extension" : "kt",
        "linesOfCode" : 736,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 595,
      "startLine" : 324,
      "endLine" : 334,
      "cleanedStartLine" : 192,
      "cleanedEndLine" : 199
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/feature/AIAgentPipelineTest.kt",
        "extension" : "kt",
        "linesOfCode" : 736,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 595,
      "startLine" : 705,
      "endLine" : 718,
      "cleanedStartLine" : 460,
      "cleanedEndLine" : 467
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/mistralai/models/MistralAISerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 146,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 114,
      "startLine" : 47,
      "endLine" : 56,
      "cleanedStartLine" : 21,
      "cleanedEndLine" : 28
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-ollama-client/src/commonTest/kotlin/ai/koog/prompt/executor/ollama/client/dto/OllamaSerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 154,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 131,
      "startLine" : 45,
      "endLine" : 54,
      "cleanedStartLine" : 24,
      "cleanedEndLine" : 31
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 846,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 674,
      "startLine" : 347,
      "endLine" : 354,
      "cleanedStartLine" : 191,
      "cleanedEndLine" : 198
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 846,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 674,
      "startLine" : 374,
      "endLine" : 381,
      "cleanedStartLine" : 216,
      "cleanedEndLine" : 223
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 177,
      "endLine" : 188,
      "cleanedStartLine" : 113,
      "cleanedEndLine" : 120
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 335,
      "endLine" : 346,
      "cleanedStartLine" : 221,
      "cleanedEndLine" : 228
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 177,
      "endLine" : 188,
      "cleanedStartLine" : 113,
      "cleanedEndLine" : 120
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 368,
      "endLine" : 379,
      "cleanedStartLine" : 243,
      "cleanedEndLine" : 250
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/modelfamilies/BedrockToolSerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 230,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 205,
      "startLine" : 161,
      "endLine" : 170,
      "cleanedStartLine" : 127,
      "cleanedEndLine" : 134
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/modelfamilies/BedrockToolSerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 230,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 205,
      "startLine" : 194,
      "endLine" : 203,
      "cleanedStartLine" : 155,
      "cleanedEndLine" : 162
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/BedrockLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 751,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 628,
      "startLine" : 61,
      "endLine" : 68,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 12
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/BedrockLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 751,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 628,
      "startLine" : 723,
      "endLine" : 730,
      "cleanedStartLine" : 497,
      "cleanedEndLine" : 504
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 328,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 286,
      "startLine" : 165,
      "endLine" : 172,
      "cleanedStartLine" : 95,
      "cleanedEndLine" : 102
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 846,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 674,
      "startLine" : 374,
      "endLine" : 381,
      "cleanedStartLine" : 216,
      "cleanedEndLine" : 223
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 177,
      "endLine" : 188,
      "cleanedStartLine" : 113,
      "cleanedEndLine" : 120
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 407,
      "endLine" : 418,
      "cleanedStartLine" : 273,
      "cleanedEndLine" : 280
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryNodeExecuteSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 307,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 276,
      "startLine" : 35,
      "endLine" : 44,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 18
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryNodeExecuteSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 307,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 276,
      "startLine" : 181,
      "endLine" : 190,
      "cleanedStartLine" : 133,
      "cleanedEndLine" : 140
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/BedrockLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 751,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 628,
      "startLine" : 61,
      "endLine" : 68,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 12
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/BedrockLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 751,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 628,
      "startLine" : 662,
      "endLine" : 669,
      "cleanedStartLine" : 445,
      "cleanedEndLine" : 452
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/feature/AIAgentPipelineTest.kt",
        "extension" : "kt",
        "linesOfCode" : 736,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 595,
      "startLine" : 106,
      "endLine" : 116,
      "cleanedStartLine" : 38,
      "cleanedEndLine" : 45
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/feature/AIAgentPipelineTest.kt",
        "extension" : "kt",
        "linesOfCode" : 736,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 595,
      "startLine" : 438,
      "endLine" : 449,
      "cleanedStartLine" : 273,
      "cleanedEndLine" : 280
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/BedrockLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 751,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 628,
      "startLine" : 61,
      "endLine" : 68,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 12
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/BedrockLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 751,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 628,
      "startLine" : 638,
      "endLine" : 645,
      "cleanedStartLine" : 425,
      "cleanedEndLine" : 432
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/BedrockLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 751,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 628,
      "startLine" : 61,
      "endLine" : 68,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 12
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/BedrockLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 751,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 628,
      "startLine" : 619,
      "endLine" : 626,
      "cleanedStartLine" : 410,
      "cleanedEndLine" : 417
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-memory/src/jvmTest/kotlin/ai/koog/agents/memory/AIAgentMemoryTest.kt",
        "extension" : "kt",
        "linesOfCode" : 470,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 399,
      "startLine" : 302,
      "endLine" : 310,
      "cleanedStartLine" : 188,
      "cleanedEndLine" : 195
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-memory/src/jvmTest/kotlin/ai/koog/agents/memory/AIAgentMemoryTest.kt",
        "extension" : "kt",
        "linesOfCode" : 470,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 399,
      "startLine" : 474,
      "endLine" : 482,
      "cleanedStartLine" : 319,
      "cleanedEndLine" : 326
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageRemoteWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 816,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 671,
      "startLine" : 764,
      "endLine" : 771,
      "cleanedStartLine" : 539,
      "cleanedEndLine" : 546
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageTestWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 623,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 501,
      "startLine" : 390,
      "endLine" : 397,
      "cleanedStartLine" : 238,
      "cleanedEndLine" : 245
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/debugger/Debugger.kt",
        "extension" : "kt",
        "linesOfCode" : 399,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 318,
      "startLine" : 161,
      "endLine" : 168,
      "cleanedStartLine" : 50,
      "cleanedEndLine" : 57
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/commonMain/kotlin/ai/koog/agents/features/tracing/feature/Tracing.kt",
        "extension" : "kt",
        "linesOfCode" : 335,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 266,
      "startLine" : 125,
      "endLine" : 132,
      "cleanedStartLine" : 17,
      "cleanedEndLine" : 24
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 82,
      "endLine" : 93,
      "cleanedStartLine" : 48,
      "cleanedEndLine" : 55
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 804,
      "endLine" : 815,
      "cleanedStartLine" : 567,
      "cleanedEndLine" : 574
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 401,
      "endLine" : 419,
      "cleanedStartLine" : 211,
      "cleanedEndLine" : 218
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 554,
      "endLine" : 573,
      "cleanedStartLine" : 304,
      "cleanedEndLine" : 311
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 196,
      "endLine" : 207,
      "cleanedStartLine" : 126,
      "cleanedEndLine" : 133
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 407,
      "endLine" : 418,
      "cleanedStartLine" : 273,
      "cleanedEndLine" : 280
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 804,
      "endLine" : 815,
      "cleanedStartLine" : 567,
      "cleanedEndLine" : 574
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 912,
      "endLine" : 923,
      "cleanedStartLine" : 646,
      "cleanedEndLine" : 653
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 82,
      "endLine" : 93,
      "cleanedStartLine" : 48,
      "cleanedEndLine" : 55
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 837,
      "endLine" : 848,
      "cleanedStartLine" : 589,
      "cleanedEndLine" : 596
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-model/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 25,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 17,
      "startLine" : 3,
      "endLine" : 13,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 8
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-markdown/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 27,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 17,
      "startLine" : 3,
      "endLine" : 13,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 8
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 401,
      "endLine" : 419,
      "cleanedStartLine" : 211,
      "cleanedEndLine" : 218
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 617,
      "endLine" : 637,
      "cleanedStartLine" : 343,
      "cleanedEndLine" : 350
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-tools/src/jvmTest/kotlin/ai/koog/agents/core/tools/reflect/ReflectionArgsSerializerTest.kt",
        "extension" : "kt",
        "linesOfCode" : 188,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 148,
      "startLine" : 120,
      "endLine" : 129,
      "cleanedStartLine" : 77,
      "cleanedEndLine" : 84
    }, {
      "file" : {
        "relativePath" : "agents/agents-tools/src/jvmTest/kotlin/ai/koog/agents/core/tools/reflect/ReflectionArgsSerializerTest.kt",
        "extension" : "kt",
        "linesOfCode" : 188,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 148,
      "startLine" : 136,
      "endLine" : 145,
      "cleanedStartLine" : 90,
      "cleanedEndLine" : 97
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 82,
      "endLine" : 93,
      "cleanedStartLine" : 48,
      "cleanedEndLine" : 55
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 775,
      "endLine" : 786,
      "cleanedStartLine" : 547,
      "cleanedEndLine" : 554
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rag/vector-storage/src/jvmTest/kotlin/ai/koog/rag/vector/JVMFileVectorStorageTest.kt",
        "extension" : "kt",
        "linesOfCode" : 160,
        "components" : [ "primary::rag" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 130,
      "startLine" : 21,
      "endLine" : 30,
      "cleanedStartLine" : 6,
      "cleanedEndLine" : 13
    }, {
      "file" : {
        "relativePath" : "rag/vector-storage/src/jvmTest/kotlin/ai/koog/rag/vector/JVMTextFileDocumentEmbeddingStorageTest.kt",
        "extension" : "kt",
        "linesOfCode" : 234,
        "components" : [ "primary::rag" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 193,
      "startLine" : 37,
      "endLine" : 46,
      "cleanedStartLine" : 14,
      "cleanedEndLine" : 21
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicParams.kt",
        "extension" : "kt",
        "linesOfCode" : 154,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 135,
      "startLine" : 12,
      "endLine" : 19,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 12
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 381,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 343,
      "startLine" : 175,
      "endLine" : 182,
      "cleanedStartLine" : 104,
      "cleanedEndLine" : 111
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-planner/src/commonTest/kotlin/ai/koog/agents/planner/GOAPPlannerAgentTest.kt",
        "extension" : "kt",
        "linesOfCode" : 203,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 173,
      "startLine" : 235,
      "endLine" : 243,
      "cleanedStartLine" : 159,
      "cleanedEndLine" : 166
    }, {
      "file" : {
        "relativePath" : "agents/agents-planner/src/commonTest/kotlin/ai/koog/agents/planner/SimpleLLMPlannerAgentTest.kt",
        "extension" : "kt",
        "linesOfCode" : 86,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 64,
      "startLine" : 86,
      "endLine" : 94,
      "cleanedStartLine" : 51,
      "cleanedEndLine" : 58
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-event-handler/src/jvmTest/kotlin/ai/koog/agents/features/eventHandler/feature/EventHandlerTest.kt",
        "extension" : "kt",
        "linesOfCode" : 637,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 548,
      "startLine" : 551,
      "endLine" : 561,
      "cleanedStartLine" : 410,
      "cleanedEndLine" : 417
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-event-handler/src/jvmTest/kotlin/ai/koog/agents/features/eventHandler/feature/EventHandlerTest.kt",
        "extension" : "kt",
        "linesOfCode" : 637,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 548,
      "startLine" : 637,
      "endLine" : 647,
      "cleanedStartLine" : 473,
      "cleanedEndLine" : 480
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 234,
      "endLine" : 245,
      "cleanedStartLine" : 152,
      "cleanedEndLine" : 159
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 272,
      "endLine" : 283,
      "cleanedStartLine" : 178,
      "cleanedEndLine" : 185
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 234,
      "endLine" : 245,
      "cleanedStartLine" : 152,
      "cleanedEndLine" : 159
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 407,
      "endLine" : 418,
      "cleanedStartLine" : 273,
      "cleanedEndLine" : 280
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/dashscope/DashscopeParams.kt",
        "extension" : "kt",
        "linesOfCode" : 159,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 144,
      "startLine" : 120,
      "endLine" : 127,
      "cleanedStartLine" : 78,
      "cleanedEndLine" : 85
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-deepseek-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/deepseek/DeepSeekParams.kt",
        "extension" : "kt",
        "linesOfCode" : 143,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 111,
      "endLine" : 118,
      "cleanedStartLine" : 72,
      "cleanedEndLine" : 79
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/agent/SingleRunStrategyTests.kt",
        "extension" : "kt",
        "linesOfCode" : 234,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 186,
      "startLine" : 161,
      "endLine" : 174,
      "cleanedStartLine" : 100,
      "cleanedEndLine" : 107
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/agent/SingleRunStrategyTests.kt",
        "extension" : "kt",
        "linesOfCode" : 234,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 186,
      "startLine" : 200,
      "endLine" : 213,
      "cleanedStartLine" : 126,
      "cleanedEndLine" : 133
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-deepseek-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/deepseek/DeepSeekParams.kt",
        "extension" : "kt",
        "linesOfCode" : 143,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 55,
      "endLine" : 62,
      "cleanedStartLine" : 30,
      "cleanedEndLine" : 37
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openrouter-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openrouter/OpenRouterParams.kt",
        "extension" : "kt",
        "linesOfCode" : 197,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 177,
      "startLine" : 74,
      "endLine" : 81,
      "cleanedStartLine" : 37,
      "cleanedEndLine" : 44
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/TraceStructureTestBase.kt",
        "extension" : "kt",
        "linesOfCode" : 802,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 688,
      "startLine" : 429,
      "endLine" : 436,
      "cleanedStartLine" : 286,
      "cleanedEndLine" : 293
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/TraceStructureTestBase.kt",
        "extension" : "kt",
        "linesOfCode" : 802,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 688,
      "startLine" : 695,
      "endLine" : 702,
      "cleanedStartLine" : 494,
      "cleanedEndLine" : 501
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/agent/session/AIAgentLLMSessionStructuredOutputTest.kt",
        "extension" : "kt",
        "linesOfCode" : 194,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 154,
      "startLine" : 125,
      "endLine" : 136,
      "cleanedStartLine" : 78,
      "cleanedEndLine" : 85
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/agent/session/AIAgentLLMSessionStructuredOutputTest.kt",
        "extension" : "kt",
        "linesOfCode" : 194,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 154,
      "startLine" : 206,
      "endLine" : 217,
      "cleanedStartLine" : 139,
      "cleanedEndLine" : 146
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/google/GoogleParams.kt",
        "extension" : "kt",
        "linesOfCode" : 115,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 103,
      "startLine" : 130,
      "endLine" : 137,
      "cleanedStartLine" : 92,
      "cleanedEndLine" : 99
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 381,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 343,
      "startLine" : 242,
      "endLine" : 249,
      "cleanedStartLine" : 166,
      "cleanedEndLine" : 173
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 234,
      "endLine" : 245,
      "cleanedStartLine" : 152,
      "cleanedEndLine" : 159
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 368,
      "endLine" : 379,
      "cleanedStartLine" : 243,
      "cleanedEndLine" : 250
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 234,
      "endLine" : 245,
      "cleanedStartLine" : 152,
      "cleanedEndLine" : 159
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 335,
      "endLine" : 346,
      "cleanedStartLine" : 221,
      "cleanedEndLine" : 228
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageLogWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 480,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 396,
      "startLine" : 229,
      "endLine" : 236,
      "cleanedStartLine" : 147,
      "cleanedEndLine" : 154
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageRemoteWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 816,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 671,
      "startLine" : 209,
      "endLine" : 216,
      "cleanedStartLine" : 85,
      "cleanedEndLine" : 92
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/event/EventBodyFieldTest.kt",
        "extension" : "kt",
        "linesOfCode" : 236,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 206,
      "startLine" : 111,
      "endLine" : 120,
      "cleanedStartLine" : 81,
      "cleanedEndLine" : 88
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/event/EventBodyFieldTest.kt",
        "extension" : "kt",
        "linesOfCode" : 236,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 206,
      "startLine" : 124,
      "endLine" : 133,
      "cleanedStartLine" : 91,
      "cleanedEndLine" : 98
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-core/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 40,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 34,
      "endLine" : 50,
      "cleanedStartLine" : 20,
      "cleanedEndLine" : 27
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-structure/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 39,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 32,
      "endLine" : 48,
      "cleanedStartLine" : 20,
      "cleanedEndLine" : 27
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/appleMain/kotlin/ai/koog/agents/core/agent/session/AIAgentLLMReadSession.kt",
        "extension" : "kt",
        "linesOfCode" : 16,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 10,
      "startLine" : 3,
      "endLine" : 18,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmMain/kotlin/ai/koog/agents/core/agent/session/AIAgentLLMReadSession.kt",
        "extension" : "kt",
        "linesOfCode" : 158,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 121,
      "startLine" : 4,
      "endLine" : 33,
      "cleanedStartLine" : 3,
      "cleanedEndLine" : 10
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 82,
      "endLine" : 93,
      "cleanedStartLine" : 48,
      "cleanedEndLine" : 55
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 867,
      "endLine" : 878,
      "cleanedStartLine" : 610,
      "cleanedEndLine" : 617
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 804,
      "endLine" : 815,
      "cleanedStartLine" : 567,
      "cleanedEndLine" : 574
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 867,
      "endLine" : 878,
      "cleanedStartLine" : 610,
      "cleanedEndLine" : 617
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/dashscope/DashscopeParams.kt",
        "extension" : "kt",
        "linesOfCode" : 159,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 144,
      "startLine" : 120,
      "endLine" : 127,
      "cleanedStartLine" : 78,
      "cleanedEndLine" : 85
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/mistralai/MistralAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 145,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 133,
      "startLine" : 9,
      "endLine" : 16,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 12
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageLogWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 480,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 396,
      "startLine" : 245,
      "endLine" : 252,
      "cleanedStartLine" : 163,
      "cleanedEndLine" : 170
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageRemoteWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 816,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 671,
      "startLine" : 209,
      "endLine" : 216,
      "cleanedStartLine" : 85,
      "cleanedEndLine" : 92
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 368,
      "endLine" : 379,
      "cleanedStartLine" : 243,
      "cleanedEndLine" : 250
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 407,
      "endLine" : 418,
      "cleanedStartLine" : 273,
      "cleanedEndLine" : 280
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 381,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 343,
      "startLine" : 19,
      "endLine" : 26,
      "cleanedStartLine" : 6,
      "cleanedEndLine" : 13
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 381,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 343,
      "startLine" : 175,
      "endLine" : 182,
      "cleanedStartLine" : 104,
      "cleanedEndLine" : 111
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/mistralai/MistralAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 145,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 133,
      "startLine" : 9,
      "endLine" : 16,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 12
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/mistralai/MistralAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 145,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 133,
      "startLine" : 113,
      "endLine" : 120,
      "cleanedStartLine" : 70,
      "cleanedEndLine" : 77
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicParams.kt",
        "extension" : "kt",
        "linesOfCode" : 154,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 135,
      "startLine" : 12,
      "endLine" : 19,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 12
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 381,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 343,
      "startLine" : 396,
      "endLine" : 403,
      "cleanedStartLine" : 264,
      "cleanedEndLine" : 271
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 196,
      "endLine" : 207,
      "cleanedStartLine" : 126,
      "cleanedEndLine" : 133
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 234,
      "endLine" : 245,
      "cleanedStartLine" : 152,
      "cleanedEndLine" : 159
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 196,
      "endLine" : 207,
      "cleanedStartLine" : 126,
      "cleanedEndLine" : 133
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 215,
      "endLine" : 226,
      "cleanedStartLine" : 139,
      "cleanedEndLine" : 146
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/span/SpanCollectorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 437,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 399,
      "startLine" : 30,
      "endLine" : 37,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/span/SpanCollectorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 437,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 399,
      "startLine" : 175,
      "endLine" : 184,
      "cleanedStartLine" : 119,
      "cleanedEndLine" : 126
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 196,
      "endLine" : 207,
      "cleanedStartLine" : 126,
      "cleanedEndLine" : 133
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 272,
      "endLine" : 283,
      "cleanedStartLine" : 178,
      "cleanedEndLine" : 185
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 196,
      "endLine" : 207,
      "cleanedStartLine" : 126,
      "cleanedEndLine" : 133
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 253,
      "endLine" : 264,
      "cleanedStartLine" : 165,
      "cleanedEndLine" : 172
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 101,
      "endLine" : 112,
      "cleanedStartLine" : 61,
      "cleanedEndLine" : 68
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 335,
      "endLine" : 346,
      "cleanedStartLine" : 221,
      "cleanedEndLine" : 228
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-transport/a2a-transport-client-jsonrpc-http/src/commonTest/kotlin/ai/koog/a2a/transport/client/jsonrpc/http/HttpJSONRPCClientTransportTest.kt",
        "extension" : "kt",
        "linesOfCode" : 389,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 327,
      "startLine" : 142,
      "endLine" : 151,
      "cleanedStartLine" : 75,
      "cleanedEndLine" : 82
    }, {
      "file" : {
        "relativePath" : "a2a/a2a-transport/a2a-transport-client-jsonrpc-http/src/commonTest/kotlin/ai/koog/a2a/transport/client/jsonrpc/http/HttpJSONRPCClientTransportTest.kt",
        "extension" : "kt",
        "linesOfCode" : 389,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 327,
      "startLine" : 406,
      "endLine" : 415,
      "cleanedStartLine" : 290,
      "cleanedEndLine" : 297
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 381,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 343,
      "startLine" : 374,
      "endLine" : 381,
      "cleanedStartLine" : 242,
      "cleanedEndLine" : 249
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonMain/kotlin/ai/koog/prompt/params/LLMParams.kt",
        "extension" : "kt",
        "linesOfCode" : 169,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 141,
      "startLine" : 83,
      "endLine" : 90,
      "cleanedStartLine" : 37,
      "cleanedEndLine" : 44
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/BedrockLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 751,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 628,
      "startLine" : 619,
      "endLine" : 626,
      "cleanedStartLine" : 410,
      "cleanedEndLine" : 417
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/BedrockLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 751,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 628,
      "startLine" : 845,
      "endLine" : 852,
      "cleanedStartLine" : 593,
      "cleanedEndLine" : 600
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-deepseek-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/deepseek/DeepSeekParams.kt",
        "extension" : "kt",
        "linesOfCode" : 143,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 111,
      "endLine" : 118,
      "cleanedStartLine" : 72,
      "cleanedEndLine" : 79
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openrouter-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openrouter/OpenRouterParams.kt",
        "extension" : "kt",
        "linesOfCode" : 197,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 177,
      "startLine" : 10,
      "endLine" : 17,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 12
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 101,
      "endLine" : 112,
      "cleanedStartLine" : 61,
      "cleanedEndLine" : 68
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 407,
      "endLine" : 418,
      "cleanedStartLine" : 273,
      "cleanedEndLine" : 280
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryNodeExecuteSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 307,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 276,
      "startLine" : 79,
      "endLine" : 89,
      "cleanedStartLine" : 52,
      "cleanedEndLine" : 59
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryNodeExecuteSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 307,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 276,
      "startLine" : 144,
      "endLine" : 154,
      "cleanedStartLine" : 107,
      "cleanedEndLine" : 114
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 101,
      "endLine" : 112,
      "cleanedStartLine" : 61,
      "cleanedEndLine" : 68
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 368,
      "endLine" : 379,
      "cleanedStartLine" : 243,
      "cleanedEndLine" : 250
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/AIAgentBuilder.kt",
        "extension" : "kt",
        "linesOfCode" : 218,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 168,
      "startLine" : 341,
      "endLine" : 348,
      "cleanedStartLine" : 98,
      "cleanedEndLine" : 105
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/AIAgentBuilderImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 136,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 110,
      "startLine" : 151,
      "endLine" : 158,
      "cleanedStartLine" : 102,
      "cleanedEndLine" : 109
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-deepseek-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/deepseek/DeepSeekParams.kt",
        "extension" : "kt",
        "linesOfCode" : 143,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 9,
      "endLine" : 16,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 12
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openrouter-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openrouter/OpenRouterParams.kt",
        "extension" : "kt",
        "linesOfCode" : 197,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 177,
      "startLine" : 150,
      "endLine" : 157,
      "cleanedStartLine" : 95,
      "cleanedEndLine" : 102
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipeline.kt",
        "extension" : "kt",
        "linesOfCode" : 448,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 394,
      "startLine" : 435,
      "endLine" : 442,
      "cleanedStartLine" : 144,
      "cleanedEndLine" : 151
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 328,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 286,
      "startLine" : 215,
      "endLine" : 222,
      "cleanedStartLine" : 139,
      "cleanedEndLine" : 146
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/debugger/Debugger.kt",
        "extension" : "kt",
        "linesOfCode" : 399,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 318,
      "startLine" : 275,
      "endLine" : 282,
      "cleanedStartLine" : 134,
      "cleanedEndLine" : 141
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/commonMain/kotlin/ai/koog/agents/features/tracing/feature/Tracing.kt",
        "extension" : "kt",
        "linesOfCode" : 335,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 266,
      "startLine" : 335,
      "endLine" : 342,
      "cleanedStartLine" : 176,
      "cleanedEndLine" : 183
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/dashscope/DashscopeParams.kt",
        "extension" : "kt",
        "linesOfCode" : 159,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 144,
      "startLine" : 120,
      "endLine" : 127,
      "cleanedStartLine" : 78,
      "cleanedEndLine" : 85
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/google/GoogleParams.kt",
        "extension" : "kt",
        "linesOfCode" : 115,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 103,
      "startLine" : 90,
      "endLine" : 97,
      "cleanedStartLine" : 57,
      "cleanedEndLine" : 64
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 234,
      "endLine" : 245,
      "cleanedStartLine" : 152,
      "cleanedEndLine" : 159
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 253,
      "endLine" : 264,
      "cleanedStartLine" : 165,
      "cleanedEndLine" : 172
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmMain/kotlin/ai/koog/agents/features/opentelemetry/integration/weave/WeaveSpanAdapter.kt",
        "extension" : "kt",
        "linesOfCode" : 173,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 106,
      "startLine" : 101,
      "endLine" : 108,
      "cleanedStartLine" : 38,
      "cleanedEndLine" : 45
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmMain/kotlin/ai/koog/agents/features/opentelemetry/integration/weave/WeaveSpanAdapter.kt",
        "extension" : "kt",
        "linesOfCode" : 173,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 106,
      "startLine" : 162,
      "endLine" : 169,
      "cleanedStartLine" : 68,
      "cleanedEndLine" : 75
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmMain/kotlin/ai/koog/agents/features/opentelemetry/integration/weave/WeaveSpanAdapter.kt",
        "extension" : "kt",
        "linesOfCode" : 173,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 106,
      "startLine" : 101,
      "endLine" : 108,
      "cleanedStartLine" : 38,
      "cleanedEndLine" : 45
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmMain/kotlin/ai/koog/agents/features/opentelemetry/integration/weave/WeaveSpanAdapter.kt",
        "extension" : "kt",
        "linesOfCode" : 173,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 106,
      "startLine" : 212,
      "endLine" : 219,
      "cleanedStartLine" : 92,
      "cleanedEndLine" : 99
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 196,
      "endLine" : 207,
      "cleanedStartLine" : 126,
      "cleanedEndLine" : 133
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 335,
      "endLine" : 346,
      "cleanedStartLine" : 221,
      "cleanedEndLine" : 228
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 196,
      "endLine" : 207,
      "cleanedStartLine" : 126,
      "cleanedEndLine" : 133
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 368,
      "endLine" : 379,
      "cleanedStartLine" : 243,
      "cleanedEndLine" : 250
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipeline.kt",
        "extension" : "kt",
        "linesOfCode" : 448,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 394,
      "startLine" : 332,
      "endLine" : 339,
      "cleanedStartLine" : 100,
      "cleanedEndLine" : 107
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 846,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 674,
      "startLine" : 374,
      "endLine" : 381,
      "cleanedStartLine" : 216,
      "cleanedEndLine" : 223
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/BedrockLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 751,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 628,
      "startLine" : 619,
      "endLine" : 626,
      "cleanedStartLine" : 410,
      "cleanedEndLine" : 417
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/BedrockLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 751,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 628,
      "startLine" : 723,
      "endLine" : 730,
      "cleanedStartLine" : 497,
      "cleanedEndLine" : 504
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/commonTest/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicSerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 335,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 278,
      "startLine" : 105,
      "endLine" : 114,
      "cleanedStartLine" : 61,
      "cleanedEndLine" : 68
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/commonTest/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicSerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 335,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 278,
      "startLine" : 134,
      "endLine" : 143,
      "cleanedStartLine" : 83,
      "cleanedEndLine" : 90
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 381,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 343,
      "startLine" : 19,
      "endLine" : 26,
      "cleanedStartLine" : 6,
      "cleanedEndLine" : 13
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 381,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 343,
      "startLine" : 396,
      "endLine" : 403,
      "cleanedStartLine" : 264,
      "cleanedEndLine" : 271
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/mistralai/MistralAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 145,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 133,
      "startLine" : 9,
      "endLine" : 16,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 12
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openrouter-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openrouter/OpenRouterParams.kt",
        "extension" : "kt",
        "linesOfCode" : 197,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 177,
      "startLine" : 150,
      "endLine" : 157,
      "cleanedStartLine" : 95,
      "cleanedEndLine" : 102
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 101,
      "endLine" : 112,
      "cleanedStartLine" : 61,
      "cleanedEndLine" : 68
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 158,
      "endLine" : 169,
      "cleanedStartLine" : 100,
      "cleanedEndLine" : 107
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 63,
      "endLine" : 74,
      "cleanedStartLine" : 35,
      "cleanedEndLine" : 42
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 253,
      "endLine" : 264,
      "cleanedStartLine" : 165,
      "cleanedEndLine" : 172
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 101,
      "endLine" : 112,
      "cleanedStartLine" : 61,
      "cleanedEndLine" : 68
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 177,
      "endLine" : 188,
      "cleanedStartLine" : 113,
      "cleanedEndLine" : 120
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 381,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 343,
      "startLine" : 33,
      "endLine" : 40,
      "cleanedStartLine" : 18,
      "cleanedEndLine" : 25
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 381,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 343,
      "startLine" : 175,
      "endLine" : 182,
      "cleanedStartLine" : 104,
      "cleanedEndLine" : 111
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 63,
      "endLine" : 74,
      "cleanedStartLine" : 35,
      "cleanedEndLine" : 42
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 272,
      "endLine" : 283,
      "cleanedStartLine" : 178,
      "cleanedEndLine" : 185
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 381,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 343,
      "startLine" : 19,
      "endLine" : 26,
      "cleanedStartLine" : 6,
      "cleanedEndLine" : 13
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openrouter-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openrouter/OpenRouterParams.kt",
        "extension" : "kt",
        "linesOfCode" : 197,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 177,
      "startLine" : 150,
      "endLine" : 157,
      "cleanedStartLine" : 95,
      "cleanedEndLine" : 102
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/dashscope/DashscopeParams.kt",
        "extension" : "kt",
        "linesOfCode" : 159,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 144,
      "startLine" : 44,
      "endLine" : 51,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 23
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 381,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 343,
      "startLine" : 79,
      "endLine" : 86,
      "cleanedStartLine" : 29,
      "cleanedEndLine" : 36
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 215,
      "endLine" : 226,
      "cleanedStartLine" : 139,
      "cleanedEndLine" : 146
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 335,
      "endLine" : 346,
      "cleanedStartLine" : 221,
      "cleanedEndLine" : 228
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 464,
      "endLine" : 482,
      "cleanedStartLine" : 251,
      "cleanedEndLine" : 258
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 617,
      "endLine" : 637,
      "cleanedStartLine" : 343,
      "cleanedEndLine" : 350
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 101,
      "endLine" : 112,
      "cleanedStartLine" : 61,
      "cleanedEndLine" : 68
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 234,
      "endLine" : 245,
      "cleanedStartLine" : 152,
      "cleanedEndLine" : 159
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 328,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 286,
      "startLine" : 178,
      "endLine" : 185,
      "cleanedStartLine" : 107,
      "cleanedEndLine" : 114
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 846,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 674,
      "startLine" : 347,
      "endLine" : 354,
      "cleanedStartLine" : 191,
      "cleanedEndLine" : 198
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/dashscope/DashscopeParams.kt",
        "extension" : "kt",
        "linesOfCode" : 159,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 144,
      "startLine" : 44,
      "endLine" : 51,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 23
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/google/GoogleParams.kt",
        "extension" : "kt",
        "linesOfCode" : 115,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 103,
      "startLine" : 41,
      "endLine" : 48,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 23
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 215,
      "endLine" : 226,
      "cleanedStartLine" : 139,
      "cleanedEndLine" : 146
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 368,
      "endLine" : 379,
      "cleanedStartLine" : 243,
      "cleanedEndLine" : 250
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 101,
      "endLine" : 112,
      "cleanedStartLine" : 61,
      "cleanedEndLine" : 68
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 196,
      "endLine" : 207,
      "cleanedStartLine" : 126,
      "cleanedEndLine" : 133
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/BedrockLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 751,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 628,
      "startLine" : 619,
      "endLine" : 626,
      "cleanedStartLine" : 410,
      "cleanedEndLine" : 417
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/BedrockLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 751,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 628,
      "startLine" : 662,
      "endLine" : 669,
      "cleanedStartLine" : 445,
      "cleanedEndLine" : 452
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/dashscope/DashscopeLLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 111,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 79,
      "startLine" : 76,
      "endLine" : 83,
      "cleanedStartLine" : 26,
      "cleanedEndLine" : 33
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAILLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 711,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 554,
      "startLine" : 127,
      "endLine" : 134,
      "cleanedStartLine" : 28,
      "cleanedEndLine" : 35
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/BedrockLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 751,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 628,
      "startLine" : 619,
      "endLine" : 626,
      "cleanedStartLine" : 410,
      "cleanedEndLine" : 417
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/BedrockLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 751,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 628,
      "startLine" : 638,
      "endLine" : 645,
      "cleanedStartLine" : 425,
      "cleanedEndLine" : 432
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 101,
      "endLine" : 112,
      "cleanedStartLine" : 61,
      "cleanedEndLine" : 68
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 215,
      "endLine" : 226,
      "cleanedStartLine" : 139,
      "cleanedEndLine" : 146
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/google/GoogleParams.kt",
        "extension" : "kt",
        "linesOfCode" : 115,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 103,
      "startLine" : 130,
      "endLine" : 137,
      "cleanedStartLine" : 92,
      "cleanedEndLine" : 99
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 381,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 343,
      "startLine" : 459,
      "endLine" : 466,
      "cleanedStartLine" : 322,
      "cleanedEndLine" : 329
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 464,
      "endLine" : 482,
      "cleanedStartLine" : 251,
      "cleanedEndLine" : 258
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 554,
      "endLine" : 573,
      "cleanedStartLine" : 304,
      "cleanedEndLine" : 311
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 101,
      "endLine" : 112,
      "cleanedStartLine" : 61,
      "cleanedEndLine" : 68
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 253,
      "endLine" : 264,
      "cleanedStartLine" : 165,
      "cleanedEndLine" : 172
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 101,
      "endLine" : 112,
      "cleanedStartLine" : 61,
      "cleanedEndLine" : 68
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 272,
      "endLine" : 283,
      "cleanedStartLine" : 178,
      "cleanedEndLine" : 185
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 215,
      "endLine" : 226,
      "cleanedStartLine" : 139,
      "cleanedEndLine" : 146
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 407,
      "endLine" : 418,
      "cleanedStartLine" : 273,
      "cleanedEndLine" : 280
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 25,
      "endLine" : 36,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 804,
      "endLine" : 815,
      "cleanedStartLine" : 567,
      "cleanedEndLine" : 574
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/BedrockLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 751,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 628,
      "startLine" : 557,
      "endLine" : 564,
      "cleanedStartLine" : 360,
      "cleanedEndLine" : 367
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/BedrockLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 751,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 628,
      "startLine" : 638,
      "endLine" : 645,
      "cleanedStartLine" : 425,
      "cleanedEndLine" : 432
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 25,
      "endLine" : 36,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 775,
      "endLine" : 786,
      "cleanedStartLine" : 547,
      "cleanedEndLine" : 554
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/BedrockLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 751,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 628,
      "startLine" : 557,
      "endLine" : 564,
      "cleanedStartLine" : 360,
      "cleanedEndLine" : 367
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/BedrockLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 751,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 628,
      "startLine" : 662,
      "endLine" : 669,
      "cleanedStartLine" : 445,
      "cleanedEndLine" : 452
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-planner/src/commonTest/kotlin/ai/koog/agents/planner/GOAPPlannerAgentTest.kt",
        "extension" : "kt",
        "linesOfCode" : 203,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 173,
      "startLine" : 69,
      "endLine" : 77,
      "cleanedStartLine" : 41,
      "cleanedEndLine" : 48
    }, {
      "file" : {
        "relativePath" : "agents/agents-planner/src/commonTest/kotlin/ai/koog/agents/planner/SimpleLLMPlannerAgentTest.kt",
        "extension" : "kt",
        "linesOfCode" : 86,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 64,
      "startLine" : 86,
      "endLine" : 94,
      "cleanedStartLine" : 51,
      "cleanedEndLine" : 58
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicParams.kt",
        "extension" : "kt",
        "linesOfCode" : 154,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 135,
      "startLine" : 48,
      "endLine" : 55,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 23
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 381,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 343,
      "startLine" : 302,
      "endLine" : 309,
      "cleanedStartLine" : 191,
      "cleanedEndLine" : 198
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/feature/AIAgentPipelineTest.kt",
        "extension" : "kt",
        "linesOfCode" : 736,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 595,
      "startLine" : 106,
      "endLine" : 116,
      "cleanedStartLine" : 38,
      "cleanedEndLine" : 45
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/feature/AIAgentPipelineTest.kt",
        "extension" : "kt",
        "linesOfCode" : 736,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 595,
      "startLine" : 160,
      "endLine" : 170,
      "cleanedStartLine" : 77,
      "cleanedEndLine" : 84
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/BedrockLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 751,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 628,
      "startLine" : 557,
      "endLine" : 564,
      "cleanedStartLine" : 360,
      "cleanedEndLine" : 367
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/BedrockLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 751,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 628,
      "startLine" : 723,
      "endLine" : 730,
      "cleanedStartLine" : 497,
      "cleanedEndLine" : 504
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 25,
      "endLine" : 36,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 837,
      "endLine" : 848,
      "cleanedStartLine" : 589,
      "cleanedEndLine" : 596
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/BedrockLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 751,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 628,
      "startLine" : 538,
      "endLine" : 545,
      "cleanedStartLine" : 345,
      "cleanedEndLine" : 352
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/BedrockLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 751,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 628,
      "startLine" : 723,
      "endLine" : 730,
      "cleanedStartLine" : 497,
      "cleanedEndLine" : 504
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 63,
      "endLine" : 74,
      "cleanedStartLine" : 35,
      "cleanedEndLine" : 42
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 368,
      "endLine" : 379,
      "cleanedStartLine" : 243,
      "cleanedEndLine" : 250
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/BedrockLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 751,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 628,
      "startLine" : 538,
      "endLine" : 545,
      "cleanedStartLine" : 345,
      "cleanedEndLine" : 352
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/BedrockLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 751,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 628,
      "startLine" : 638,
      "endLine" : 645,
      "cleanedStartLine" : 425,
      "cleanedEndLine" : 432
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/BedrockLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 751,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 628,
      "startLine" : 538,
      "endLine" : 545,
      "cleanedStartLine" : 345,
      "cleanedEndLine" : 352
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/BedrockLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 751,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 628,
      "startLine" : 662,
      "endLine" : 669,
      "cleanedStartLine" : 445,
      "cleanedEndLine" : 452
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 63,
      "endLine" : 74,
      "cleanedStartLine" : 35,
      "cleanedEndLine" : 42
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 407,
      "endLine" : 418,
      "cleanedStartLine" : 273,
      "cleanedEndLine" : 280
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageFileWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 509,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 418,
      "startLine" : 467,
      "endLine" : 474,
      "cleanedStartLine" : 321,
      "cleanedEndLine" : 328
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageTestWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 623,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 501,
      "startLine" : 390,
      "endLine" : 397,
      "cleanedStartLine" : 238,
      "cleanedEndLine" : 245
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/span/GenAIAgentSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 227,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 201,
      "startLine" : 132,
      "endLine" : 140,
      "cleanedStartLine" : 87,
      "cleanedEndLine" : 94
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/span/GenAIAgentSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 227,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 201,
      "startLine" : 151,
      "endLine" : 159,
      "cleanedStartLine" : 98,
      "cleanedEndLine" : 105
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 63,
      "endLine" : 74,
      "cleanedStartLine" : 35,
      "cleanedEndLine" : 42
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 335,
      "endLine" : 346,
      "cleanedStartLine" : 221,
      "cleanedEndLine" : 228
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/dashscope/DashscopeLLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 111,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 79,
      "startLine" : 127,
      "endLine" : 134,
      "cleanedStartLine" : 68,
      "cleanedEndLine" : 75
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/mistralai/MistralAILLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 248,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 184,
      "startLine" : 157,
      "endLine" : 164,
      "cleanedStartLine" : 78,
      "cleanedEndLine" : 85
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipeline.kt",
        "extension" : "kt",
        "linesOfCode" : 448,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 394,
      "startLine" : 259,
      "endLine" : 266,
      "cleanedStartLine" : 70,
      "cleanedEndLine" : 77
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 328,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 286,
      "startLine" : 205,
      "endLine" : 212,
      "cleanedStartLine" : 130,
      "cleanedEndLine" : 137
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicLLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 524,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 393,
      "startLine" : 160,
      "endLine" : 167,
      "cleanedStartLine" : 55,
      "cleanedEndLine" : 62
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/google/GoogleLLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 653,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 482,
      "startLine" : 816,
      "endLine" : 823,
      "cleanedStartLine" : 475,
      "cleanedEndLine" : 482
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 82,
      "endLine" : 93,
      "cleanedStartLine" : 48,
      "cleanedEndLine" : 55
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 335,
      "endLine" : 346,
      "cleanedStartLine" : 221,
      "cleanedEndLine" : 228
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-deepseek-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/deepseek/DeepSeekLLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 131,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 91,
      "startLine" : 135,
      "endLine" : 142,
      "cleanedStartLine" : 67,
      "cleanedEndLine" : 74
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/mistralai/MistralAILLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 248,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 184,
      "startLine" : 157,
      "endLine" : 164,
      "cleanedStartLine" : 78,
      "cleanedEndLine" : 85
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/dashscope/DashscopeParams.kt",
        "extension" : "kt",
        "linesOfCode" : 159,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 144,
      "startLine" : 142,
      "endLine" : 149,
      "cleanedStartLine" : 99,
      "cleanedEndLine" : 106
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonMain/kotlin/ai/koog/prompt/params/LLMParams.kt",
        "extension" : "kt",
        "linesOfCode" : 169,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 141,
      "startLine" : 158,
      "endLine" : 165,
      "cleanedStartLine" : 67,
      "cleanedEndLine" : 74
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipeline.kt",
        "extension" : "kt",
        "linesOfCode" : 448,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 394,
      "startLine" : 259,
      "endLine" : 266,
      "cleanedStartLine" : 70,
      "cleanedEndLine" : 77
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 328,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 286,
      "startLine" : 235,
      "endLine" : 242,
      "cleanedStartLine" : 157,
      "cleanedEndLine" : 164
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/dashscope/DashscopeParams.kt",
        "extension" : "kt",
        "linesOfCode" : 159,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 144,
      "startLine" : 120,
      "endLine" : 127,
      "cleanedStartLine" : 78,
      "cleanedEndLine" : 85
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 381,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 343,
      "startLine" : 19,
      "endLine" : 26,
      "cleanedStartLine" : 6,
      "cleanedEndLine" : 13
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 47,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 6,
      "endLine" : 15,
      "cleanedStartLine" : 3,
      "cleanedEndLine" : 10
    }, {
      "file" : {
        "relativePath" : "a2a/a2a-test/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 31,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 1,
      "endLine" : 10,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 8
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/mistralai/MistralAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 145,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 133,
      "startLine" : 113,
      "endLine" : 120,
      "cleanedStartLine" : 70,
      "cleanedEndLine" : 77
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openrouter-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openrouter/OpenRouterParams.kt",
        "extension" : "kt",
        "linesOfCode" : 197,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 177,
      "startLine" : 10,
      "endLine" : 17,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 12
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 381,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 343,
      "startLine" : 33,
      "endLine" : 40,
      "cleanedStartLine" : 18,
      "cleanedEndLine" : 25
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 381,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 343,
      "startLine" : 396,
      "endLine" : 403,
      "cleanedStartLine" : 264,
      "cleanedEndLine" : 271
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-deepseek-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/deepseek/DeepSeekParams.kt",
        "extension" : "kt",
        "linesOfCode" : 143,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 111,
      "endLine" : 118,
      "cleanedStartLine" : 72,
      "cleanedEndLine" : 79
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/google/GoogleParams.kt",
        "extension" : "kt",
        "linesOfCode" : 115,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 103,
      "startLine" : 10,
      "endLine" : 17,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 12
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 25,
      "endLine" : 36,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 867,
      "endLine" : 878,
      "cleanedStartLine" : 610,
      "cleanedEndLine" : 617
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-deepseek-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/deepseek/DeepSeekParams.kt",
        "extension" : "kt",
        "linesOfCode" : 143,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 9,
      "endLine" : 16,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 12
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-deepseek-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/deepseek/DeepSeekParams.kt",
        "extension" : "kt",
        "linesOfCode" : 143,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 111,
      "endLine" : 118,
      "cleanedStartLine" : 72,
      "cleanedEndLine" : 79
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipeline.kt",
        "extension" : "kt",
        "linesOfCode" : 448,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 394,
      "startLine" : 412,
      "endLine" : 419,
      "cleanedStartLine" : 135,
      "cleanedEndLine" : 142
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipeline.kt",
        "extension" : "kt",
        "linesOfCode" : 448,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 394,
      "startLine" : 481,
      "endLine" : 488,
      "cleanedStartLine" : 162,
      "cleanedEndLine" : 169
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 82,
      "endLine" : 93,
      "cleanedStartLine" : 48,
      "cleanedEndLine" : 55
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 368,
      "endLine" : 379,
      "cleanedStartLine" : 243,
      "cleanedEndLine" : 250
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 25,
      "endLine" : 36,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 912,
      "endLine" : 923,
      "cleanedStartLine" : 646,
      "cleanedEndLine" : 653
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 215,
      "endLine" : 226,
      "cleanedStartLine" : 139,
      "cleanedEndLine" : 146
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 253,
      "endLine" : 264,
      "cleanedStartLine" : 165,
      "cleanedEndLine" : 172
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 82,
      "endLine" : 93,
      "cleanedStartLine" : 48,
      "cleanedEndLine" : 55
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 407,
      "endLine" : 418,
      "cleanedStartLine" : 273,
      "cleanedEndLine" : 280
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 215,
      "endLine" : 226,
      "cleanedStartLine" : 139,
      "cleanedEndLine" : 146
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 234,
      "endLine" : 245,
      "cleanedStartLine" : 152,
      "cleanedEndLine" : 159
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/context/AIAgentGraphContext.kt",
        "extension" : "kt",
        "linesOfCode" : 162,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 130,
      "startLine" : 71,
      "endLine" : 78,
      "cleanedStartLine" : 23,
      "cleanedEndLine" : 30
    }, {
      "file" : {
        "relativePath" : "agents/agents-test/src/commonMain/kotlin/ai/koog/agents/testing/tools/DummyAIAgentContext.kt",
        "extension" : "kt",
        "linesOfCode" : 208,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 169,
      "startLine" : 159,
      "endLine" : 166,
      "cleanedStartLine" : 74,
      "cleanedEndLine" : 81
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/feature/AIAgentPipelineTest.kt",
        "extension" : "kt",
        "linesOfCode" : 736,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 595,
      "startLine" : 296,
      "endLine" : 307,
      "cleanedStartLine" : 174,
      "cleanedEndLine" : 181
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/feature/AIAgentPipelineTest.kt",
        "extension" : "kt",
        "linesOfCode" : 736,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 595,
      "startLine" : 353,
      "endLine" : 364,
      "cleanedStartLine" : 214,
      "cleanedEndLine" : 221
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 215,
      "endLine" : 226,
      "cleanedStartLine" : 139,
      "cleanedEndLine" : 146
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 272,
      "endLine" : 283,
      "cleanedStartLine" : 178,
      "cleanedEndLine" : 185
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/dashscope/DashscopeParams.kt",
        "extension" : "kt",
        "linesOfCode" : 159,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 144,
      "startLine" : 44,
      "endLine" : 51,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 23
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/mistralai/MistralAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 145,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 133,
      "startLine" : 47,
      "endLine" : 54,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 22
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/debugger/Debugger.kt",
        "extension" : "kt",
        "linesOfCode" : 399,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 318,
      "startLine" : 244,
      "endLine" : 251,
      "cleanedStartLine" : 111,
      "cleanedEndLine" : 118
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/commonMain/kotlin/ai/koog/agents/features/tracing/feature/Tracing.kt",
        "extension" : "kt",
        "linesOfCode" : 335,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 266,
      "startLine" : 335,
      "endLine" : 342,
      "cleanedStartLine" : 176,
      "cleanedEndLine" : 183
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/BedrockLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 751,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 628,
      "startLine" : 538,
      "endLine" : 545,
      "cleanedStartLine" : 345,
      "cleanedEndLine" : 352
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/BedrockLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 751,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 628,
      "startLine" : 845,
      "endLine" : 852,
      "cleanedStartLine" : 593,
      "cleanedEndLine" : 600
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/BedrockLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 751,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 628,
      "startLine" : 557,
      "endLine" : 564,
      "cleanedStartLine" : 360,
      "cleanedEndLine" : 367
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/BedrockLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 751,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 628,
      "startLine" : 576,
      "endLine" : 583,
      "cleanedStartLine" : 375,
      "cleanedEndLine" : 382
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 63,
      "endLine" : 74,
      "cleanedStartLine" : 35,
      "cleanedEndLine" : 42
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 196,
      "endLine" : 207,
      "cleanedStartLine" : 126,
      "cleanedEndLine" : 133
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-memory/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 37,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 25,
      "endLine" : 35,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 23
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 41,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 31,
      "endLine" : 41,
      "cleanedStartLine" : 18,
      "cleanedEndLine" : 25
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 63,
      "endLine" : 74,
      "cleanedStartLine" : 35,
      "cleanedEndLine" : 42
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 215,
      "endLine" : 226,
      "cleanedStartLine" : 139,
      "cleanedEndLine" : 146
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryInferenceSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 556,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 517,
      "startLine" : 487,
      "endLine" : 494,
      "cleanedStartLine" : 403,
      "cleanedEndLine" : 410
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryInferenceSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 556,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 517,
      "startLine" : 578,
      "endLine" : 585,
      "cleanedStartLine" : 478,
      "cleanedEndLine" : 485
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-model/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 25,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 17,
      "startLine" : 3,
      "endLine" : 13,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 8
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-xml/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 27,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 17,
      "startLine" : 3,
      "endLine" : 13,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 8
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 63,
      "endLine" : 74,
      "cleanedStartLine" : 35,
      "cleanedEndLine" : 42
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 234,
      "endLine" : 245,
      "cleanedStartLine" : 152,
      "cleanedEndLine" : 159
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/debugger/Debugger.kt",
        "extension" : "kt",
        "linesOfCode" : 399,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 318,
      "startLine" : 244,
      "endLine" : 251,
      "cleanedStartLine" : 111,
      "cleanedEndLine" : 118
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/commonMain/kotlin/ai/koog/agents/features/tracing/feature/Tracing.kt",
        "extension" : "kt",
        "linesOfCode" : 335,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 266,
      "startLine" : 322,
      "endLine" : 329,
      "cleanedStartLine" : 165,
      "cleanedEndLine" : 172
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 63,
      "endLine" : 74,
      "cleanedStartLine" : 35,
      "cleanedEndLine" : 42
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 158,
      "endLine" : 169,
      "cleanedStartLine" : 100,
      "cleanedEndLine" : 107
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 63,
      "endLine" : 74,
      "cleanedStartLine" : 35,
      "cleanedEndLine" : 42
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 177,
      "endLine" : 188,
      "cleanedStartLine" : 113,
      "cleanedEndLine" : 120
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/dashscope/DashscopeParams.kt",
        "extension" : "kt",
        "linesOfCode" : 159,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 144,
      "startLine" : 9,
      "endLine" : 16,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 12
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/google/GoogleParams.kt",
        "extension" : "kt",
        "linesOfCode" : 115,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 103,
      "startLine" : 90,
      "endLine" : 97,
      "cleanedStartLine" : 57,
      "cleanedEndLine" : 64
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 82,
      "endLine" : 93,
      "cleanedStartLine" : 48,
      "cleanedEndLine" : 55
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 158,
      "endLine" : 169,
      "cleanedStartLine" : 100,
      "cleanedEndLine" : 107
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageLogWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 480,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 396,
      "startLine" : 531,
      "endLine" : 538,
      "cleanedStartLine" : 379,
      "cleanedEndLine" : 386
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageRemoteWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 816,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 671,
      "startLine" : 209,
      "endLine" : 216,
      "cleanedStartLine" : 85,
      "cleanedEndLine" : 92
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/handler/streaming/LLMStreamingEventContext.kt",
        "extension" : "kt",
        "linesOfCode" : 54,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 42,
      "startLine" : 28,
      "endLine" : 35,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 11
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/handler/streaming/LLMStreamingEventContext.kt",
        "extension" : "kt",
        "linesOfCode" : 54,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 42,
      "startLine" : 97,
      "endLine" : 104,
      "cleanedStartLine" : 34,
      "cleanedEndLine" : 41
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipeline.kt",
        "extension" : "kt",
        "linesOfCode" : 448,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 394,
      "startLine" : 481,
      "endLine" : 488,
      "cleanedStartLine" : 162,
      "cleanedEndLine" : 169
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 328,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 286,
      "startLine" : 205,
      "endLine" : 212,
      "cleanedStartLine" : 130,
      "cleanedEndLine" : 137
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryNodeExecuteSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 307,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 276,
      "startLine" : 209,
      "endLine" : 216,
      "cleanedStartLine" : 153,
      "cleanedEndLine" : 160
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryNodeExecuteSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 307,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 276,
      "startLine" : 319,
      "endLine" : 326,
      "cleanedStartLine" : 250,
      "cleanedEndLine" : 257
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipeline.kt",
        "extension" : "kt",
        "linesOfCode" : 448,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 394,
      "startLine" : 481,
      "endLine" : 488,
      "cleanedStartLine" : 162,
      "cleanedEndLine" : 169
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 328,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 286,
      "startLine" : 235,
      "endLine" : 242,
      "cleanedStartLine" : 157,
      "cleanedEndLine" : 164
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/google/GoogleParams.kt",
        "extension" : "kt",
        "linesOfCode" : 115,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 103,
      "startLine" : 90,
      "endLine" : 97,
      "cleanedStartLine" : 57,
      "cleanedEndLine" : 64
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openrouter-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openrouter/OpenRouterParams.kt",
        "extension" : "kt",
        "linesOfCode" : 197,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 177,
      "startLine" : 150,
      "endLine" : 157,
      "cleanedStartLine" : 95,
      "cleanedEndLine" : 102
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 82,
      "endLine" : 93,
      "cleanedStartLine" : 48,
      "cleanedEndLine" : 55
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 253,
      "endLine" : 264,
      "cleanedStartLine" : 165,
      "cleanedEndLine" : 172
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 846,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 674,
      "startLine" : 281,
      "endLine" : 288,
      "cleanedStartLine" : 135,
      "cleanedEndLine" : 142
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 846,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 674,
      "startLine" : 430,
      "endLine" : 437,
      "cleanedStartLine" : 264,
      "cleanedEndLine" : 271
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipeline.kt",
        "extension" : "kt",
        "linesOfCode" : 448,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 394,
      "startLine" : 259,
      "endLine" : 266,
      "cleanedStartLine" : 70,
      "cleanedEndLine" : 77
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 328,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 286,
      "startLine" : 130,
      "endLine" : 137,
      "cleanedStartLine" : 65,
      "cleanedEndLine" : 72
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 82,
      "endLine" : 93,
      "cleanedStartLine" : 48,
      "cleanedEndLine" : 55
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 272,
      "endLine" : 283,
      "cleanedStartLine" : 178,
      "cleanedEndLine" : 185
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 82,
      "endLine" : 93,
      "cleanedStartLine" : 48,
      "cleanedEndLine" : 55
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 196,
      "endLine" : 207,
      "cleanedStartLine" : 126,
      "cleanedEndLine" : 133
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 82,
      "endLine" : 93,
      "cleanedStartLine" : 48,
      "cleanedEndLine" : 55
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 177,
      "endLine" : 188,
      "cleanedStartLine" : 113,
      "cleanedEndLine" : 120
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 82,
      "endLine" : 93,
      "cleanedStartLine" : 48,
      "cleanedEndLine" : 55
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 234,
      "endLine" : 245,
      "cleanedStartLine" : 152,
      "cleanedEndLine" : 159
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/dashscope/DashscopeParams.kt",
        "extension" : "kt",
        "linesOfCode" : 159,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 144,
      "startLine" : 120,
      "endLine" : 127,
      "cleanedStartLine" : 78,
      "cleanedEndLine" : 85
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/mistralai/MistralAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 145,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 133,
      "startLine" : 113,
      "endLine" : 120,
      "cleanedStartLine" : 70,
      "cleanedEndLine" : 77
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 82,
      "endLine" : 93,
      "cleanedStartLine" : 48,
      "cleanedEndLine" : 55
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 215,
      "endLine" : 226,
      "cleanedStartLine" : 139,
      "cleanedEndLine" : 146
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageLogWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 480,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 396,
      "startLine" : 229,
      "endLine" : 236,
      "cleanedStartLine" : 147,
      "cleanedEndLine" : 154
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageRemoteWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 816,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 671,
      "startLine" : 780,
      "endLine" : 787,
      "cleanedStartLine" : 552,
      "cleanedEndLine" : 559
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/StructuredOutputWithToolsIntegrationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 269,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 223,
      "startLine" : 224,
      "endLine" : 232,
      "cleanedStartLine" : 161,
      "cleanedEndLine" : 168
    }, {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/StructuredOutputWithToolsIntegrationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 269,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 223,
      "startLine" : 288,
      "endLine" : 296,
      "cleanedStartLine" : 207,
      "cleanedEndLine" : 214
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/BedrockLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 751,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 628,
      "startLine" : 662,
      "endLine" : 669,
      "cleanedStartLine" : 445,
      "cleanedEndLine" : 452
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/BedrockLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 751,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 628,
      "startLine" : 723,
      "endLine" : 730,
      "cleanedStartLine" : 497,
      "cleanedEndLine" : 504
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicToolSerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 156,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 135,
      "startLine" : 44,
      "endLine" : 51,
      "cleanedStartLine" : 22,
      "cleanedEndLine" : 29
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicToolSerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 156,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 135,
      "startLine" : 97,
      "endLine" : 104,
      "cleanedStartLine" : 66,
      "cleanedEndLine" : 73
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/BedrockLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 751,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 628,
      "startLine" : 357,
      "endLine" : 364,
      "cleanedStartLine" : 221,
      "cleanedEndLine" : 228
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/BedrockLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 751,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 628,
      "startLine" : 845,
      "endLine" : 852,
      "cleanedStartLine" : 593,
      "cleanedEndLine" : 600
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/google/GoogleLLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 653,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 482,
      "startLine" : 212,
      "endLine" : 219,
      "cleanedStartLine" : 89,
      "cleanedEndLine" : 96
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client-base/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/base/AbstractOpenAILLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 412,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 304,
      "startLine" : 258,
      "endLine" : 265,
      "cleanedStartLine" : 126,
      "cleanedEndLine" : 133
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/feature/message/FeatureMessageProcessorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 313,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 270,
      "startLine" : 244,
      "endLine" : 251,
      "cleanedStartLine" : 149,
      "cleanedEndLine" : 156
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/feature/message/FeatureMessageProcessorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 313,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 270,
      "startLine" : 257,
      "endLine" : 264,
      "cleanedStartLine" : 160,
      "cleanedEndLine" : 167
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/mistralai/MistralAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 145,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 133,
      "startLine" : 134,
      "endLine" : 141,
      "cleanedStartLine" : 90,
      "cleanedEndLine" : 97
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonMain/kotlin/ai/koog/prompt/params/LLMParams.kt",
        "extension" : "kt",
        "linesOfCode" : 169,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 141,
      "startLine" : 158,
      "endLine" : 165,
      "cleanedStartLine" : 67,
      "cleanedEndLine" : 74
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerStreamingTest.kt",
        "extension" : "kt",
        "linesOfCode" : 347,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 262,
      "startLine" : 82,
      "endLine" : 89,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 23
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageFileWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 509,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 418,
      "startLine" : 467,
      "endLine" : 474,
      "cleanedStartLine" : 321,
      "cleanedEndLine" : 328
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerStreamingTest.kt",
        "extension" : "kt",
        "linesOfCode" : 347,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 262,
      "startLine" : 318,
      "endLine" : 325,
      "cleanedStartLine" : 183,
      "cleanedEndLine" : 190
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerSubgraphTest.kt",
        "extension" : "kt",
        "linesOfCode" : 262,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 194,
      "startLine" : 224,
      "endLine" : 231,
      "cleanedStartLine" : 121,
      "cleanedEndLine" : 128
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/google/GoogleParams.kt",
        "extension" : "kt",
        "linesOfCode" : 115,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 103,
      "startLine" : 106,
      "endLine" : 113,
      "cleanedStartLine" : 72,
      "cleanedEndLine" : 79
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonMain/kotlin/ai/koog/prompt/params/LLMParams.kt",
        "extension" : "kt",
        "linesOfCode" : 169,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 141,
      "startLine" : 158,
      "endLine" : 165,
      "cleanedStartLine" : 67,
      "cleanedEndLine" : 74
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jsMain/kotlin/ai/koog/agents/core/agent/session/AIAgentLLMReadSession.kt",
        "extension" : "kt",
        "linesOfCode" : 16,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 10,
      "startLine" : 3,
      "endLine" : 18,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmMain/kotlin/ai/koog/agents/core/agent/session/AIAgentLLMReadSession.kt",
        "extension" : "kt",
        "linesOfCode" : 158,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 121,
      "startLine" : 4,
      "endLine" : 33,
      "cleanedStartLine" : 3,
      "cleanedEndLine" : 10
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/feature/remote/client/FeatureMessageRemoteClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 388,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 293,
      "startLine" : 398,
      "endLine" : 409,
      "cleanedStartLine" : 225,
      "cleanedEndLine" : 232
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/feature/writer/FeatureMessageRemoteWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 204,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 144,
      "startLine" : 115,
      "endLine" : 126,
      "cleanedStartLine" : 55,
      "cleanedEndLine" : 62
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicParams.kt",
        "extension" : "kt",
        "linesOfCode" : 154,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 135,
      "startLine" : 108,
      "endLine" : 115,
      "cleanedStartLine" : 59,
      "cleanedEndLine" : 66
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonMain/kotlin/ai/koog/prompt/params/LLMParams.kt",
        "extension" : "kt",
        "linesOfCode" : 169,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 141,
      "startLine" : 83,
      "endLine" : 90,
      "cleanedStartLine" : 37,
      "cleanedEndLine" : 44
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 368,
      "endLine" : 379,
      "cleanedStartLine" : 243,
      "cleanedEndLine" : 250
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 867,
      "endLine" : 878,
      "cleanedStartLine" : 610,
      "cleanedEndLine" : 617
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/span/SpanCollectorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 437,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 399,
      "startLine" : 50,
      "endLine" : 57,
      "cleanedStartLine" : 26,
      "cleanedEndLine" : 33
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/span/SpanCollectorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 437,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 399,
      "startLine" : 175,
      "endLine" : 184,
      "cleanedStartLine" : 119,
      "cleanedEndLine" : 126
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/CheckpointsTests.kt",
        "extension" : "kt",
        "linesOfCode" : 793,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 646,
      "startLine" : 402,
      "endLine" : 409,
      "cleanedStartLine" : 244,
      "cleanedEndLine" : 251
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/ai/koog/agents/snapshot/providers/file/FileCheckpointsTests.kt",
        "extension" : "kt",
        "linesOfCode" : 236,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 188,
      "startLine" : 232,
      "endLine" : 239,
      "cleanedStartLine" : 157,
      "cleanedEndLine" : 164
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/context/AIAgentLLMContext.kt",
        "extension" : "kt",
        "linesOfCode" : 86,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 72,
      "startLine" : 135,
      "endLine" : 142,
      "cleanedStartLine" : 51,
      "cleanedEndLine" : 58
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/context/AIAgentLLMContext.kt",
        "extension" : "kt",
        "linesOfCode" : 86,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 72,
      "startLine" : 165,
      "endLine" : 172,
      "cleanedStartLine" : 65,
      "cleanedEndLine" : 72
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 368,
      "endLine" : 379,
      "cleanedStartLine" : 243,
      "cleanedEndLine" : 250
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 912,
      "endLine" : 923,
      "cleanedStartLine" : 646,
      "cleanedEndLine" : 653
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/CheckpointsTests.kt",
        "extension" : "kt",
        "linesOfCode" : 793,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 646,
      "startLine" : 402,
      "endLine" : 409,
      "cleanedStartLine" : 244,
      "cleanedEndLine" : 251
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/ai/koog/agents/snapshot/providers/file/FileCheckpointsTests.kt",
        "extension" : "kt",
        "linesOfCode" : 236,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 188,
      "startLine" : 258,
      "endLine" : 265,
      "cleanedStartLine" : 176,
      "cleanedEndLine" : 183
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-tools/src/jvmMain/kotlin/ai/koog/agents/core/tools/reflect/ToolFromCallable.kt",
        "extension" : "kt",
        "linesOfCode" : 129,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 87,
      "startLine" : 147,
      "endLine" : 158,
      "cleanedStartLine" : 67,
      "cleanedEndLine" : 74
    }, {
      "file" : {
        "relativePath" : "agents/agents-tools/src/jvmMain/kotlin/ai/koog/agents/core/tools/reflect/java/ToolFromJavaMethod.kt",
        "extension" : "kt",
        "linesOfCode" : 163,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 117,
      "startLine" : 149,
      "endLine" : 160,
      "cleanedStartLine" : 72,
      "cleanedEndLine" : 79
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipeline.kt",
        "extension" : "kt",
        "linesOfCode" : 448,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 394,
      "startLine" : 480,
      "endLine" : 487,
      "cleanedStartLine" : 161,
      "cleanedEndLine" : 168
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 846,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 674,
      "startLine" : 475,
      "endLine" : 482,
      "cleanedStartLine" : 302,
      "cleanedEndLine" : 309
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageLogWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 480,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 396,
      "startLine" : 245,
      "endLine" : 252,
      "cleanedStartLine" : 163,
      "cleanedEndLine" : 170
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageRemoteWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 816,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 671,
      "startLine" : 780,
      "endLine" : 787,
      "cleanedStartLine" : 552,
      "cleanedEndLine" : 559
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerStreamingTest.kt",
        "extension" : "kt",
        "linesOfCode" : 347,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 262,
      "startLine" : 211,
      "endLine" : 226,
      "cleanedStartLine" : 113,
      "cleanedEndLine" : 120
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerSubgraphTest.kt",
        "extension" : "kt",
        "linesOfCode" : 262,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 194,
      "startLine" : 167,
      "endLine" : 182,
      "cleanedStartLine" : 89,
      "cleanedEndLine" : 96
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/dashscope/DashscopeParams.kt",
        "extension" : "kt",
        "linesOfCode" : 159,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 144,
      "startLine" : 120,
      "endLine" : 127,
      "cleanedStartLine" : 78,
      "cleanedEndLine" : 85
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 381,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 343,
      "startLine" : 33,
      "endLine" : 40,
      "cleanedStartLine" : 18,
      "cleanedEndLine" : 25
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryInferenceSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 556,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 517,
      "startLine" : 325,
      "endLine" : 332,
      "cleanedStartLine" : 263,
      "cleanedEndLine" : 270
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryInferenceSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 556,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 517,
      "startLine" : 578,
      "endLine" : 585,
      "cleanedStartLine" : 478,
      "cleanedEndLine" : 485
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/modelfamilies/amazon/BedrockAmazonNovaSerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 311,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 238,
      "startLine" : 135,
      "endLine" : 146,
      "cleanedStartLine" : 77,
      "cleanedEndLine" : 84
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/modelfamilies/amazon/BedrockAmazonNovaSerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 311,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 238,
      "startLine" : 174,
      "endLine" : 185,
      "cleanedStartLine" : 104,
      "cleanedEndLine" : 111
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 846,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 674,
      "startLine" : 281,
      "endLine" : 288,
      "cleanedStartLine" : 135,
      "cleanedEndLine" : 142
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 846,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 674,
      "startLine" : 476,
      "endLine" : 483,
      "cleanedStartLine" : 303,
      "cleanedEndLine" : 310
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerStreamingTest.kt",
        "extension" : "kt",
        "linesOfCode" : 347,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 262,
      "startLine" : 82,
      "endLine" : 89,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 23
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageFileWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 509,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 418,
      "startLine" : 104,
      "endLine" : 111,
      "cleanedStartLine" : 29,
      "cleanedEndLine" : 36
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client-base/src/commonTest/kotlin/ai/koog/prompt/executor/clients/openai/structure/OpenAIStandardJsonSchemaGeneratorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 375,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 342,
      "startLine" : 14,
      "endLine" : 21,
      "cleanedStartLine" : 3,
      "cleanedEndLine" : 10
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-structure/src/commonTest/kotlin/ai/koog/prompt/structure/json/generator/JsonSchemaGeneratorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 819,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 713,
      "startLine" : 17,
      "endLine" : 24,
      "cleanedStartLine" : 3,
      "cleanedEndLine" : 10
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicParams.kt",
        "extension" : "kt",
        "linesOfCode" : 154,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 135,
      "startLine" : 174,
      "endLine" : 181,
      "cleanedStartLine" : 120,
      "cleanedEndLine" : 127
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/dashscope/DashscopeParams.kt",
        "extension" : "kt",
        "linesOfCode" : 159,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 144,
      "startLine" : 174,
      "endLine" : 181,
      "cleanedStartLine" : 127,
      "cleanedEndLine" : 134
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 196,
      "endLine" : 207,
      "cleanedStartLine" : 126,
      "cleanedEndLine" : 133
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 867,
      "endLine" : 878,
      "cleanedStartLine" : 610,
      "cleanedEndLine" : 617
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicLLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 524,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 393,
      "startLine" : 286,
      "endLine" : 293,
      "cleanedStartLine" : 141,
      "cleanedEndLine" : 148
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client-base/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/base/AbstractOpenAILLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 412,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 304,
      "startLine" : 208,
      "endLine" : 215,
      "cleanedStartLine" : 87,
      "cleanedEndLine" : 94
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 196,
      "endLine" : 207,
      "cleanedStartLine" : 126,
      "cleanedEndLine" : 133
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 912,
      "endLine" : 923,
      "cleanedStartLine" : 646,
      "cleanedEndLine" : 653
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/agent/config/MissingToolsConversionStrategyTest.kt",
        "extension" : "kt",
        "linesOfCode" : 202,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 171,
      "startLine" : 46,
      "endLine" : 54,
      "cleanedStartLine" : 28,
      "cleanedEndLine" : 35
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/agent/config/ToolCallDescriberTest.kt",
        "extension" : "kt",
        "linesOfCode" : 252,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 218,
      "startLine" : 26,
      "endLine" : 34,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 18
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/dashscope/DashscopeParams.kt",
        "extension" : "kt",
        "linesOfCode" : 159,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 144,
      "startLine" : 9,
      "endLine" : 16,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 12
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 381,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 343,
      "startLine" : 396,
      "endLine" : 403,
      "cleanedStartLine" : 264,
      "cleanedEndLine" : 271
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 368,
      "endLine" : 379,
      "cleanedStartLine" : 243,
      "cleanedEndLine" : 250
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 837,
      "endLine" : 848,
      "cleanedStartLine" : 589,
      "cleanedEndLine" : 596
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicParams.kt",
        "extension" : "kt",
        "linesOfCode" : 154,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 135,
      "startLine" : 12,
      "endLine" : 19,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 12
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openrouter-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openrouter/OpenRouterParams.kt",
        "extension" : "kt",
        "linesOfCode" : 197,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 177,
      "startLine" : 150,
      "endLine" : 157,
      "cleanedStartLine" : 95,
      "cleanedEndLine" : 102
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/src/commonTest/kotlin/ai/koog/prompt/executor/clients/retry/RetryingLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 381,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 318,
      "startLine" : 119,
      "endLine" : 127,
      "cleanedStartLine" : 62,
      "cleanedEndLine" : 69
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/src/commonTest/kotlin/ai/koog/prompt/executor/clients/retry/RetryingLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 381,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 318,
      "startLine" : 371,
      "endLine" : 379,
      "cleanedStartLine" : 249,
      "cleanedEndLine" : 256
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-deepseek-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/deepseek/DeepSeekParams.kt",
        "extension" : "kt",
        "linesOfCode" : 143,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 9,
      "endLine" : 16,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 12
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/google/GoogleParams.kt",
        "extension" : "kt",
        "linesOfCode" : 115,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 103,
      "startLine" : 90,
      "endLine" : 97,
      "cleanedStartLine" : 57,
      "cleanedEndLine" : 64
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/CheckpointsTests.kt",
        "extension" : "kt",
        "linesOfCode" : 793,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 646,
      "startLine" : 402,
      "endLine" : 409,
      "cleanedStartLine" : 244,
      "cleanedEndLine" : 251
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/ai/koog/agents/snapshot/providers/file/FileCheckpointsTests.kt",
        "extension" : "kt",
        "linesOfCode" : 236,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 188,
      "startLine" : 178,
      "endLine" : 185,
      "cleanedStartLine" : 113,
      "cleanedEndLine" : 120
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 381,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 343,
      "startLine" : 79,
      "endLine" : 86,
      "cleanedStartLine" : 29,
      "cleanedEndLine" : 36
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 381,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 343,
      "startLine" : 302,
      "endLine" : 309,
      "cleanedStartLine" : 191,
      "cleanedEndLine" : 198
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/src/commonTest/kotlin/ai/koog/prompt/executor/clients/retry/RetryingLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 381,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 318,
      "startLine" : 119,
      "endLine" : 127,
      "cleanedStartLine" : 62,
      "cleanedEndLine" : 69
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/src/commonTest/kotlin/ai/koog/prompt/executor/clients/retry/RetryingLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 381,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 318,
      "startLine" : 344,
      "endLine" : 352,
      "cleanedStartLine" : 228,
      "cleanedEndLine" : 235
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-ollama-client/src/commonTest/kotlin/ai/koog/prompt/executor/ollama/client/OllamaToolCallTest.kt",
        "extension" : "kt",
        "linesOfCode" : 210,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 189,
      "startLine" : 90,
      "endLine" : 98,
      "cleanedStartLine" : 59,
      "cleanedEndLine" : 66
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-ollama-client/src/commonTest/kotlin/ai/koog/prompt/executor/ollama/client/OllamaToolCallTest.kt",
        "extension" : "kt",
        "linesOfCode" : 210,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 189,
      "startLine" : 228,
      "endLine" : 236,
      "cleanedStartLine" : 172,
      "cleanedEndLine" : 179
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/dashscope/DashscopeParams.kt",
        "extension" : "kt",
        "linesOfCode" : 159,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 144,
      "startLine" : 174,
      "endLine" : 181,
      "cleanedStartLine" : 127,
      "cleanedEndLine" : 134
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonMain/kotlin/ai/koog/prompt/params/LLMParams.kt",
        "extension" : "kt",
        "linesOfCode" : 169,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 141,
      "startLine" : 183,
      "endLine" : 190,
      "cleanedStartLine" : 88,
      "cleanedEndLine" : 95
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 368,
      "endLine" : 379,
      "cleanedStartLine" : 243,
      "cleanedEndLine" : 250
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 775,
      "endLine" : 786,
      "cleanedStartLine" : 547,
      "cleanedEndLine" : 554
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-server/src/jvmTest/kotlin/ai/koog/a2a/server/TestAgentExecutor.kt",
        "extension" : "kt",
        "linesOfCode" : 193,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 161,
      "startLine" : 87,
      "endLine" : 94,
      "cleanedStartLine" : 58,
      "cleanedEndLine" : 65
    }, {
      "file" : {
        "relativePath" : "a2a/a2a-server/src/jvmTest/kotlin/ai/koog/a2a/server/TestAgentExecutor.kt",
        "extension" : "kt",
        "linesOfCode" : 193,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 161,
      "startLine" : 210,
      "endLine" : 217,
      "cleanedStartLine" : 154,
      "cleanedEndLine" : 161
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 368,
      "endLine" : 379,
      "cleanedStartLine" : 243,
      "cleanedEndLine" : 250
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 804,
      "endLine" : 815,
      "cleanedStartLine" : 567,
      "cleanedEndLine" : 574
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/mistralai/MistralAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 145,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 133,
      "startLine" : 113,
      "endLine" : 120,
      "cleanedStartLine" : 70,
      "cleanedEndLine" : 77
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonMain/kotlin/ai/koog/prompt/params/LLMParams.kt",
        "extension" : "kt",
        "linesOfCode" : 169,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 141,
      "startLine" : 92,
      "endLine" : 99,
      "cleanedStartLine" : 46,
      "cleanedEndLine" : 53
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-llm/src/commonMain/kotlin/ai/koog/prompt/llm/OllamaModels.kt",
        "extension" : "kt",
        "linesOfCode" : 137,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 131,
      "startLine" : 93,
      "endLine" : 113,
      "cleanedStartLine" : 31,
      "cleanedEndLine" : 38
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-llm/src/commonMain/kotlin/ai/koog/prompt/llm/OllamaModels.kt",
        "extension" : "kt",
        "linesOfCode" : 137,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 131,
      "startLine" : 117,
      "endLine" : 133,
      "cleanedStartLine" : 42,
      "cleanedEndLine" : 49
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/feature/AIAgentPipelineTest.kt",
        "extension" : "kt",
        "linesOfCode" : 736,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 595,
      "startLine" : 438,
      "endLine" : 449,
      "cleanedStartLine" : 273,
      "cleanedEndLine" : 280
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/feature/AIAgentPipelineTest.kt",
        "extension" : "kt",
        "linesOfCode" : 736,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 595,
      "startLine" : 550,
      "endLine" : 560,
      "cleanedStartLine" : 352,
      "cleanedEndLine" : 359
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/TestStrategies.kt",
        "extension" : "kt",
        "linesOfCode" : 398,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 340,
      "startLine" : 195,
      "endLine" : 203,
      "cleanedStartLine" : 123,
      "cleanedEndLine" : 130
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/TestStrategies.kt",
        "extension" : "kt",
        "linesOfCode" : 398,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 340,
      "startLine" : 256,
      "endLine" : 264,
      "cleanedStartLine" : 168,
      "cleanedEndLine" : 175
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/feature/AIAgentPipelineTest.kt",
        "extension" : "kt",
        "linesOfCode" : 736,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 595,
      "startLine" : 438,
      "endLine" : 449,
      "cleanedStartLine" : 273,
      "cleanedEndLine" : 280
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/feature/AIAgentPipelineTest.kt",
        "extension" : "kt",
        "linesOfCode" : 736,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 595,
      "startLine" : 591,
      "endLine" : 601,
      "cleanedStartLine" : 380,
      "cleanedEndLine" : 387
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-deepseek-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/deepseek/DeepSeekParams.kt",
        "extension" : "kt",
        "linesOfCode" : 143,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 158,
      "endLine" : 165,
      "cleanedStartLine" : 114,
      "cleanedEndLine" : 121
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/google/GoogleParams.kt",
        "extension" : "kt",
        "linesOfCode" : 115,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 103,
      "startLine" : 130,
      "endLine" : 137,
      "cleanedStartLine" : 92,
      "cleanedEndLine" : 99
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipeline.kt",
        "extension" : "kt",
        "linesOfCode" : 448,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 394,
      "startLine" : 358,
      "endLine" : 365,
      "cleanedStartLine" : 112,
      "cleanedEndLine" : 119
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 328,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 286,
      "startLine" : 165,
      "endLine" : 172,
      "cleanedStartLine" : 95,
      "cleanedEndLine" : 102
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerConfigTest.kt",
        "extension" : "kt",
        "linesOfCode" : 192,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 139,
      "startLine" : 153,
      "endLine" : 168,
      "cleanedStartLine" : 79,
      "cleanedEndLine" : 86
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerTestAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 281,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 212,
      "startLine" : 304,
      "endLine" : 319,
      "cleanedStartLine" : 202,
      "cleanedEndLine" : 209
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/google/GoogleParams.kt",
        "extension" : "kt",
        "linesOfCode" : 115,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 103,
      "startLine" : 90,
      "endLine" : 97,
      "cleanedStartLine" : 57,
      "cleanedEndLine" : 64
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 381,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 343,
      "startLine" : 33,
      "endLine" : 40,
      "cleanedStartLine" : 18,
      "cleanedEndLine" : 25
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 63,
      "endLine" : 74,
      "cleanedStartLine" : 35,
      "cleanedEndLine" : 42
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 912,
      "endLine" : 923,
      "cleanedStartLine" : 646,
      "cleanedEndLine" : 653
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openrouter-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openrouter/OpenRouterParams.kt",
        "extension" : "kt",
        "linesOfCode" : 197,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 177,
      "startLine" : 150,
      "endLine" : 157,
      "cleanedStartLine" : 95,
      "cleanedEndLine" : 102
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonMain/kotlin/ai/koog/prompt/params/LLMParams.kt",
        "extension" : "kt",
        "linesOfCode" : 169,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 141,
      "startLine" : 92,
      "endLine" : 99,
      "cleanedStartLine" : 46,
      "cleanedEndLine" : 53
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/BedrockLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 751,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 628,
      "startLine" : 357,
      "endLine" : 364,
      "cleanedStartLine" : 221,
      "cleanedEndLine" : 228
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/BedrockLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 751,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 628,
      "startLine" : 576,
      "endLine" : 583,
      "cleanedStartLine" : 375,
      "cleanedEndLine" : 382
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/extension/GenAIAgentEventExtTest.kt",
        "extension" : "kt",
        "linesOfCode" : 80,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 62,
      "startLine" : 50,
      "endLine" : 57,
      "cleanedStartLine" : 24,
      "cleanedEndLine" : 31
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/GenAIAgentSpanUtilsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 329,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 292,
      "startLine" : 24,
      "endLine" : 31,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 12
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/span/GenAIAgentSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 227,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 201,
      "startLine" : 102,
      "endLine" : 110,
      "cleanedStartLine" : 65,
      "cleanedEndLine" : 72
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/span/GenAIAgentSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 227,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 201,
      "startLine" : 281,
      "endLine" : 289,
      "cleanedStartLine" : 188,
      "cleanedEndLine" : 195
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 25,
      "endLine" : 36,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 215,
      "endLine" : 226,
      "cleanedStartLine" : 139,
      "cleanedEndLine" : 146
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/tool/file/render/TextTest.kt",
        "extension" : "kt",
        "linesOfCode" : 760,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 714,
      "startLine" : 786,
      "endLine" : 794,
      "cleanedStartLine" : 627,
      "cleanedEndLine" : 634
    }, {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/tool/file/render/TextTest.kt",
        "extension" : "kt",
        "linesOfCode" : 760,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 714,
      "startLine" : 839,
      "endLine" : 847,
      "cleanedStartLine" : 676,
      "cleanedEndLine" : 683
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/modelfamilies/ai21/BedrockAI21JambaSerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 224,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 176,
      "startLine" : 115,
      "endLine" : 122,
      "cleanedStartLine" : 62,
      "cleanedEndLine" : 69
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/modelfamilies/anthropic/BedrockAnthropicClaudeSerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 437,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 346,
      "startLine" : 462,
      "endLine" : 469,
      "cleanedStartLine" : 323,
      "cleanedEndLine" : 330
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 25,
      "endLine" : 36,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 196,
      "endLine" : 207,
      "cleanedStartLine" : 126,
      "cleanedEndLine" : 133
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/span/GenAIAgentSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 227,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 201,
      "startLine" : 102,
      "endLine" : 110,
      "cleanedStartLine" : 65,
      "cleanedEndLine" : 72
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/span/GenAIAgentSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 227,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 201,
      "startLine" : 257,
      "endLine" : 265,
      "cleanedStartLine" : 170,
      "cleanedEndLine" : 177
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 63,
      "endLine" : 74,
      "cleanedStartLine" : 35,
      "cleanedEndLine" : 42
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 867,
      "endLine" : 878,
      "cleanedStartLine" : 610,
      "cleanedEndLine" : 617
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/google/GoogleParams.kt",
        "extension" : "kt",
        "linesOfCode" : 115,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 103,
      "startLine" : 90,
      "endLine" : 97,
      "cleanedStartLine" : 57,
      "cleanedEndLine" : 64
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonMain/kotlin/ai/koog/prompt/params/LLMParams.kt",
        "extension" : "kt",
        "linesOfCode" : 169,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 141,
      "startLine" : 92,
      "endLine" : 99,
      "cleanedStartLine" : 46,
      "cleanedEndLine" : 53
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 25,
      "endLine" : 36,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 177,
      "endLine" : 188,
      "cleanedStartLine" : 113,
      "cleanedEndLine" : 120
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 25,
      "endLine" : 36,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 158,
      "endLine" : 169,
      "cleanedStartLine" : 100,
      "cleanedEndLine" : 107
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/span/GenAIAgentSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 227,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 201,
      "startLine" : 102,
      "endLine" : 110,
      "cleanedStartLine" : 65,
      "cleanedEndLine" : 72
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/span/GenAIAgentSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 227,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 201,
      "startLine" : 230,
      "endLine" : 238,
      "cleanedStartLine" : 153,
      "cleanedEndLine" : 160
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 196,
      "endLine" : 207,
      "cleanedStartLine" : 126,
      "cleanedEndLine" : 133
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 775,
      "endLine" : 786,
      "cleanedStartLine" : 547,
      "cleanedEndLine" : 554
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 25,
      "endLine" : 36,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 272,
      "endLine" : 283,
      "cleanedStartLine" : 178,
      "cleanedEndLine" : 185
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/SubgraphWithTaskTest.kt",
        "extension" : "kt",
        "linesOfCode" : 603,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 509,
      "startLine" : 250,
      "endLine" : 260,
      "cleanedStartLine" : 151,
      "cleanedEndLine" : 158
    }, {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/SubgraphWithTaskTest.kt",
        "extension" : "kt",
        "linesOfCode" : 603,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 509,
      "startLine" : 307,
      "endLine" : 317,
      "cleanedStartLine" : 187,
      "cleanedEndLine" : 194
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/span/GenAIAgentSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 227,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 201,
      "startLine" : 102,
      "endLine" : 110,
      "cleanedStartLine" : 65,
      "cleanedEndLine" : 72
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/span/GenAIAgentSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 227,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 201,
      "startLine" : 206,
      "endLine" : 214,
      "cleanedStartLine" : 137,
      "cleanedEndLine" : 144
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 25,
      "endLine" : 36,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 253,
      "endLine" : 264,
      "cleanedStartLine" : 165,
      "cleanedEndLine" : 172
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 196,
      "endLine" : 207,
      "cleanedStartLine" : 126,
      "cleanedEndLine" : 133
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 804,
      "endLine" : 815,
      "cleanedStartLine" : 567,
      "cleanedEndLine" : 574
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageLogWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 480,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 396,
      "startLine" : 531,
      "endLine" : 538,
      "cleanedStartLine" : 379,
      "cleanedEndLine" : 386
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageRemoteWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 816,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 671,
      "startLine" : 780,
      "endLine" : 787,
      "cleanedStartLine" : 552,
      "cleanedEndLine" : 559
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/span/GenAIAgentSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 227,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 201,
      "startLine" : 102,
      "endLine" : 110,
      "cleanedStartLine" : 65,
      "cleanedEndLine" : 72
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/span/GenAIAgentSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 227,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 201,
      "startLine" : 181,
      "endLine" : 189,
      "cleanedStartLine" : 121,
      "cleanedEndLine" : 128
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicParams.kt",
        "extension" : "kt",
        "linesOfCode" : 154,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 135,
      "startLine" : 48,
      "endLine" : 55,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 23
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-deepseek-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/deepseek/DeepSeekParams.kt",
        "extension" : "kt",
        "linesOfCode" : 143,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 41,
      "endLine" : 48,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 23
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 25,
      "endLine" : 36,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 234,
      "endLine" : 245,
      "cleanedStartLine" : 152,
      "cleanedEndLine" : 159
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 196,
      "endLine" : 207,
      "cleanedStartLine" : 126,
      "cleanedEndLine" : 133
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 837,
      "endLine" : 848,
      "cleanedStartLine" : 589,
      "cleanedEndLine" : 596
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/dashscope/DashscopeParams.kt",
        "extension" : "kt",
        "linesOfCode" : 159,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 144,
      "startLine" : 9,
      "endLine" : 16,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 12
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 381,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 343,
      "startLine" : 175,
      "endLine" : 182,
      "cleanedStartLine" : 104,
      "cleanedEndLine" : 111
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipeline.kt",
        "extension" : "kt",
        "linesOfCode" : 448,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 394,
      "startLine" : 412,
      "endLine" : 419,
      "cleanedStartLine" : 135,
      "cleanedEndLine" : 142
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 328,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 286,
      "startLine" : 205,
      "endLine" : 212,
      "cleanedStartLine" : 130,
      "cleanedEndLine" : 137
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 381,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 343,
      "startLine" : 175,
      "endLine" : 182,
      "cleanedStartLine" : 104,
      "cleanedEndLine" : 111
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonMain/kotlin/ai/koog/prompt/params/LLMParams.kt",
        "extension" : "kt",
        "linesOfCode" : 169,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 141,
      "startLine" : 92,
      "endLine" : 99,
      "cleanedStartLine" : 46,
      "cleanedEndLine" : 53
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicParams.kt",
        "extension" : "kt",
        "linesOfCode" : 154,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 135,
      "startLine" : 48,
      "endLine" : 55,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 23
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/dashscope/DashscopeParams.kt",
        "extension" : "kt",
        "linesOfCode" : 159,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 144,
      "startLine" : 44,
      "endLine" : 51,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 23
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/google/GoogleLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 480,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 432,
      "startLine" : 351,
      "endLine" : 360,
      "cleanedStartLine" : 267,
      "cleanedEndLine" : 274
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/google/GoogleLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 480,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 432,
      "startLine" : 376,
      "endLine" : 385,
      "cleanedStartLine" : 288,
      "cleanedEndLine" : 295
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicParams.kt",
        "extension" : "kt",
        "linesOfCode" : 154,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 135,
      "startLine" : 144,
      "endLine" : 151,
      "cleanedStartLine" : 94,
      "cleanedEndLine" : 101
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonMain/kotlin/ai/koog/prompt/params/LLMParams.kt",
        "extension" : "kt",
        "linesOfCode" : 169,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 141,
      "startLine" : 158,
      "endLine" : 165,
      "cleanedStartLine" : 67,
      "cleanedEndLine" : 74
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/feature/AIAgentPipelineTest.kt",
        "extension" : "kt",
        "linesOfCode" : 736,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 595,
      "startLine" : 438,
      "endLine" : 449,
      "cleanedStartLine" : 273,
      "cleanedEndLine" : 280
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/feature/AIAgentPipelineTest.kt",
        "extension" : "kt",
        "linesOfCode" : 736,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 595,
      "startLine" : 653,
      "endLine" : 663,
      "cleanedStartLine" : 423,
      "cleanedEndLine" : 430
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/agent/FunctionalAIAgentTest.kt",
        "extension" : "kt",
        "linesOfCode" : 674,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 581,
      "startLine" : 64,
      "endLine" : 77,
      "cleanedStartLine" : 32,
      "cleanedEndLine" : 39
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/agent/SingleRunStrategyTests.kt",
        "extension" : "kt",
        "linesOfCode" : 234,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 186,
      "startLine" : 240,
      "endLine" : 253,
      "cleanedStartLine" : 153,
      "cleanedEndLine" : 160
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-core/src/commonTest/kotlin/ai/koog/a2a/model/AgentCardSerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 518,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 462,
      "startLine" : 16,
      "endLine" : 23,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "a2a/a2a-transport/a2a-transport-server-jsonrpc-http/src/jvmTest/kotlin/ai/koog/a2a/transport/server/jsonrpc/http/HttpJSONRPCServerTransportTest.kt",
        "extension" : "kt",
        "linesOfCode" : 547,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 452,
      "startLine" : 56,
      "endLine" : 63,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 11
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/feature/AIAgentPipelineTest.kt",
        "extension" : "kt",
        "linesOfCode" : 736,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 595,
      "startLine" : 438,
      "endLine" : 449,
      "cleanedStartLine" : 273,
      "cleanedEndLine" : 280
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/feature/AIAgentPipelineTest.kt",
        "extension" : "kt",
        "linesOfCode" : 736,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 595,
      "startLine" : 705,
      "endLine" : 718,
      "cleanedStartLine" : 460,
      "cleanedEndLine" : 467
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-deepseek-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/deepseek/DeepSeekParams.kt",
        "extension" : "kt",
        "linesOfCode" : 143,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 130,
      "endLine" : 137,
      "cleanedStartLine" : 90,
      "cleanedEndLine" : 97
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonMain/kotlin/ai/koog/prompt/params/LLMParams.kt",
        "extension" : "kt",
        "linesOfCode" : 169,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 141,
      "startLine" : 158,
      "endLine" : 165,
      "cleanedStartLine" : 67,
      "cleanedEndLine" : 74
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/ContextualPromptExecutor.kt",
        "extension" : "kt",
        "linesOfCode" : 161,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 129,
      "startLine" : 89,
      "endLine" : 96,
      "cleanedStartLine" : 39,
      "cleanedEndLine" : 46
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/ContextualPromptExecutor.kt",
        "extension" : "kt",
        "linesOfCode" : 161,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 129,
      "startLine" : 126,
      "endLine" : 133,
      "cleanedStartLine" : 73,
      "cleanedEndLine" : 80
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/span/GenAIAgentSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 227,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 201,
      "startLine" : 230,
      "endLine" : 238,
      "cleanedStartLine" : 153,
      "cleanedEndLine" : 160
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/span/GenAIAgentSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 227,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 201,
      "startLine" : 281,
      "endLine" : 289,
      "cleanedStartLine" : 188,
      "cleanedEndLine" : 195
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/span/GenAIAgentSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 227,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 201,
      "startLine" : 230,
      "endLine" : 238,
      "cleanedStartLine" : 153,
      "cleanedEndLine" : 160
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/span/GenAIAgentSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 227,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 201,
      "startLine" : 257,
      "endLine" : 265,
      "cleanedStartLine" : 170,
      "cleanedEndLine" : 177
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 804,
      "endLine" : 815,
      "cleanedStartLine" : 567,
      "cleanedEndLine" : 574
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 837,
      "endLine" : 848,
      "cleanedStartLine" : 589,
      "cleanedEndLine" : 596
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "http-client/http-client-java/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 20,
        "components" : [ "primary::http-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 16,
      "startLine" : 14,
      "endLine" : 26,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "http-client/http-client-okhttp/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 23,
        "components" : [ "primary::http-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 19,
      "startLine" : 17,
      "endLine" : 29,
      "cleanedStartLine" : 12,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/TestStrategies.kt",
        "extension" : "kt",
        "linesOfCode" : 398,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 340,
      "startLine" : 195,
      "endLine" : 203,
      "cleanedStartLine" : 123,
      "cleanedEndLine" : 130
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/TestStrategies.kt",
        "extension" : "kt",
        "linesOfCode" : 398,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 340,
      "startLine" : 356,
      "endLine" : 364,
      "cleanedStartLine" : 241,
      "cleanedEndLine" : 248
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipeline.kt",
        "extension" : "kt",
        "linesOfCode" : 448,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 394,
      "startLine" : 412,
      "endLine" : 419,
      "cleanedStartLine" : 135,
      "cleanedEndLine" : 142
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 328,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 286,
      "startLine" : 235,
      "endLine" : 242,
      "cleanedStartLine" : 157,
      "cleanedEndLine" : 164
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryInferenceSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 556,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 517,
      "startLine" : 198,
      "endLine" : 205,
      "cleanedStartLine" : 146,
      "cleanedEndLine" : 153
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryInferenceSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 556,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 517,
      "startLine" : 578,
      "endLine" : 585,
      "cleanedStartLine" : 478,
      "cleanedEndLine" : 485
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/BedrockLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 751,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 628,
      "startLine" : 729,
      "endLine" : 737,
      "cleanedStartLine" : 503,
      "cleanedEndLine" : 510
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/BedrockLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 751,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 628,
      "startLine" : 821,
      "endLine" : 829,
      "cleanedStartLine" : 576,
      "cleanedEndLine" : 583
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 25,
      "endLine" : 36,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 101,
      "endLine" : 112,
      "cleanedStartLine" : 61,
      "cleanedEndLine" : 68
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 25,
      "endLine" : 36,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 139,
      "endLine" : 150,
      "cleanedStartLine" : 87,
      "cleanedEndLine" : 94
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 63,
      "endLine" : 74,
      "cleanedStartLine" : 35,
      "cleanedEndLine" : 42
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 775,
      "endLine" : 786,
      "cleanedStartLine" : 547,
      "cleanedEndLine" : 554
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 25,
      "endLine" : 36,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 120,
      "endLine" : 131,
      "cleanedStartLine" : 74,
      "cleanedEndLine" : 81
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/google/GoogleParams.kt",
        "extension" : "kt",
        "linesOfCode" : 115,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 103,
      "startLine" : 90,
      "endLine" : 97,
      "cleanedStartLine" : 57,
      "cleanedEndLine" : 64
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openrouter-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openrouter/OpenRouterParams.kt",
        "extension" : "kt",
        "linesOfCode" : 197,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 177,
      "startLine" : 10,
      "endLine" : 17,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 12
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/BedrockLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 751,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 628,
      "startLine" : 357,
      "endLine" : 364,
      "cleanedStartLine" : 221,
      "cleanedEndLine" : 228
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/BedrockLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 751,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 628,
      "startLine" : 723,
      "endLine" : 730,
      "cleanedStartLine" : 497,
      "cleanedEndLine" : 504
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/dashscope/DashscopeParams.kt",
        "extension" : "kt",
        "linesOfCode" : 159,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 144,
      "startLine" : 44,
      "endLine" : 51,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 23
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openrouter-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openrouter/OpenRouterParams.kt",
        "extension" : "kt",
        "linesOfCode" : 197,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 177,
      "startLine" : 52,
      "endLine" : 59,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 22
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 25,
      "endLine" : 36,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 368,
      "endLine" : 379,
      "cleanedStartLine" : 243,
      "cleanedEndLine" : 250
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/BedrockLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 751,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 628,
      "startLine" : 357,
      "endLine" : 364,
      "cleanedStartLine" : 221,
      "cleanedEndLine" : 228
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/BedrockLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 751,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 628,
      "startLine" : 662,
      "endLine" : 669,
      "cleanedStartLine" : 445,
      "cleanedEndLine" : 452
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 25,
      "endLine" : 36,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 335,
      "endLine" : 346,
      "cleanedStartLine" : 221,
      "cleanedEndLine" : 228
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/BedrockLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 751,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 628,
      "startLine" : 357,
      "endLine" : 364,
      "cleanedStartLine" : 221,
      "cleanedEndLine" : 228
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/BedrockLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 751,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 628,
      "startLine" : 638,
      "endLine" : 645,
      "cleanedStartLine" : 425,
      "cleanedEndLine" : 432
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/CheckpointsTests.kt",
        "extension" : "kt",
        "linesOfCode" : 793,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 646,
      "startLine" : 303,
      "endLine" : 312,
      "cleanedStartLine" : 176,
      "cleanedEndLine" : 183
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/ai/koog/agents/snapshot/providers/file/FileCheckpointsTests.kt",
        "extension" : "kt",
        "linesOfCode" : 236,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 188,
      "startLine" : 108,
      "endLine" : 117,
      "cleanedStartLine" : 57,
      "cleanedEndLine" : 64
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/tool/file/render/TextTest.kt",
        "extension" : "kt",
        "linesOfCode" : 760,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 714,
      "startLine" : 174,
      "endLine" : 183,
      "cleanedStartLine" : 135,
      "cleanedEndLine" : 142
    }, {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/tool/file/render/TextTest.kt",
        "extension" : "kt",
        "linesOfCode" : 760,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 714,
      "startLine" : 214,
      "endLine" : 223,
      "cleanedStartLine" : 170,
      "cleanedEndLine" : 177
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 25,
      "endLine" : 36,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 407,
      "endLine" : 418,
      "cleanedStartLine" : 273,
      "cleanedEndLine" : 280
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/BedrockLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 751,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 628,
      "startLine" : 729,
      "endLine" : 737,
      "cleanedStartLine" : 503,
      "cleanedEndLine" : 510
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/BedrockLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 751,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 628,
      "startLine" : 759,
      "endLine" : 767,
      "cleanedStartLine" : 526,
      "cleanedEndLine" : 533
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/google/GoogleParams.kt",
        "extension" : "kt",
        "linesOfCode" : 115,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 103,
      "startLine" : 52,
      "endLine" : 59,
      "cleanedStartLine" : 27,
      "cleanedEndLine" : 34
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openrouter-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openrouter/OpenRouterParams.kt",
        "extension" : "kt",
        "linesOfCode" : 197,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 177,
      "startLine" : 74,
      "endLine" : 81,
      "cleanedStartLine" : 37,
      "cleanedEndLine" : 44
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 63,
      "endLine" : 74,
      "cleanedStartLine" : 35,
      "cleanedEndLine" : 42
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 804,
      "endLine" : 815,
      "cleanedStartLine" : 567,
      "cleanedEndLine" : 574
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 381,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 343,
      "startLine" : 33,
      "endLine" : 40,
      "cleanedStartLine" : 18,
      "cleanedEndLine" : 25
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openrouter-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openrouter/OpenRouterParams.kt",
        "extension" : "kt",
        "linesOfCode" : 197,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 177,
      "startLine" : 150,
      "endLine" : 157,
      "cleanedStartLine" : 95,
      "cleanedEndLine" : 102
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 25,
      "endLine" : 36,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 82,
      "endLine" : 93,
      "cleanedStartLine" : 48,
      "cleanedEndLine" : 55
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/BedrockLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 751,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 628,
      "startLine" : 729,
      "endLine" : 737,
      "cleanedStartLine" : 503,
      "cleanedEndLine" : 510
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/BedrockLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 751,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 628,
      "startLine" : 798,
      "endLine" : 806,
      "cleanedStartLine" : 558,
      "cleanedEndLine" : 565
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 63,
      "endLine" : 74,
      "cleanedStartLine" : 35,
      "cleanedEndLine" : 42
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 837,
      "endLine" : 848,
      "cleanedStartLine" : 589,
      "cleanedEndLine" : 596
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-tools/src/appleMain/kotlin/ai/koog/agents/core/tools/ToolRegistryBuilder.kt",
        "extension" : "kt",
        "linesOfCode" : 9,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 8,
      "startLine" : 1,
      "endLine" : 13,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 8
    }, {
      "file" : {
        "relativePath" : "agents/agents-tools/src/jsMain/kotlin/ai/koog/agents/core/tools/ToolRegistryBuilder.kt",
        "extension" : "kt",
        "linesOfCode" : 9,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 8,
      "startLine" : 1,
      "endLine" : 13,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 8
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/dashscope/DashscopeParams.kt",
        "extension" : "kt",
        "linesOfCode" : 159,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 144,
      "startLine" : 174,
      "endLine" : 181,
      "cleanedStartLine" : 127,
      "cleanedEndLine" : 134
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 381,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 343,
      "startLine" : 242,
      "endLine" : 249,
      "cleanedStartLine" : 166,
      "cleanedEndLine" : 173
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 407,
      "endLine" : 418,
      "cleanedStartLine" : 273,
      "cleanedEndLine" : 280
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 867,
      "endLine" : 878,
      "cleanedStartLine" : 610,
      "cleanedEndLine" : 617
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 407,
      "endLine" : 418,
      "cleanedStartLine" : 273,
      "cleanedEndLine" : 280
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 912,
      "endLine" : 923,
      "cleanedStartLine" : 646,
      "cleanedEndLine" : 653
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/google/GoogleLLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 653,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 482,
      "startLine" : 816,
      "endLine" : 823,
      "cleanedStartLine" : 475,
      "cleanedEndLine" : 482
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAILLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 711,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 554,
      "startLine" : 496,
      "endLine" : 503,
      "cleanedStartLine" : 287,
      "cleanedEndLine" : 294
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/agent/session/AIAgentLLMSessionStructuredOutputTest.kt",
        "extension" : "kt",
        "linesOfCode" : 194,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 154,
      "startLine" : 72,
      "endLine" : 83,
      "cleanedStartLine" : 40,
      "cleanedEndLine" : 47
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/agent/session/AIAgentLLMSessionStructuredOutputTest.kt",
        "extension" : "kt",
        "linesOfCode" : 194,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 154,
      "startLine" : 206,
      "endLine" : 217,
      "cleanedStartLine" : 139,
      "cleanedEndLine" : 146
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/BedrockLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 751,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 628,
      "startLine" : 723,
      "endLine" : 730,
      "cleanedStartLine" : 497,
      "cleanedEndLine" : 504
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/BedrockLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 751,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 628,
      "startLine" : 845,
      "endLine" : 852,
      "cleanedStartLine" : 593,
      "cleanedEndLine" : 600
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/src/commonTest/kotlin/ai/koog/prompt/executor/clients/retry/RetryingLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 381,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 318,
      "startLine" : 344,
      "endLine" : 352,
      "cleanedStartLine" : 228,
      "cleanedEndLine" : 235
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/src/commonTest/kotlin/ai/koog/prompt/executor/clients/retry/RetryingLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 381,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 318,
      "startLine" : 371,
      "endLine" : 379,
      "cleanedStartLine" : 249,
      "cleanedEndLine" : 256
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/dashscope/DashscopeParams.kt",
        "extension" : "kt",
        "linesOfCode" : 159,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 144,
      "startLine" : 9,
      "endLine" : 16,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 12
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/mistralai/MistralAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 145,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 133,
      "startLine" : 113,
      "endLine" : 120,
      "cleanedStartLine" : 70,
      "cleanedEndLine" : 77
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/feature/remote/client/FeatureMessageRemoteClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 388,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 293,
      "startLine" : 213,
      "endLine" : 222,
      "cleanedStartLine" : 112,
      "cleanedEndLine" : 119
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/feature/remote/server/FeatureMessageRemoteServerTest.kt",
        "extension" : "kt",
        "linesOfCode" : 316,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 232,
      "startLine" : 179,
      "endLine" : 188,
      "cleanedStartLine" : 95,
      "cleanedEndLine" : 102
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/dashscope/DashscopeParams.kt",
        "extension" : "kt",
        "linesOfCode" : 159,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 144,
      "startLine" : 120,
      "endLine" : 127,
      "cleanedStartLine" : 78,
      "cleanedEndLine" : 85
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-deepseek-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/deepseek/DeepSeekParams.kt",
        "extension" : "kt",
        "linesOfCode" : 143,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 9,
      "endLine" : 16,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 12
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/SubgraphWithTaskTest.kt",
        "extension" : "kt",
        "linesOfCode" : 603,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 509,
      "startLine" : 64,
      "endLine" : 74,
      "cleanedStartLine" : 22,
      "cleanedEndLine" : 29
    }, {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/SubgraphWithTaskTest.kt",
        "extension" : "kt",
        "linesOfCode" : 603,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 509,
      "startLine" : 250,
      "endLine" : 260,
      "cleanedStartLine" : 151,
      "cleanedEndLine" : 158
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/commonTest/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicSerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 335,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 278,
      "startLine" : 72,
      "endLine" : 79,
      "cleanedStartLine" : 35,
      "cleanedEndLine" : 42
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/commonTest/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicSerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 335,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 278,
      "startLine" : 173,
      "endLine" : 180,
      "cleanedStartLine" : 113,
      "cleanedEndLine" : 120
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageRemoteWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 816,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 671,
      "startLine" : 436,
      "endLine" : 443,
      "cleanedStartLine" : 277,
      "cleanedEndLine" : 284
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageRemoteWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 816,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 671,
      "startLine" : 885,
      "endLine" : 892,
      "cleanedStartLine" : 628,
      "cleanedEndLine" : 635
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicParams.kt",
        "extension" : "kt",
        "linesOfCode" : 154,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 135,
      "startLine" : 63,
      "endLine" : 70,
      "cleanedStartLine" : 31,
      "cleanedEndLine" : 38
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openrouter-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openrouter/OpenRouterParams.kt",
        "extension" : "kt",
        "linesOfCode" : 197,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 177,
      "startLine" : 74,
      "endLine" : 81,
      "cleanedStartLine" : 37,
      "cleanedEndLine" : 44
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/AIAgentBuilder.kt",
        "extension" : "kt",
        "linesOfCode" : 218,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 168,
      "startLine" : 536,
      "endLine" : 543,
      "cleanedStartLine" : 158,
      "cleanedEndLine" : 165
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/AIAgentBuilderImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 136,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 110,
      "startLine" : 151,
      "endLine" : 158,
      "cleanedStartLine" : 102,
      "cleanedEndLine" : 109
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/mistralai/MistralAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 145,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 133,
      "startLine" : 165,
      "endLine" : 172,
      "cleanedStartLine" : 117,
      "cleanedEndLine" : 124
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openrouter-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openrouter/OpenRouterParams.kt",
        "extension" : "kt",
        "linesOfCode" : 197,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 177,
      "startLine" : 215,
      "endLine" : 222,
      "cleanedStartLine" : 155,
      "cleanedEndLine" : 162
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "http-client/http-client-ktor/src/commonMain/kotlin/ai/koog/http/client/ktor/KtorKoogHttpClient.kt",
        "extension" : "kt",
        "linesOfCode" : 165,
        "components" : [ "primary::http-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 113,
      "startLine" : 118,
      "endLine" : 127,
      "cleanedStartLine" : 46,
      "cleanedEndLine" : 53
    }, {
      "file" : {
        "relativePath" : "http-client/http-client-okhttp/src/main/kotlin/ai/koog/http/client/okhttp/OkHttpKoogHttpClient.kt",
        "extension" : "kt",
        "linesOfCode" : 173,
        "components" : [ "primary::http-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 127,
      "startLine" : 114,
      "endLine" : 124,
      "cleanedStartLine" : 55,
      "cleanedEndLine" : 62
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicLLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 524,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 393,
      "startLine" : 286,
      "endLine" : 293,
      "cleanedStartLine" : 141,
      "cleanedEndLine" : 148
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/google/GoogleLLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 653,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 482,
      "startLine" : 816,
      "endLine" : 823,
      "cleanedStartLine" : 475,
      "cleanedEndLine" : 482
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 837,
      "endLine" : 848,
      "cleanedStartLine" : 589,
      "cleanedEndLine" : 596
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 912,
      "endLine" : 923,
      "cleanedStartLine" : 646,
      "cleanedEndLine" : 653
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/google/GoogleLLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 653,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 482,
      "startLine" : 816,
      "endLine" : 823,
      "cleanedStartLine" : 475,
      "cleanedEndLine" : 482
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAILLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 711,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 554,
      "startLine" : 532,
      "endLine" : 539,
      "cleanedStartLine" : 308,
      "cleanedEndLine" : 315
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rag/vector-storage/src/jvmTest/kotlin/ai/koog/rag/vector/JVMFileDocumentEmbeddingStorageTest.kt",
        "extension" : "kt",
        "linesOfCode" : 184,
        "components" : [ "primary::rag" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 148,
      "startLine" : 62,
      "endLine" : 73,
      "cleanedStartLine" : 33,
      "cleanedEndLine" : 40
    }, {
      "file" : {
        "relativePath" : "rag/vector-storage/src/jvmTest/kotlin/ai/koog/rag/vector/JVMTextFileDocumentEmbeddingStorageTest.kt",
        "extension" : "kt",
        "linesOfCode" : 234,
        "components" : [ "primary::rag" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 193,
      "startLine" : 61,
      "endLine" : 72,
      "cleanedStartLine" : 33,
      "cleanedEndLine" : 40
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentFunctionalPipeline.kt",
        "extension" : "kt",
        "linesOfCode" : 21,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 15,
      "startLine" : 31,
      "endLine" : 39,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 15
    }, {
      "file" : {
        "relativePath" : "agents/agents-planner/src/commonMain/kotlin/ai/koog/agents/planner/AIAgentPlannerPipeline.kt",
        "extension" : "kt",
        "linesOfCode" : 19,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 13,
      "startLine" : 25,
      "endLine" : 33,
      "cleanedStartLine" : 6,
      "cleanedEndLine" : 13
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/dashscope/models/DashscopeSerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 453,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 372,
      "startLine" : 317,
      "endLine" : 324,
      "cleanedStartLine" : 211,
      "cleanedEndLine" : 218
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-deepseek-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/deepseek/models/DeepSeekSerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 327,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 263,
      "startLine" : 127,
      "endLine" : 134,
      "cleanedStartLine" : 83,
      "cleanedEndLine" : 90
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/feature/AIAgentPipelineJvmTest.kt",
        "extension" : "kt",
        "linesOfCode" : 235,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 177,
      "startLine" : 100,
      "endLine" : 113,
      "cleanedStartLine" : 45,
      "cleanedEndLine" : 52
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/feature/AIAgentPipelineJvmTest.kt",
        "extension" : "kt",
        "linesOfCode" : 235,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 177,
      "startLine" : 124,
      "endLine" : 137,
      "cleanedStartLine" : 59,
      "cleanedEndLine" : 66
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/mistralai/MistralAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 145,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 133,
      "startLine" : 113,
      "endLine" : 120,
      "cleanedStartLine" : 70,
      "cleanedEndLine" : 77
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 381,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 343,
      "startLine" : 396,
      "endLine" : 403,
      "cleanedStartLine" : 264,
      "cleanedEndLine" : 271
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client-base/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/base/AbstractOpenAILLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 412,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 304,
      "startLine" : 208,
      "endLine" : 215,
      "cleanedStartLine" : 87,
      "cleanedEndLine" : 94
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client-base/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/base/AbstractOpenAILLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 412,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 304,
      "startLine" : 258,
      "endLine" : 265,
      "cleanedStartLine" : 126,
      "cleanedEndLine" : 133
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/agent/session/AIAgentLLMSessionStructuredOutputTest.kt",
        "extension" : "kt",
        "linesOfCode" : 194,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 154,
      "startLine" : 72,
      "endLine" : 83,
      "cleanedStartLine" : 40,
      "cleanedEndLine" : 47
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/agent/session/AIAgentLLMSessionStructuredOutputTest.kt",
        "extension" : "kt",
        "linesOfCode" : 194,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 154,
      "startLine" : 125,
      "endLine" : 136,
      "cleanedStartLine" : 78,
      "cleanedEndLine" : 85
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/feature/AIAgentPipelineTest.kt",
        "extension" : "kt",
        "linesOfCode" : 736,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 595,
      "startLine" : 550,
      "endLine" : 560,
      "cleanedStartLine" : 352,
      "cleanedEndLine" : 359
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/feature/AIAgentPipelineTest.kt",
        "extension" : "kt",
        "linesOfCode" : 736,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 595,
      "startLine" : 653,
      "endLine" : 663,
      "cleanedStartLine" : 423,
      "cleanedEndLine" : 430
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/feature/AIAgentPipelineTest.kt",
        "extension" : "kt",
        "linesOfCode" : 736,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 595,
      "startLine" : 550,
      "endLine" : 560,
      "cleanedStartLine" : 352,
      "cleanedEndLine" : 359
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/feature/AIAgentPipelineTest.kt",
        "extension" : "kt",
        "linesOfCode" : 736,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 595,
      "startLine" : 705,
      "endLine" : 718,
      "cleanedStartLine" : 460,
      "cleanedEndLine" : 467
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-ext/src/jvmTest/kotlin/ai/koog/agents/ext/tool/search/RegexSearchToolTest.kt",
        "extension" : "kt",
        "linesOfCode" : 187,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 166,
      "startLine" : 155,
      "endLine" : 163,
      "cleanedStartLine" : 108,
      "cleanedEndLine" : 115
    }, {
      "file" : {
        "relativePath" : "agents/agents-ext/src/jvmTest/kotlin/ai/koog/agents/ext/tool/search/RegexSearchToolTest.kt",
        "extension" : "kt",
        "linesOfCode" : 187,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 166,
      "startLine" : 185,
      "endLine" : 193,
      "cleanedStartLine" : 134,
      "cleanedEndLine" : 141
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/feature/remote/client/FeatureMessageRemoteClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 388,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 293,
      "startLine" : 105,
      "endLine" : 116,
      "cleanedStartLine" : 45,
      "cleanedEndLine" : 52
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/feature/remote/client/FeatureMessageRemoteClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 388,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 293,
      "startLine" : 344,
      "endLine" : 355,
      "cleanedStartLine" : 193,
      "cleanedEndLine" : 200
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/TestStrategies.kt",
        "extension" : "kt",
        "linesOfCode" : 398,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 340,
      "startLine" : 384,
      "endLine" : 393,
      "cleanedStartLine" : 259,
      "cleanedEndLine" : 266
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/TestStrategies.kt",
        "extension" : "kt",
        "linesOfCode" : 398,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 340,
      "startLine" : 416,
      "endLine" : 425,
      "cleanedStartLine" : 281,
      "cleanedEndLine" : 288
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmMain/kotlin/ai/koog/agents/core/agent/session/AIAgentLLMReadSession.kt",
        "extension" : "kt",
        "linesOfCode" : 158,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 121,
      "startLine" : 4,
      "endLine" : 33,
      "cleanedStartLine" : 3,
      "cleanedEndLine" : 10
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/wasmJsMain/kotlin/ai/koog/agents/core/agent/session/AIAgentLLMReadSession.kt",
        "extension" : "kt",
        "linesOfCode" : 16,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 10,
      "startLine" : 3,
      "endLine" : 18,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/feature/remote/client/FeatureMessageRemoteClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 388,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 293,
      "startLine" : 105,
      "endLine" : 116,
      "cleanedStartLine" : 45,
      "cleanedEndLine" : 52
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/feature/remote/client/FeatureMessageRemoteClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 388,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 293,
      "startLine" : 280,
      "endLine" : 291,
      "cleanedStartLine" : 157,
      "cleanedEndLine" : 164
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmMain/kotlin/ai/koog/prompt/executor/clients/bedrock/BedrockLLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 542,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 401,
      "startLine" : 264,
      "endLine" : 271,
      "cleanedStartLine" : 120,
      "cleanedEndLine" : 127
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/google/GoogleLLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 653,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 482,
      "startLine" : 816,
      "endLine" : 823,
      "cleanedStartLine" : 475,
      "cleanedEndLine" : 482
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 328,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 286,
      "startLine" : 154,
      "endLine" : 161,
      "cleanedStartLine" : 85,
      "cleanedEndLine" : 92
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 846,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 674,
      "startLine" : 324,
      "endLine" : 331,
      "cleanedStartLine" : 170,
      "cleanedEndLine" : 177
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicParams.kt",
        "extension" : "kt",
        "linesOfCode" : 154,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 135,
      "startLine" : 124,
      "endLine" : 131,
      "cleanedStartLine" : 75,
      "cleanedEndLine" : 82
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 381,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 343,
      "startLine" : 396,
      "endLine" : 403,
      "cleanedStartLine" : 264,
      "cleanedEndLine" : 271
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 39,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 3,
      "endLine" : 13,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 8
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-llms/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 42,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 3,
      "endLine" : 13,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 8
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/mistralai/MistralAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 145,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 133,
      "startLine" : 113,
      "endLine" : 120,
      "cleanedStartLine" : 70,
      "cleanedEndLine" : 77
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 381,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 343,
      "startLine" : 175,
      "endLine" : 182,
      "cleanedStartLine" : 104,
      "cleanedEndLine" : 111
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-structure/src/commonTest/kotlin/ai/koog/prompt/structure/markdown/MarkdownParserLineMatchingTest.kt",
        "extension" : "kt",
        "linesOfCode" : 119,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 94,
      "startLine" : 21,
      "endLine" : 29,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-structure/src/commonTest/kotlin/ai/koog/prompt/structure/markdown/MarkdownParserLineMatchingTest.kt",
        "extension" : "kt",
        "linesOfCode" : 119,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 94,
      "startLine" : 84,
      "endLine" : 92,
      "cleanedStartLine" : 52,
      "cleanedEndLine" : 59
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-tools/src/jvmMain/kotlin/ai/koog/agents/core/tools/ToolRegistryBuilder.kt",
        "extension" : "kt",
        "linesOfCode" : 42,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 30,
      "startLine" : 1,
      "endLine" : 22,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 8
    }, {
      "file" : {
        "relativePath" : "agents/agents-tools/src/wasmJsMain/kotlin/ai/koog/agents/core/tools/ToolRegistryBuilder.kt",
        "extension" : "kt",
        "linesOfCode" : 9,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 8,
      "startLine" : 1,
      "endLine" : 13,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 8
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-structure/src/commonTest/kotlin/ai/koog/prompt/structure/markdown/MarkdownParserLineMatchingTest.kt",
        "extension" : "kt",
        "linesOfCode" : 119,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 94,
      "startLine" : 21,
      "endLine" : 29,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-structure/src/commonTest/kotlin/ai/koog/prompt/structure/markdown/MarkdownParserLineMatchingTest.kt",
        "extension" : "kt",
        "linesOfCode" : 119,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 94,
      "startLine" : 46,
      "endLine" : 54,
      "cleanedStartLine" : 26,
      "cleanedEndLine" : 33
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmMain/kotlin/ai/koog/agents/core/agent/context/AIAgentLLMContext.kt",
        "extension" : "kt",
        "linesOfCode" : 82,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 59,
      "startLine" : 46,
      "endLine" : 53,
      "cleanedStartLine" : 26,
      "cleanedEndLine" : 33
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmMain/kotlin/ai/koog/agents/core/agent/context/AIAgentLLMContext.kt",
        "extension" : "kt",
        "linesOfCode" : 82,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 59,
      "startLine" : 101,
      "endLine" : 108,
      "cleanedStartLine" : 51,
      "cleanedEndLine" : 58
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/dashscope/DashscopeParams.kt",
        "extension" : "kt",
        "linesOfCode" : 159,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 144,
      "startLine" : 9,
      "endLine" : 16,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 12
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openrouter-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openrouter/OpenRouterParams.kt",
        "extension" : "kt",
        "linesOfCode" : 197,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 177,
      "startLine" : 150,
      "endLine" : 157,
      "cleanedStartLine" : 95,
      "cleanedEndLine" : 102
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-llms/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 42,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 3,
      "endLine" : 13,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 8
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-markdown/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 27,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 17,
      "startLine" : 3,
      "endLine" : 13,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 8
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/dashscope/DashscopeParams.kt",
        "extension" : "kt",
        "linesOfCode" : 159,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 144,
      "startLine" : 174,
      "endLine" : 181,
      "cleanedStartLine" : 127,
      "cleanedEndLine" : 134
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 381,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 343,
      "startLine" : 459,
      "endLine" : 466,
      "cleanedStartLine" : 322,
      "cleanedEndLine" : 329
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/span/GenAIAgentSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 227,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 201,
      "startLine" : 102,
      "endLine" : 110,
      "cleanedStartLine" : 65,
      "cleanedEndLine" : 72
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/span/GenAIAgentSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 227,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 201,
      "startLine" : 151,
      "endLine" : 159,
      "cleanedStartLine" : 98,
      "cleanedEndLine" : 105
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/span/GenAIAgentSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 227,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 201,
      "startLine" : 102,
      "endLine" : 110,
      "cleanedStartLine" : 65,
      "cleanedEndLine" : 72
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/span/GenAIAgentSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 227,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 201,
      "startLine" : 132,
      "endLine" : 140,
      "cleanedStartLine" : 87,
      "cleanedEndLine" : 94
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/span/GenAIAgentSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 227,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 201,
      "startLine" : 102,
      "endLine" : 110,
      "cleanedStartLine" : 65,
      "cleanedEndLine" : 72
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/span/GenAIAgentSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 227,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 201,
      "startLine" : 117,
      "endLine" : 125,
      "cleanedStartLine" : 76,
      "cleanedEndLine" : 83
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerTest.kt",
        "extension" : "kt",
        "linesOfCode" : 521,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 437,
      "startLine" : 104,
      "endLine" : 111,
      "cleanedStartLine" : 21,
      "cleanedEndLine" : 28
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageFileWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 509,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 418,
      "startLine" : 467,
      "endLine" : 474,
      "cleanedStartLine" : 321,
      "cleanedEndLine" : 328
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerTest.kt",
        "extension" : "kt",
        "linesOfCode" : 521,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 437,
      "startLine" : 388,
      "endLine" : 395,
      "cleanedStartLine" : 272,
      "cleanedEndLine" : 279
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageRemoteWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 816,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 671,
      "startLine" : 487,
      "endLine" : 494,
      "cleanedStartLine" : 328,
      "cleanedEndLine" : 335
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageFileWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 509,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 418,
      "startLine" : 282,
      "endLine" : 289,
      "cleanedStartLine" : 191,
      "cleanedEndLine" : 198
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageLogWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 480,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 396,
      "startLine" : 260,
      "endLine" : 267,
      "cleanedStartLine" : 178,
      "cleanedEndLine" : 185
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-deepseek-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/deepseek/DeepSeekParams.kt",
        "extension" : "kt",
        "linesOfCode" : 143,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 158,
      "endLine" : 165,
      "cleanedStartLine" : 114,
      "cleanedEndLine" : 121
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonMain/kotlin/ai/koog/prompt/params/LLMParams.kt",
        "extension" : "kt",
        "linesOfCode" : 169,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 141,
      "startLine" : 183,
      "endLine" : 190,
      "cleanedStartLine" : 88,
      "cleanedEndLine" : 95
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-mcp/src/commonTest/kotlin/ai/koog/agents/mcp/DefaultMcpToolDescriptorParserTest.kt",
        "extension" : "kt",
        "linesOfCode" : 726,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 614,
      "startLine" : 746,
      "endLine" : 753,
      "cleanedStartLine" : 542,
      "cleanedEndLine" : 549
    }, {
      "file" : {
        "relativePath" : "agents/agents-mcp/src/commonTest/kotlin/ai/koog/agents/mcp/DefaultMcpToolDescriptorParserTest.kt",
        "extension" : "kt",
        "linesOfCode" : 726,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 614,
      "startLine" : 772,
      "endLine" : 779,
      "cleanedStartLine" : 568,
      "cleanedEndLine" : 575
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentGraphPipeline.kt",
        "extension" : "kt",
        "linesOfCode" : 107,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 90,
      "startLine" : 174,
      "endLine" : 181,
      "cleanedStartLine" : 59,
      "cleanedEndLine" : 66
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentGraphPipelineAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 94,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 81,
      "startLine" : 80,
      "endLine" : 87,
      "cleanedStartLine" : 50,
      "cleanedEndLine" : 57
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/CheckpointsTests.kt",
        "extension" : "kt",
        "linesOfCode" : 793,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 646,
      "startLine" : 457,
      "endLine" : 464,
      "cleanedStartLine" : 289,
      "cleanedEndLine" : 296
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/ai/koog/agents/snapshot/providers/file/FileCheckpointsTests.kt",
        "extension" : "kt",
        "linesOfCode" : 236,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 188,
      "startLine" : 232,
      "endLine" : 239,
      "cleanedStartLine" : 157,
      "cleanedEndLine" : 164
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/feature/AIAgentPipelineTest.kt",
        "extension" : "kt",
        "linesOfCode" : 736,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 595,
      "startLine" : 550,
      "endLine" : 560,
      "cleanedStartLine" : 352,
      "cleanedEndLine" : 359
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/feature/AIAgentPipelineTest.kt",
        "extension" : "kt",
        "linesOfCode" : 736,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 595,
      "startLine" : 591,
      "endLine" : 601,
      "cleanedStartLine" : 380,
      "cleanedEndLine" : 387
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/CheckpointsTests.kt",
        "extension" : "kt",
        "linesOfCode" : 793,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 646,
      "startLine" : 457,
      "endLine" : 464,
      "cleanedStartLine" : 289,
      "cleanedEndLine" : 296
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/ai/koog/agents/snapshot/providers/file/FileCheckpointsTests.kt",
        "extension" : "kt",
        "linesOfCode" : 236,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 188,
      "startLine" : 258,
      "endLine" : 265,
      "cleanedStartLine" : 176,
      "cleanedEndLine" : 183
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicParams.kt",
        "extension" : "kt",
        "linesOfCode" : 154,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 135,
      "startLine" : 124,
      "endLine" : 131,
      "cleanedStartLine" : 75,
      "cleanedEndLine" : 82
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 381,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 343,
      "startLine" : 175,
      "endLine" : 182,
      "cleanedStartLine" : 104,
      "cleanedEndLine" : 111
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/src/commonTest/kotlin/ai/koog/prompt/executor/clients/retry/RetryingLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 381,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 318,
      "startLine" : 97,
      "endLine" : 105,
      "cleanedStartLine" : 45,
      "cleanedEndLine" : 52
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/src/commonTest/kotlin/ai/koog/prompt/executor/clients/retry/RetryingLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 381,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 318,
      "startLine" : 183,
      "endLine" : 191,
      "cleanedStartLine" : 110,
      "cleanedEndLine" : 117
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicParams.kt",
        "extension" : "kt",
        "linesOfCode" : 154,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 135,
      "startLine" : 124,
      "endLine" : 131,
      "cleanedStartLine" : 75,
      "cleanedEndLine" : 82
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/dashscope/DashscopeParams.kt",
        "extension" : "kt",
        "linesOfCode" : 159,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 144,
      "startLine" : 9,
      "endLine" : 16,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 12
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/CheckpointsTests.kt",
        "extension" : "kt",
        "linesOfCode" : 793,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 646,
      "startLine" : 457,
      "endLine" : 464,
      "cleanedStartLine" : 289,
      "cleanedEndLine" : 296
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/ai/koog/agents/snapshot/providers/file/FileCheckpointsTests.kt",
        "extension" : "kt",
        "linesOfCode" : 236,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 188,
      "startLine" : 178,
      "endLine" : 185,
      "cleanedStartLine" : 113,
      "cleanedEndLine" : 120
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-processor/src/commonTest/kotlin/ai/koog/prompt/processor/ManualToolJsonFixProcessorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 181,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 132,
      "startLine" : 176,
      "endLine" : 186,
      "cleanedStartLine" : 104,
      "cleanedEndLine" : 111
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-processor/src/commonTest/kotlin/ai/koog/prompt/processor/ManualToolJsonFixProcessorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 181,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 132,
      "startLine" : 205,
      "endLine" : 215,
      "cleanedStartLine" : 123,
      "cleanedEndLine" : 130
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageLogWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 480,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 396,
      "startLine" : 515,
      "endLine" : 522,
      "cleanedStartLine" : 363,
      "cleanedEndLine" : 370
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageRemoteWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 816,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 671,
      "startLine" : 780,
      "endLine" : 787,
      "cleanedStartLine" : 552,
      "cleanedEndLine" : 559
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/feature/remote/client/FeatureMessageRemoteClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 388,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 293,
      "startLine" : 105,
      "endLine" : 116,
      "cleanedStartLine" : 45,
      "cleanedEndLine" : 52
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/feature/remote/client/FeatureMessageRemoteClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 388,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 293,
      "startLine" : 398,
      "endLine" : 409,
      "cleanedStartLine" : 225,
      "cleanedEndLine" : 232
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicLLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 524,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 393,
      "startLine" : 160,
      "endLine" : 167,
      "cleanedStartLine" : 55,
      "cleanedEndLine" : 62
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/google/GoogleLLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 653,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 482,
      "startLine" : 212,
      "endLine" : 219,
      "cleanedStartLine" : 89,
      "cleanedEndLine" : 96
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/dashscope/models/DashscopeSerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 453,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 372,
      "startLine" : 38,
      "endLine" : 48,
      "cleanedStartLine" : 17,
      "cleanedEndLine" : 24
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/dashscope/models/DashscopeSerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 453,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 372,
      "startLine" : 169,
      "endLine" : 179,
      "cleanedStartLine" : 113,
      "cleanedEndLine" : 120
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/commonTest/kotlin/ai/koog/prompt/executor/clients/google/structure/GoogleSimpleJsonSchemaGeneratorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 147,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 130,
      "startLine" : 114,
      "endLine" : 121,
      "cleanedStartLine" : 91,
      "cleanedEndLine" : 98
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client-base/src/commonTest/kotlin/ai/koog/prompt/executor/clients/openai/structure/OpenAIStandardJsonSchemaGeneratorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 375,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 342,
      "startLine" : 365,
      "endLine" : 372,
      "cleanedStartLine" : 320,
      "cleanedEndLine" : 327
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/commonTest/kotlin/ai/koog/prompt/executor/clients/google/structure/GoogleSimpleJsonSchemaGeneratorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 147,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 130,
      "startLine" : 114,
      "endLine" : 121,
      "cleanedStartLine" : 91,
      "cleanedEndLine" : 98
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/commonTest/kotlin/ai/koog/prompt/executor/clients/google/structure/GoogleStandardJsonSchemaGeneratorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 323,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 297,
      "startLine" : 296,
      "endLine" : 303,
      "cleanedStartLine" : 260,
      "cleanedEndLine" : 267
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipeline.kt",
        "extension" : "kt",
        "linesOfCode" : 448,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 394,
      "startLine" : 332,
      "endLine" : 339,
      "cleanedStartLine" : 100,
      "cleanedEndLine" : 107
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 328,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 286,
      "startLine" : 178,
      "endLine" : 185,
      "cleanedStartLine" : 107,
      "cleanedEndLine" : 114
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetrySpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 256,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 224,
      "startLine" : 133,
      "endLine" : 140,
      "cleanedStartLine" : 79,
      "cleanedEndLine" : 86
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetrySpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 256,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 224,
      "startLine" : 227,
      "endLine" : 234,
      "cleanedStartLine" : 167,
      "cleanedEndLine" : 174
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 407,
      "endLine" : 418,
      "cleanedStartLine" : 273,
      "cleanedEndLine" : 280
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 775,
      "endLine" : 786,
      "cleanedStartLine" : 547,
      "cleanedEndLine" : 554
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-xml/src/commonTest/kotlin/ai/koog/prompt/xml/XmlTest.kt",
        "extension" : "kt",
        "linesOfCode" : 283,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 216,
      "startLine" : 216,
      "endLine" : 225,
      "cleanedStartLine" : 154,
      "cleanedEndLine" : 161
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-xml/src/commonTest/kotlin/ai/koog/prompt/xml/XmlTest.kt",
        "extension" : "kt",
        "linesOfCode" : 283,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 216,
      "startLine" : 241,
      "endLine" : 250,
      "cleanedStartLine" : 174,
      "cleanedEndLine" : 181
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicParams.kt",
        "extension" : "kt",
        "linesOfCode" : 154,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 135,
      "startLine" : 12,
      "endLine" : 19,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 12
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicParams.kt",
        "extension" : "kt",
        "linesOfCode" : 154,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 135,
      "startLine" : 124,
      "endLine" : 131,
      "cleanedStartLine" : 75,
      "cleanedEndLine" : 82
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/dashscope/DashscopeParams.kt",
        "extension" : "kt",
        "linesOfCode" : 159,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 144,
      "startLine" : 174,
      "endLine" : 181,
      "cleanedStartLine" : 127,
      "cleanedEndLine" : 134
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openrouter-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openrouter/OpenRouterParams.kt",
        "extension" : "kt",
        "linesOfCode" : 197,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 177,
      "startLine" : 215,
      "endLine" : 222,
      "cleanedStartLine" : 155,
      "cleanedEndLine" : 162
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 407,
      "endLine" : 418,
      "cleanedStartLine" : 273,
      "cleanedEndLine" : 280
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 804,
      "endLine" : 815,
      "cleanedStartLine" : 567,
      "cleanedEndLine" : 574
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 407,
      "endLine" : 418,
      "cleanedStartLine" : 273,
      "cleanedEndLine" : 280
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 837,
      "endLine" : 848,
      "cleanedStartLine" : 589,
      "cleanedEndLine" : 596
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/dashscope/models/DashscopeSerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 453,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 372,
      "startLine" : 169,
      "endLine" : 179,
      "cleanedStartLine" : 113,
      "cleanedEndLine" : 120
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-deepseek-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/deepseek/models/DeepSeekSerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 327,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 263,
      "startLine" : 39,
      "endLine" : 49,
      "cleanedStartLine" : 17,
      "cleanedEndLine" : 24
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/BedrockLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 751,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 628,
      "startLine" : 662,
      "endLine" : 669,
      "cleanedStartLine" : 445,
      "cleanedEndLine" : 452
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/BedrockLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 751,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 628,
      "startLine" : 845,
      "endLine" : 852,
      "cleanedStartLine" : 593,
      "cleanedEndLine" : 600
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "http-client/http-client-java/src/main/kotlin/ai/koog/http/client/java/JavaKoogHttpClient.kt",
        "extension" : "kt",
        "linesOfCode" : 182,
        "components" : [ "primary::http-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 144,
      "startLine" : 117,
      "endLine" : 126,
      "cleanedStartLine" : 61,
      "cleanedEndLine" : 68
    }, {
      "file" : {
        "relativePath" : "http-client/http-client-ktor/src/commonMain/kotlin/ai/koog/http/client/ktor/KtorKoogHttpClient.kt",
        "extension" : "kt",
        "linesOfCode" : 165,
        "components" : [ "primary::http-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 113,
      "startLine" : 118,
      "endLine" : 127,
      "cleanedStartLine" : 46,
      "cleanedEndLine" : 53
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-server/src/jvmTest/kotlin/ai/koog/a2a/server/TestAgentExecutor.kt",
        "extension" : "kt",
        "linesOfCode" : 193,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 161,
      "startLine" : 67,
      "endLine" : 74,
      "cleanedStartLine" : 40,
      "cleanedEndLine" : 47
    }, {
      "file" : {
        "relativePath" : "a2a/a2a-server/src/jvmTest/kotlin/ai/koog/a2a/server/TestAgentExecutor.kt",
        "extension" : "kt",
        "linesOfCode" : 193,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 161,
      "startLine" : 144,
      "endLine" : 151,
      "cleanedStartLine" : 106,
      "cleanedEndLine" : 113
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/mistralai/MistralAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 145,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 133,
      "startLine" : 63,
      "endLine" : 70,
      "cleanedStartLine" : 31,
      "cleanedEndLine" : 38
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 381,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 343,
      "startLine" : 101,
      "endLine" : 108,
      "cleanedStartLine" : 51,
      "cleanedEndLine" : 58
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/dashscope/DashscopeParamsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 84,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 70,
      "startLine" : 53,
      "endLine" : 60,
      "cleanedStartLine" : 35,
      "cleanedEndLine" : 42
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/mistralai/MistralAIParamsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 74,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 61,
      "startLine" : 43,
      "endLine" : 50,
      "cleanedStartLine" : 27,
      "cleanedEndLine" : 34
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/commonTest/kotlin/ai/koog/prompt/executor/clients/google/structure/GoogleSimpleJsonSchemaGeneratorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 147,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 130,
      "startLine" : 114,
      "endLine" : 121,
      "cleanedStartLine" : 91,
      "cleanedEndLine" : 98
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client-base/src/commonTest/kotlin/ai/koog/prompt/executor/clients/openai/structure/OpenAIStandardJsonSchemaGeneratorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 375,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 342,
      "startLine" : 297,
      "endLine" : 304,
      "cleanedStartLine" : 260,
      "cleanedEndLine" : 267
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 44,
      "endLine" : 55,
      "cleanedStartLine" : 22,
      "cleanedEndLine" : 29
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 867,
      "endLine" : 878,
      "cleanedStartLine" : 610,
      "cleanedEndLine" : 617
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 44,
      "endLine" : 55,
      "cleanedStartLine" : 22,
      "cleanedEndLine" : 29
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 912,
      "endLine" : 923,
      "cleanedStartLine" : 646,
      "cleanedEndLine" : 653
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/ai/koog/agents/snapshot/providers/file/FileCheckpointsTests.kt",
        "extension" : "kt",
        "linesOfCode" : 236,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 188,
      "startLine" : 70,
      "endLine" : 80,
      "cleanedStartLine" : 29,
      "cleanedEndLine" : 36
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/ai/koog/agents/snapshot/providers/file/FileCheckpointsTests.kt",
        "extension" : "kt",
        "linesOfCode" : 236,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 188,
      "startLine" : 139,
      "endLine" : 150,
      "cleanedStartLine" : 83,
      "cleanedEndLine" : 90
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/mistralai/MistralAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 145,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 133,
      "startLine" : 47,
      "endLine" : 54,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 22
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 381,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 343,
      "startLine" : 302,
      "endLine" : 309,
      "cleanedStartLine" : 191,
      "cleanedEndLine" : 198
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/dashscope/DashscopeParamsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 84,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 70,
      "startLine" : 53,
      "endLine" : 60,
      "cleanedStartLine" : 35,
      "cleanedEndLine" : 42
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-deepseek-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/deepseek/DeepSeekParamsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 81,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 67,
      "startLine" : 53,
      "endLine" : 60,
      "cleanedStartLine" : 35,
      "cleanedEndLine" : 42
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/google/GoogleLLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 653,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 482,
      "startLine" : 212,
      "endLine" : 219,
      "cleanedStartLine" : 89,
      "cleanedEndLine" : 96
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/mistralai/MistralAILLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 248,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 184,
      "startLine" : 263,
      "endLine" : 270,
      "cleanedStartLine" : 143,
      "cleanedEndLine" : 150
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/dashscope/DashscopeParams.kt",
        "extension" : "kt",
        "linesOfCode" : 159,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 144,
      "startLine" : 174,
      "endLine" : 181,
      "cleanedStartLine" : 127,
      "cleanedEndLine" : 134
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-deepseek-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/deepseek/DeepSeekParams.kt",
        "extension" : "kt",
        "linesOfCode" : 143,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 158,
      "endLine" : 165,
      "cleanedStartLine" : 114,
      "cleanedEndLine" : 121
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageLogWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 480,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 396,
      "startLine" : 515,
      "endLine" : 522,
      "cleanedStartLine" : 363,
      "cleanedEndLine" : 370
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageRemoteWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 816,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 671,
      "startLine" : 209,
      "endLine" : 216,
      "cleanedStartLine" : 85,
      "cleanedEndLine" : 92
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/google/GoogleLLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 653,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 482,
      "startLine" : 212,
      "endLine" : 219,
      "cleanedStartLine" : 89,
      "cleanedEndLine" : 96
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/mistralai/MistralAILLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 248,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 184,
      "startLine" : 197,
      "endLine" : 204,
      "cleanedStartLine" : 103,
      "cleanedEndLine" : 110
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/CheckpointsTests.kt",
        "extension" : "kt",
        "linesOfCode" : 793,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 646,
      "startLine" : 402,
      "endLine" : 409,
      "cleanedStartLine" : 244,
      "cleanedEndLine" : 251
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/ai/koog/agents/snapshot/providers/file/FileCheckpointsTests.kt",
        "extension" : "kt",
        "linesOfCode" : 236,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 188,
      "startLine" : 136,
      "endLine" : 143,
      "cleanedStartLine" : 80,
      "cleanedEndLine" : 87
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/commonTest/kotlin/ai/koog/prompt/executor/clients/google/structure/GoogleSimpleJsonSchemaGeneratorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 147,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 130,
      "startLine" : 143,
      "endLine" : 151,
      "cleanedStartLine" : 119,
      "cleanedEndLine" : 126
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/commonTest/kotlin/ai/koog/prompt/executor/clients/google/structure/GoogleStandardJsonSchemaGeneratorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 323,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 297,
      "startLine" : 323,
      "endLine" : 331,
      "cleanedStartLine" : 283,
      "cleanedEndLine" : 290
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 383,
      "endLine" : 390,
      "cleanedStartLine" : 254,
      "cleanedEndLine" : 261
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 394,
      "endLine" : 401,
      "cleanedStartLine" : 264,
      "cleanedEndLine" : 271
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-deepseek-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/deepseek/DeepSeekParams.kt",
        "extension" : "kt",
        "linesOfCode" : 143,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 158,
      "endLine" : 165,
      "cleanedStartLine" : 114,
      "cleanedEndLine" : 121
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 381,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 343,
      "startLine" : 459,
      "endLine" : 466,
      "cleanedStartLine" : 322,
      "cleanedEndLine" : 329
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openrouter-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openrouter/OpenRouterParams.kt",
        "extension" : "kt",
        "linesOfCode" : 197,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 177,
      "startLine" : 177,
      "endLine" : 184,
      "cleanedStartLine" : 121,
      "cleanedEndLine" : 128
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonMain/kotlin/ai/koog/prompt/params/LLMParams.kt",
        "extension" : "kt",
        "linesOfCode" : 169,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 141,
      "startLine" : 158,
      "endLine" : 165,
      "cleanedStartLine" : 67,
      "cleanedEndLine" : 74
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/feature/AIAgentPipelineTest.kt",
        "extension" : "kt",
        "linesOfCode" : 736,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 595,
      "startLine" : 160,
      "endLine" : 170,
      "cleanedStartLine" : 77,
      "cleanedEndLine" : 84
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/feature/AIAgentPipelineTest.kt",
        "extension" : "kt",
        "linesOfCode" : 736,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 595,
      "startLine" : 438,
      "endLine" : 449,
      "cleanedStartLine" : 273,
      "cleanedEndLine" : 280
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicLLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 524,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 393,
      "startLine" : 286,
      "endLine" : 293,
      "cleanedStartLine" : 141,
      "cleanedEndLine" : 148
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmMain/kotlin/ai/koog/prompt/executor/clients/bedrock/BedrockLLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 542,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 401,
      "startLine" : 264,
      "endLine" : 271,
      "cleanedStartLine" : 120,
      "cleanedEndLine" : 127
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/mistralai/MistralAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 145,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 133,
      "startLine" : 165,
      "endLine" : 172,
      "cleanedStartLine" : 117,
      "cleanedEndLine" : 124
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 381,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 343,
      "startLine" : 459,
      "endLine" : 466,
      "cleanedStartLine" : 322,
      "cleanedEndLine" : 329
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/dashscope/DashscopeParamsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 84,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 70,
      "startLine" : 78,
      "endLine" : 85,
      "cleanedStartLine" : 57,
      "cleanedEndLine" : 64
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-deepseek-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/deepseek/DeepSeekParamsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 81,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 67,
      "startLine" : 75,
      "endLine" : 82,
      "cleanedStartLine" : 54,
      "cleanedEndLine" : 61
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 381,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 343,
      "startLine" : 459,
      "endLine" : 466,
      "cleanedStartLine" : 322,
      "cleanedEndLine" : 329
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonMain/kotlin/ai/koog/prompt/params/LLMParams.kt",
        "extension" : "kt",
        "linesOfCode" : 169,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 141,
      "startLine" : 183,
      "endLine" : 190,
      "cleanedStartLine" : 88,
      "cleanedEndLine" : 95
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAILLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 711,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 554,
      "startLine" : 127,
      "endLine" : 134,
      "cleanedStartLine" : 28,
      "cleanedEndLine" : 35
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openrouter-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openrouter/OpenRouterLLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 100,
      "startLine" : 88,
      "endLine" : 95,
      "cleanedStartLine" : 27,
      "cleanedEndLine" : 34
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 234,
      "endLine" : 245,
      "cleanedStartLine" : 152,
      "cleanedEndLine" : 159
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 912,
      "endLine" : 923,
      "cleanedStartLine" : 646,
      "cleanedEndLine" : 653
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 234,
      "endLine" : 245,
      "cleanedStartLine" : 152,
      "cleanedEndLine" : 159
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 867,
      "endLine" : 878,
      "cleanedStartLine" : 610,
      "cleanedEndLine" : 617
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicParams.kt",
        "extension" : "kt",
        "linesOfCode" : 154,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 135,
      "startLine" : 12,
      "endLine" : 19,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 12
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-deepseek-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/deepseek/DeepSeekParams.kt",
        "extension" : "kt",
        "linesOfCode" : 143,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 111,
      "endLine" : 118,
      "cleanedStartLine" : 72,
      "cleanedEndLine" : 79
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/mistralai/MistralAILLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 248,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 184,
      "startLine" : 263,
      "endLine" : 270,
      "cleanedStartLine" : 143,
      "cleanedEndLine" : 150
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client-base/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/base/AbstractOpenAILLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 412,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 304,
      "startLine" : 208,
      "endLine" : 215,
      "cleanedStartLine" : 87,
      "cleanedEndLine" : 94
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/utils/SerializationUtilsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 478,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 413,
      "startLine" : 262,
      "endLine" : 273,
      "cleanedStartLine" : 161,
      "cleanedEndLine" : 168
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/utils/SerializationUtilsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 478,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 413,
      "startLine" : 392,
      "endLine" : 403,
      "cleanedStartLine" : 258,
      "cleanedEndLine" : 265
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 44,
      "endLine" : 55,
      "cleanedStartLine" : 22,
      "cleanedEndLine" : 29
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 837,
      "endLine" : 848,
      "cleanedStartLine" : 589,
      "cleanedEndLine" : 596
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 44,
      "endLine" : 55,
      "cleanedStartLine" : 22,
      "cleanedEndLine" : 29
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 82,
      "endLine" : 93,
      "cleanedStartLine" : 48,
      "cleanedEndLine" : 55
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/model/events/llmStreamingEvents.kt",
        "extension" : "kt",
        "linesOfCode" : 136,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 125,
      "startLine" : 43,
      "endLine" : 50,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 22
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/model/events/llmStreamingEvents.kt",
        "extension" : "kt",
        "linesOfCode" : 136,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 125,
      "startLine" : 193,
      "endLine" : 200,
      "cleanedStartLine" : 107,
      "cleanedEndLine" : 114
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicLLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 524,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 393,
      "startLine" : 286,
      "endLine" : 293,
      "cleanedStartLine" : 141,
      "cleanedEndLine" : 148
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/google/GoogleLLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 653,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 482,
      "startLine" : 212,
      "endLine" : 219,
      "cleanedStartLine" : 89,
      "cleanedEndLine" : 96
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/dashscope/models/DashscopeSerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 453,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 372,
      "startLine" : 86,
      "endLine" : 96,
      "cleanedStartLine" : 54,
      "cleanedEndLine" : 61
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-deepseek-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/deepseek/models/DeepSeekSerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 327,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 263,
      "startLine" : 81,
      "endLine" : 91,
      "cleanedStartLine" : 48,
      "cleanedEndLine" : 55
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 44,
      "endLine" : 55,
      "cleanedStartLine" : 22,
      "cleanedEndLine" : 29
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 139,
      "endLine" : 150,
      "cleanedStartLine" : 87,
      "cleanedEndLine" : 94
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 44,
      "endLine" : 55,
      "cleanedStartLine" : 22,
      "cleanedEndLine" : 29
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 775,
      "endLine" : 786,
      "cleanedStartLine" : 547,
      "cleanedEndLine" : 554
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 44,
      "endLine" : 55,
      "cleanedStartLine" : 22,
      "cleanedEndLine" : 29
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 120,
      "endLine" : 131,
      "cleanedStartLine" : 74,
      "cleanedEndLine" : 81
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/event/ChoiceEventTest.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 120,
      "startLine" : 122,
      "endLine" : 130,
      "cleanedStartLine" : 76,
      "cleanedEndLine" : 83
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/event/ChoiceEventTest.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 120,
      "startLine" : 145,
      "endLine" : 153,
      "cleanedStartLine" : 94,
      "cleanedEndLine" : 101
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 44,
      "endLine" : 55,
      "cleanedStartLine" : 22,
      "cleanedEndLine" : 29
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 101,
      "endLine" : 112,
      "cleanedStartLine" : 61,
      "cleanedEndLine" : 68
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 44,
      "endLine" : 55,
      "cleanedStartLine" : 22,
      "cleanedEndLine" : 29
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 804,
      "endLine" : 815,
      "cleanedStartLine" : 567,
      "cleanedEndLine" : 574
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-deepseek-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/deepseek/DeepSeekParams.kt",
        "extension" : "kt",
        "linesOfCode" : 143,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 111,
      "endLine" : 118,
      "cleanedStartLine" : 72,
      "cleanedEndLine" : 79
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 381,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 343,
      "startLine" : 396,
      "endLine" : 403,
      "cleanedStartLine" : 264,
      "cleanedEndLine" : 271
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/modelfamilies/amazon/BedrockAmazonNovaSerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 311,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 238,
      "startLine" : 151,
      "endLine" : 162,
      "cleanedStartLine" : 89,
      "cleanedEndLine" : 96
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/modelfamilies/amazon/BedrockAmazonNovaSerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 311,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 238,
      "startLine" : 185,
      "endLine" : 196,
      "cleanedStartLine" : 111,
      "cleanedEndLine" : 118
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client-base/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/base/models/OpenAIDataModels.kt",
        "extension" : "kt",
        "linesOfCode" : 421,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 361,
      "startLine" : 783,
      "endLine" : 797,
      "cleanedStartLine" : 241,
      "cleanedEndLine" : 248
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/models/OpenAIChatCompletion.kt",
        "extension" : "kt",
        "linesOfCode" : 92,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 70,
      "startLine" : 211,
      "endLine" : 249,
      "cleanedStartLine" : 38,
      "cleanedEndLine" : 45
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerTest.kt",
        "extension" : "kt",
        "linesOfCode" : 521,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 437,
      "startLine" : 207,
      "endLine" : 217,
      "cleanedStartLine" : 102,
      "cleanedEndLine" : 109
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageRemoteWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 816,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 671,
      "startLine" : 300,
      "endLine" : 309,
      "cleanedStartLine" : 152,
      "cleanedEndLine" : 159
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/feature/AIAgentPipelineTest.kt",
        "extension" : "kt",
        "linesOfCode" : 736,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 595,
      "startLine" : 160,
      "endLine" : 170,
      "cleanedStartLine" : 77,
      "cleanedEndLine" : 84
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/feature/AIAgentPipelineTest.kt",
        "extension" : "kt",
        "linesOfCode" : 736,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 595,
      "startLine" : 591,
      "endLine" : 601,
      "cleanedStartLine" : 380,
      "cleanedEndLine" : 387
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipeline.kt",
        "extension" : "kt",
        "linesOfCode" : 448,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 394,
      "startLine" : 358,
      "endLine" : 365,
      "cleanedStartLine" : 112,
      "cleanedEndLine" : 119
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 846,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 674,
      "startLine" : 347,
      "endLine" : 354,
      "cleanedStartLine" : 191,
      "cleanedEndLine" : 198
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/feature/AIAgentPipelineTest.kt",
        "extension" : "kt",
        "linesOfCode" : 736,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 595,
      "startLine" : 160,
      "endLine" : 170,
      "cleanedStartLine" : 77,
      "cleanedEndLine" : 84
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/feature/AIAgentPipelineTest.kt",
        "extension" : "kt",
        "linesOfCode" : 736,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 595,
      "startLine" : 550,
      "endLine" : 560,
      "cleanedStartLine" : 352,
      "cleanedEndLine" : 359
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-llms/src/commonTest/kotlin/ai/koog/prompt/executor/llms/MultiLLMPromptExecutorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 206,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 155,
      "startLine" : 179,
      "endLine" : 188,
      "cleanedStartLine" : 106,
      "cleanedEndLine" : 113
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-llms/src/commonTest/kotlin/ai/koog/prompt/executor/llms/MultiLLMPromptExecutorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 206,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 155,
      "startLine" : 204,
      "endLine" : 213,
      "cleanedStartLine" : 126,
      "cleanedEndLine" : 133
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 234,
      "endLine" : 245,
      "cleanedStartLine" : 152,
      "cleanedEndLine" : 159
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 837,
      "endLine" : 848,
      "cleanedStartLine" : 589,
      "cleanedEndLine" : 596
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/dashscope/DashscopeParams.kt",
        "extension" : "kt",
        "linesOfCode" : 159,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 144,
      "startLine" : 120,
      "endLine" : 127,
      "cleanedStartLine" : 78,
      "cleanedEndLine" : 85
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/google/GoogleParams.kt",
        "extension" : "kt",
        "linesOfCode" : 115,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 103,
      "startLine" : 10,
      "endLine" : 17,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 12
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageFileWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 509,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 418,
      "startLine" : 222,
      "endLine" : 229,
      "cleanedStartLine" : 131,
      "cleanedEndLine" : 138
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageFileWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 509,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 418,
      "startLine" : 235,
      "endLine" : 242,
      "cleanedStartLine" : 144,
      "cleanedEndLine" : 151
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 234,
      "endLine" : 245,
      "cleanedStartLine" : 152,
      "cleanedEndLine" : 159
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 804,
      "endLine" : 815,
      "cleanedStartLine" : 567,
      "cleanedEndLine" : 574
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 234,
      "endLine" : 245,
      "cleanedStartLine" : 152,
      "cleanedEndLine" : 159
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 775,
      "endLine" : 786,
      "cleanedStartLine" : 547,
      "cleanedEndLine" : 554
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicParams.kt",
        "extension" : "kt",
        "linesOfCode" : 154,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 135,
      "startLine" : 124,
      "endLine" : 131,
      "cleanedStartLine" : 75,
      "cleanedEndLine" : 82
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 381,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 343,
      "startLine" : 33,
      "endLine" : 40,
      "cleanedStartLine" : 18,
      "cleanedEndLine" : 25
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/feature/AIAgentFeatureTestAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 395,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 341,
      "startLine" : 172,
      "endLine" : 179,
      "cleanedStartLine" : 108,
      "cleanedEndLine" : 115
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/feature/AIAgentFeatureTestAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 395,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 341,
      "startLine" : 214,
      "endLine" : 221,
      "cleanedStartLine" : 144,
      "cleanedEndLine" : 151
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/context/AIAgentLLMContext.kt",
        "extension" : "kt",
        "linesOfCode" : 86,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 72,
      "startLine" : 164,
      "endLine" : 171,
      "cleanedStartLine" : 64,
      "cleanedEndLine" : 71
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmMain/kotlin/ai/koog/agents/core/agent/context/AIAgentLLMContext.kt",
        "extension" : "kt",
        "linesOfCode" : 82,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 59,
      "startLine" : 100,
      "endLine" : 107,
      "cleanedStartLine" : 50,
      "cleanedEndLine" : 57
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-deepseek-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/deepseek/DeepSeekParamsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 81,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 67,
      "startLine" : 75,
      "endLine" : 82,
      "cleanedStartLine" : 54,
      "cleanedEndLine" : 61
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/mistralai/MistralAIParamsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 74,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 61,
      "startLine" : 67,
      "endLine" : 74,
      "cleanedStartLine" : 48,
      "cleanedEndLine" : 55
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/dashscope/DashscopeLLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 111,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 79,
      "startLine" : 76,
      "endLine" : 83,
      "cleanedStartLine" : 26,
      "cleanedEndLine" : 33
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/mistralai/MistralAILLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 248,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 184,
      "startLine" : 100,
      "endLine" : 107,
      "cleanedStartLine" : 30,
      "cleanedEndLine" : 37
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/google/GoogleParams.kt",
        "extension" : "kt",
        "linesOfCode" : 115,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 103,
      "startLine" : 90,
      "endLine" : 97,
      "cleanedStartLine" : 57,
      "cleanedEndLine" : 64
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/mistralai/MistralAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 145,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 133,
      "startLine" : 9,
      "endLine" : 16,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 12
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/dashscope/DashscopeParams.kt",
        "extension" : "kt",
        "linesOfCode" : 159,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 144,
      "startLine" : 9,
      "endLine" : 16,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 12
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/dashscope/DashscopeParams.kt",
        "extension" : "kt",
        "linesOfCode" : 159,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 144,
      "startLine" : 120,
      "endLine" : 127,
      "cleanedStartLine" : 78,
      "cleanedEndLine" : 85
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/dashscope/DashscopeLLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 111,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 79,
      "startLine" : 76,
      "endLine" : 83,
      "cleanedStartLine" : 26,
      "cleanedEndLine" : 33
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openrouter-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openrouter/OpenRouterLLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 100,
      "startLine" : 88,
      "endLine" : 95,
      "cleanedStartLine" : 27,
      "cleanedEndLine" : 34
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client-base/src/commonTest/kotlin/ai/koog/prompt/executor/clients/openai/structure/OpenAIBasicJsonSchemaGeneratorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 152,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 134,
      "startLine" : 116,
      "endLine" : 123,
      "cleanedStartLine" : 92,
      "cleanedEndLine" : 99
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client-base/src/commonTest/kotlin/ai/koog/prompt/executor/clients/openai/structure/OpenAIStandardJsonSchemaGeneratorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 375,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 342,
      "startLine" : 297,
      "endLine" : 304,
      "cleanedStartLine" : 260,
      "cleanedEndLine" : 267
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentGraphPipeline.kt",
        "extension" : "kt",
        "linesOfCode" : 107,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 90,
      "startLine" : 107,
      "endLine" : 114,
      "cleanedStartLine" : 32,
      "cleanedEndLine" : 39
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentGraphPipelineAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 94,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 81,
      "startLine" : 48,
      "endLine" : 55,
      "cleanedStartLine" : 23,
      "cleanedEndLine" : 30
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/mistralai/MistralAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 145,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 133,
      "startLine" : 113,
      "endLine" : 120,
      "cleanedStartLine" : 70,
      "cleanedEndLine" : 77
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 381,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 343,
      "startLine" : 33,
      "endLine" : 40,
      "cleanedStartLine" : 18,
      "cleanedEndLine" : 25
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageLogWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 480,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 396,
      "startLine" : 433,
      "endLine" : 440,
      "cleanedStartLine" : 296,
      "cleanedEndLine" : 303
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageTestWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 623,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 501,
      "startLine" : 390,
      "endLine" : 397,
      "cleanedStartLine" : 238,
      "cleanedEndLine" : 245
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/ai/koog/agents/snapshot/providers/file/FileCheckpointsTests.kt",
        "extension" : "kt",
        "linesOfCode" : 236,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 188,
      "startLine" : 70,
      "endLine" : 80,
      "cleanedStartLine" : 29,
      "cleanedEndLine" : 36
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/ai/koog/agents/snapshot/providers/file/FileCheckpointsTests.kt",
        "extension" : "kt",
        "linesOfCode" : 236,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 188,
      "startLine" : 235,
      "endLine" : 246,
      "cleanedStartLine" : 160,
      "cleanedEndLine" : 167
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/span/GenAIAgentSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 227,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 201,
      "startLine" : 117,
      "endLine" : 125,
      "cleanedStartLine" : 76,
      "cleanedEndLine" : 83
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/span/GenAIAgentSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 227,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 201,
      "startLine" : 181,
      "endLine" : 189,
      "cleanedStartLine" : 121,
      "cleanedEndLine" : 128
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/span/GenAIAgentSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 227,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 201,
      "startLine" : 117,
      "endLine" : 125,
      "cleanedStartLine" : 76,
      "cleanedEndLine" : 83
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/span/GenAIAgentSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 227,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 201,
      "startLine" : 206,
      "endLine" : 214,
      "cleanedStartLine" : 137,
      "cleanedEndLine" : 144
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/TraceStructureTestBase.kt",
        "extension" : "kt",
        "linesOfCode" : 802,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 688,
      "startLine" : 156,
      "endLine" : 163,
      "cleanedStartLine" : 75,
      "cleanedEndLine" : 82
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/langfuse/LangfuseTraceStructureTest.kt",
        "extension" : "kt",
        "linesOfCode" : 249,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 236,
      "startLine" : 80,
      "endLine" : 87,
      "cleanedStartLine" : 60,
      "cleanedEndLine" : 67
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/debugger/Debugger.kt",
        "extension" : "kt",
        "linesOfCode" : 399,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 318,
      "startLine" : 275,
      "endLine" : 282,
      "cleanedStartLine" : 134,
      "cleanedEndLine" : 141
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/commonMain/kotlin/ai/koog/agents/features/tracing/feature/Tracing.kt",
        "extension" : "kt",
        "linesOfCode" : 335,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 266,
      "startLine" : 291,
      "endLine" : 298,
      "cleanedStartLine" : 142,
      "cleanedEndLine" : 149
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client-base/src/commonTest/kotlin/ai/koog/prompt/executor/clients/openai/structure/OpenAIBasicJsonSchemaGeneratorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 152,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 134,
      "startLine" : 116,
      "endLine" : 123,
      "cleanedStartLine" : 92,
      "cleanedEndLine" : 99
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client-base/src/commonTest/kotlin/ai/koog/prompt/executor/clients/openai/structure/OpenAIStandardJsonSchemaGeneratorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 375,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 342,
      "startLine" : 365,
      "endLine" : 372,
      "cleanedStartLine" : 320,
      "cleanedEndLine" : 327
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-tools/src/androidMain/kotlin/ai/koog/agents/core/tools/ToolRegistryBuilder.kt",
        "extension" : "kt",
        "linesOfCode" : 9,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 8,
      "startLine" : 1,
      "endLine" : 13,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 8
    }, {
      "file" : {
        "relativePath" : "agents/agents-tools/src/jvmMain/kotlin/ai/koog/agents/core/tools/ToolRegistryBuilder.kt",
        "extension" : "kt",
        "linesOfCode" : 42,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 30,
      "startLine" : 1,
      "endLine" : 22,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 8
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/ai/koog/agents/snapshot/providers/file/FileCheckpointsTests.kt",
        "extension" : "kt",
        "linesOfCode" : 236,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 188,
      "startLine" : 70,
      "endLine" : 80,
      "cleanedStartLine" : 29,
      "cleanedEndLine" : 36
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/ai/koog/agents/snapshot/providers/file/FileCheckpointsTests.kt",
        "extension" : "kt",
        "linesOfCode" : 236,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 188,
      "startLine" : 181,
      "endLine" : 192,
      "cleanedStartLine" : 116,
      "cleanedEndLine" : 123
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/mistralai/MistralAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 145,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 133,
      "startLine" : 63,
      "endLine" : 70,
      "cleanedStartLine" : 31,
      "cleanedEndLine" : 38
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openrouter-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openrouter/OpenRouterParams.kt",
        "extension" : "kt",
        "linesOfCode" : 197,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 177,
      "startLine" : 74,
      "endLine" : 81,
      "cleanedStartLine" : 37,
      "cleanedEndLine" : 44
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/span/GenAIAgentSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 227,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 201,
      "startLine" : 117,
      "endLine" : 125,
      "cleanedStartLine" : 76,
      "cleanedEndLine" : 83
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/span/GenAIAgentSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 227,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 201,
      "startLine" : 281,
      "endLine" : 289,
      "cleanedStartLine" : 188,
      "cleanedEndLine" : 195
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/StructuredOutputWithToolsIntegrationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 269,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 223,
      "startLine" : 149,
      "endLine" : 157,
      "cleanedStartLine" : 105,
      "cleanedEndLine" : 112
    }, {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/StructuredOutputWithToolsIntegrationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 269,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 223,
      "startLine" : 288,
      "endLine" : 296,
      "cleanedStartLine" : 207,
      "cleanedEndLine" : 214
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipeline.kt",
        "extension" : "kt",
        "linesOfCode" : 448,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 394,
      "startLine" : 258,
      "endLine" : 265,
      "cleanedStartLine" : 69,
      "cleanedEndLine" : 76
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 846,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 674,
      "startLine" : 280,
      "endLine" : 287,
      "cleanedStartLine" : 134,
      "cleanedEndLine" : 141
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicParams.kt",
        "extension" : "kt",
        "linesOfCode" : 154,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 135,
      "startLine" : 174,
      "endLine" : 181,
      "cleanedStartLine" : 120,
      "cleanedEndLine" : 127
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openrouter-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openrouter/OpenRouterParams.kt",
        "extension" : "kt",
        "linesOfCode" : 197,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 177,
      "startLine" : 215,
      "endLine" : 222,
      "cleanedStartLine" : 155,
      "cleanedEndLine" : 162
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/span/GenAIAgentSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 227,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 201,
      "startLine" : 117,
      "endLine" : 125,
      "cleanedStartLine" : 76,
      "cleanedEndLine" : 83
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/span/GenAIAgentSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 227,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 201,
      "startLine" : 257,
      "endLine" : 265,
      "cleanedStartLine" : 170,
      "cleanedEndLine" : 177
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/mistralai/MistralAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 145,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 133,
      "startLine" : 165,
      "endLine" : 172,
      "cleanedStartLine" : 117,
      "cleanedEndLine" : 124
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 381,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 343,
      "startLine" : 242,
      "endLine" : 249,
      "cleanedStartLine" : 166,
      "cleanedEndLine" : 173
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/span/GenAIAgentSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 227,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 201,
      "startLine" : 117,
      "endLine" : 125,
      "cleanedStartLine" : 76,
      "cleanedEndLine" : 83
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/span/GenAIAgentSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 227,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 201,
      "startLine" : 230,
      "endLine" : 238,
      "cleanedStartLine" : 153,
      "cleanedEndLine" : 160
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-mcp-server/src/commonMain/kotlin/ai/koog/agents/mcp/server/McpServer.kt",
        "extension" : "kt",
        "linesOfCode" : 163,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 109,
      "startLine" : 193,
      "endLine" : 200,
      "cleanedStartLine" : 102,
      "cleanedEndLine" : 109
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client-base/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/base/OpenAICompatibleToolDescriptorSchemaGenerator.kt",
        "extension" : "kt",
        "linesOfCode" : 73,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 42,
      "startLine" : 59,
      "endLine" : 66,
      "cleanedStartLine" : 29,
      "cleanedEndLine" : 36
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 272,
      "endLine" : 283,
      "cleanedStartLine" : 178,
      "cleanedEndLine" : 185
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 912,
      "endLine" : 923,
      "cleanedStartLine" : 646,
      "cleanedEndLine" : 653
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmMain/kotlin/ai/koog/agents/features/opentelemetry/span/inferenceSpan.kt",
        "extension" : "kt",
        "linesOfCode" : 94,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 71,
      "startLine" : 73,
      "endLine" : 85,
      "cleanedStartLine" : 26,
      "cleanedEndLine" : 33
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmMain/kotlin/ai/koog/agents/features/opentelemetry/span/invokeAgentSpan.kt",
        "extension" : "kt",
        "linesOfCode" : 94,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 72,
      "startLine" : 81,
      "endLine" : 94,
      "cleanedStartLine" : 27,
      "cleanedEndLine" : 34
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicParams.kt",
        "extension" : "kt",
        "linesOfCode" : 154,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 135,
      "startLine" : 124,
      "endLine" : 131,
      "cleanedStartLine" : 75,
      "cleanedEndLine" : 82
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-deepseek-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/deepseek/DeepSeekParams.kt",
        "extension" : "kt",
        "linesOfCode" : 143,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 111,
      "endLine" : 118,
      "cleanedStartLine" : 72,
      "cleanedEndLine" : 79
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 82,
      "endLine" : 93,
      "cleanedStartLine" : 48,
      "cleanedEndLine" : 55
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 912,
      "endLine" : 923,
      "cleanedStartLine" : 646,
      "cleanedEndLine" : 653
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-llm/src/commonMain/kotlin/ai/koog/prompt/llm/OllamaModels.kt",
        "extension" : "kt",
        "linesOfCode" : 137,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 131,
      "startLine" : 222,
      "endLine" : 242,
      "cleanedStartLine" : 87,
      "cleanedEndLine" : 94
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-llm/src/commonMain/kotlin/ai/koog/prompt/llm/OllamaModels.kt",
        "extension" : "kt",
        "linesOfCode" : 137,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 131,
      "startLine" : 246,
      "endLine" : 268,
      "cleanedStartLine" : 98,
      "cleanedEndLine" : 105
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-memory/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 37,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 25,
      "endLine" : 35,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 23
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 62,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 47,
      "startLine" : 35,
      "endLine" : 45,
      "cleanedStartLine" : 22,
      "cleanedEndLine" : 29
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/feature/AIAgentPipelineTest.kt",
        "extension" : "kt",
        "linesOfCode" : 736,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 595,
      "startLine" : 160,
      "endLine" : 170,
      "cleanedStartLine" : 77,
      "cleanedEndLine" : 84
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/feature/AIAgentPipelineTest.kt",
        "extension" : "kt",
        "linesOfCode" : 736,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 595,
      "startLine" : 324,
      "endLine" : 334,
      "cleanedStartLine" : 192,
      "cleanedEndLine" : 199
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/google/GoogleLLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 653,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 482,
      "startLine" : 816,
      "endLine" : 823,
      "cleanedStartLine" : 475,
      "cleanedEndLine" : 482
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client-base/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/base/AbstractOpenAILLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 412,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 304,
      "startLine" : 258,
      "endLine" : 265,
      "cleanedStartLine" : 126,
      "cleanedEndLine" : 133
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 381,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 343,
      "startLine" : 202,
      "endLine" : 209,
      "cleanedStartLine" : 130,
      "cleanedEndLine" : 137
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonMain/kotlin/ai/koog/prompt/params/LLMParams.kt",
        "extension" : "kt",
        "linesOfCode" : 169,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 141,
      "startLine" : 158,
      "endLine" : 165,
      "cleanedStartLine" : 67,
      "cleanedEndLine" : 74
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/dashscope/models/DashscopeSerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 453,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 372,
      "startLine" : 114,
      "endLine" : 124,
      "cleanedStartLine" : 75,
      "cleanedEndLine" : 82
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/dashscope/models/DashscopeSerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 453,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 372,
      "startLine" : 169,
      "endLine" : 179,
      "cleanedStartLine" : 113,
      "cleanedEndLine" : 120
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/context/AIAgentLLMContext.kt",
        "extension" : "kt",
        "linesOfCode" : 86,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 72,
      "startLine" : 163,
      "endLine" : 170,
      "cleanedStartLine" : 63,
      "cleanedEndLine" : 70
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/context/AIAgentLLMContextImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 105,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 85,
      "startLine" : 96,
      "endLine" : 103,
      "cleanedStartLine" : 65,
      "cleanedEndLine" : 72
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/langfuse/LangfuseSpanAdapterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 261,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 227,
      "startLine" : 49,
      "endLine" : 56,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 23
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/langfuse/LangfuseSpanAdapterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 261,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 227,
      "startLine" : 265,
      "endLine" : 272,
      "cleanedStartLine" : 182,
      "cleanedEndLine" : 189
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/jvmTest/kotlin/ai/koog/prompt/JavaAPIPromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 296,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 262,
      "startLine" : 183,
      "endLine" : 193,
      "cleanedStartLine" : 123,
      "cleanedEndLine" : 130
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/jvmTest/kotlin/ai/koog/prompt/JavaAPIPromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 296,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 262,
      "startLine" : 209,
      "endLine" : 219,
      "cleanedStartLine" : 144,
      "cleanedEndLine" : 151
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-llms/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 42,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 3,
      "endLine" : 13,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 8
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-model/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 25,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 17,
      "startLine" : 3,
      "endLine" : 13,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 8
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicLLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 524,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 393,
      "startLine" : 286,
      "endLine" : 293,
      "cleanedStartLine" : 141,
      "cleanedEndLine" : 148
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/google/GoogleLLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 653,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 482,
      "startLine" : 260,
      "endLine" : 267,
      "cleanedStartLine" : 119,
      "cleanedEndLine" : 126
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/google/GoogleLLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 653,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 482,
      "startLine" : 260,
      "endLine" : 267,
      "cleanedStartLine" : 119,
      "cleanedEndLine" : 126
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/google/GoogleLLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 653,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 482,
      "startLine" : 816,
      "endLine" : 823,
      "cleanedStartLine" : 475,
      "cleanedEndLine" : 482
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerTest.kt",
        "extension" : "kt",
        "linesOfCode" : 521,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 437,
      "startLine" : 104,
      "endLine" : 111,
      "cleanedStartLine" : 21,
      "cleanedEndLine" : 28
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageFileWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 509,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 418,
      "startLine" : 104,
      "endLine" : 111,
      "cleanedStartLine" : 29,
      "cleanedEndLine" : 36
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerStreamingTest.kt",
        "extension" : "kt",
        "linesOfCode" : 347,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 262,
      "startLine" : 82,
      "endLine" : 89,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 23
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageLogWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 480,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 396,
      "startLine" : 433,
      "endLine" : 440,
      "cleanedStartLine" : 296,
      "cleanedEndLine" : 303
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 272,
      "endLine" : 283,
      "cleanedStartLine" : 178,
      "cleanedEndLine" : 185
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 775,
      "endLine" : 786,
      "cleanedStartLine" : 547,
      "cleanedEndLine" : 554
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/BedrockLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 751,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 628,
      "startLine" : 232,
      "endLine" : 239,
      "cleanedStartLine" : 127,
      "cleanedEndLine" : 134
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/BedrockLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 751,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 628,
      "startLine" : 845,
      "endLine" : 852,
      "cleanedStartLine" : 593,
      "cleanedEndLine" : 600
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/google/GoogleParams.kt",
        "extension" : "kt",
        "linesOfCode" : 115,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 103,
      "startLine" : 10,
      "endLine" : 17,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 12
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openrouter-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openrouter/OpenRouterParams.kt",
        "extension" : "kt",
        "linesOfCode" : 197,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 177,
      "startLine" : 150,
      "endLine" : 157,
      "cleanedStartLine" : 95,
      "cleanedEndLine" : 102
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-ollama-client/src/commonTest/kotlin/ai/koog/prompt/executor/ollama/client/dto/OllamaSerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 154,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 131,
      "startLine" : 57,
      "endLine" : 64,
      "cleanedStartLine" : 33,
      "cleanedEndLine" : 40
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-ollama-client/src/commonTest/kotlin/ai/koog/prompt/executor/ollama/client/dto/OllamaSerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 154,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 131,
      "startLine" : 151,
      "endLine" : 158,
      "cleanedStartLine" : 106,
      "cleanedEndLine" : 113
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 381,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 343,
      "startLine" : 152,
      "endLine" : 159,
      "cleanedStartLine" : 81,
      "cleanedEndLine" : 88
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonMain/kotlin/ai/koog/prompt/params/LLMParams.kt",
        "extension" : "kt",
        "linesOfCode" : 169,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 141,
      "startLine" : 83,
      "endLine" : 90,
      "cleanedStartLine" : 37,
      "cleanedEndLine" : 44
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/agent/config/MissingToolsConversionStrategyTest.kt",
        "extension" : "kt",
        "linesOfCode" : 202,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 171,
      "startLine" : 161,
      "endLine" : 168,
      "cleanedStartLine" : 110,
      "cleanedEndLine" : 117
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/agent/config/MissingToolsConversionStrategyTest.kt",
        "extension" : "kt",
        "linesOfCode" : 202,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 171,
      "startLine" : 185,
      "endLine" : 192,
      "cleanedStartLine" : 127,
      "cleanedEndLine" : 134
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 44,
      "endLine" : 55,
      "cleanedStartLine" : 22,
      "cleanedEndLine" : 29
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 335,
      "endLine" : 346,
      "cleanedStartLine" : 221,
      "cleanedEndLine" : 228
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 44,
      "endLine" : 55,
      "cleanedStartLine" : 22,
      "cleanedEndLine" : 29
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 368,
      "endLine" : 379,
      "cleanedStartLine" : 243,
      "cleanedEndLine" : 250
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 120,
      "endLine" : 131,
      "cleanedStartLine" : 74,
      "cleanedEndLine" : 81
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 775,
      "endLine" : 786,
      "cleanedStartLine" : 547,
      "cleanedEndLine" : 554
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/google/GoogleParams.kt",
        "extension" : "kt",
        "linesOfCode" : 115,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 103,
      "startLine" : 90,
      "endLine" : 97,
      "cleanedStartLine" : 57,
      "cleanedEndLine" : 64
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 381,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 343,
      "startLine" : 396,
      "endLine" : 403,
      "cleanedStartLine" : 264,
      "cleanedEndLine" : 271
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 177,
      "endLine" : 188,
      "cleanedStartLine" : 113,
      "cleanedEndLine" : 120
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 196,
      "endLine" : 207,
      "cleanedStartLine" : 126,
      "cleanedEndLine" : 133
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/google/GoogleParams.kt",
        "extension" : "kt",
        "linesOfCode" : 115,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 103,
      "startLine" : 90,
      "endLine" : 97,
      "cleanedStartLine" : 57,
      "cleanedEndLine" : 64
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 381,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 343,
      "startLine" : 19,
      "endLine" : 26,
      "cleanedStartLine" : 6,
      "cleanedEndLine" : 13
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 177,
      "endLine" : 188,
      "cleanedStartLine" : 113,
      "cleanedEndLine" : 120
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 215,
      "endLine" : 226,
      "cleanedStartLine" : 139,
      "cleanedEndLine" : 146
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/google/GoogleLLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 653,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 482,
      "startLine" : 212,
      "endLine" : 219,
      "cleanedStartLine" : 89,
      "cleanedEndLine" : 96
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAILLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 711,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 554,
      "startLine" : 532,
      "endLine" : 539,
      "cleanedStartLine" : 308,
      "cleanedEndLine" : 315
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-structure/src/commonTest/kotlin/ai/koog/prompt/structure/json/generator/JsonSchemaGeneratorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 819,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 713,
      "startLine" : 669,
      "endLine" : 676,
      "cleanedStartLine" : 547,
      "cleanedEndLine" : 554
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-structure/src/commonTest/kotlin/ai/koog/prompt/structure/json/generator/JsonSchemaGeneratorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 819,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 713,
      "startLine" : 761,
      "endLine" : 768,
      "cleanedStartLine" : 622,
      "cleanedEndLine" : 629
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 139,
      "endLine" : 150,
      "cleanedStartLine" : 87,
      "cleanedEndLine" : 94
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 867,
      "endLine" : 878,
      "cleanedStartLine" : 610,
      "cleanedEndLine" : 617
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 177,
      "endLine" : 188,
      "cleanedStartLine" : 113,
      "cleanedEndLine" : 120
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 234,
      "endLine" : 245,
      "cleanedStartLine" : 152,
      "cleanedEndLine" : 159
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/AIAgentServiceHelper.kt",
        "extension" : "kt",
        "linesOfCode" : 101,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 89,
      "startLine" : 32,
      "endLine" : 48,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/AIAgentServiceHelper.kt",
        "extension" : "kt",
        "linesOfCode" : 101,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 89,
      "startLine" : 52,
      "endLine" : 68,
      "cleanedStartLine" : 21,
      "cleanedEndLine" : 28
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 328,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 286,
      "startLine" : 165,
      "endLine" : 172,
      "cleanedStartLine" : 95,
      "cleanedEndLine" : 102
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 328,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 286,
      "startLine" : 178,
      "endLine" : 185,
      "cleanedStartLine" : 107,
      "cleanedEndLine" : 114
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 101,
      "endLine" : 112,
      "cleanedStartLine" : 61,
      "cleanedEndLine" : 68
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 120,
      "endLine" : 131,
      "cleanedStartLine" : 74,
      "cleanedEndLine" : 81
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 177,
      "endLine" : 188,
      "cleanedStartLine" : 113,
      "cleanedEndLine" : 120
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 253,
      "endLine" : 264,
      "cleanedStartLine" : 165,
      "cleanedEndLine" : 172
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 44,
      "endLine" : 55,
      "cleanedStartLine" : 22,
      "cleanedEndLine" : 29
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 407,
      "endLine" : 418,
      "cleanedStartLine" : 273,
      "cleanedEndLine" : 280
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 177,
      "endLine" : 188,
      "cleanedStartLine" : 113,
      "cleanedEndLine" : 120
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 272,
      "endLine" : 283,
      "cleanedStartLine" : 178,
      "cleanedEndLine" : 185
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetrySubgraphTest.kt",
        "extension" : "kt",
        "linesOfCode" : 334,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 313,
      "startLine" : 122,
      "endLine" : 132,
      "cleanedStartLine" : 96,
      "cleanedEndLine" : 103
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetrySubgraphTest.kt",
        "extension" : "kt",
        "linesOfCode" : 334,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 313,
      "startLine" : 237,
      "endLine" : 247,
      "cleanedStartLine" : 196,
      "cleanedEndLine" : 203
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 139,
      "endLine" : 150,
      "cleanedStartLine" : 87,
      "cleanedEndLine" : 94
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 912,
      "endLine" : 923,
      "cleanedStartLine" : 646,
      "cleanedEndLine" : 653
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 101,
      "endLine" : 112,
      "cleanedStartLine" : 61,
      "cleanedEndLine" : 68
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 139,
      "endLine" : 150,
      "cleanedStartLine" : 87,
      "cleanedEndLine" : 94
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/BedrockLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 751,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 628,
      "startLine" : 232,
      "endLine" : 239,
      "cleanedStartLine" : 127,
      "cleanedEndLine" : 134
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/BedrockLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 751,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 628,
      "startLine" : 723,
      "endLine" : 730,
      "cleanedStartLine" : 497,
      "cleanedEndLine" : 504
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicParams.kt",
        "extension" : "kt",
        "linesOfCode" : 154,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 135,
      "startLine" : 174,
      "endLine" : 181,
      "cleanedStartLine" : 120,
      "cleanedEndLine" : 127
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-deepseek-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/deepseek/DeepSeekParams.kt",
        "extension" : "kt",
        "linesOfCode" : 143,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 158,
      "endLine" : 165,
      "cleanedStartLine" : 114,
      "cleanedEndLine" : 121
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicParams.kt",
        "extension" : "kt",
        "linesOfCode" : 154,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 135,
      "startLine" : 124,
      "endLine" : 131,
      "cleanedStartLine" : 75,
      "cleanedEndLine" : 82
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openrouter-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openrouter/OpenRouterParams.kt",
        "extension" : "kt",
        "linesOfCode" : 197,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 177,
      "startLine" : 10,
      "endLine" : 17,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 12
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/dashscope/DashscopeParamsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 84,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 70,
      "startLine" : 78,
      "endLine" : 85,
      "cleanedStartLine" : 57,
      "cleanedEndLine" : 64
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/mistralai/MistralAIParamsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 74,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 61,
      "startLine" : 67,
      "endLine" : 74,
      "cleanedStartLine" : 48,
      "cleanedEndLine" : 55
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 272,
      "endLine" : 283,
      "cleanedStartLine" : 178,
      "cleanedEndLine" : 185
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 804,
      "endLine" : 815,
      "cleanedStartLine" : 567,
      "cleanedEndLine" : 574
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-planner/src/commonTest/kotlin/ai/koog/agents/planner/GOAPPlannerAgentTest.kt",
        "extension" : "kt",
        "linesOfCode" : 203,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 173,
      "startLine" : 141,
      "endLine" : 149,
      "cleanedStartLine" : 91,
      "cleanedEndLine" : 98
    }, {
      "file" : {
        "relativePath" : "agents/agents-planner/src/commonTest/kotlin/ai/koog/agents/planner/SimpleLLMPlannerAgentTest.kt",
        "extension" : "kt",
        "linesOfCode" : 86,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 64,
      "startLine" : 86,
      "endLine" : 94,
      "cleanedStartLine" : 51,
      "cleanedEndLine" : 58
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 139,
      "endLine" : 150,
      "cleanedStartLine" : 87,
      "cleanedEndLine" : 94
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 837,
      "endLine" : 848,
      "cleanedStartLine" : 589,
      "cleanedEndLine" : 596
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/google/GoogleLLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 653,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 482,
      "startLine" : 212,
      "endLine" : 219,
      "cleanedStartLine" : 89,
      "cleanedEndLine" : 96
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/google/GoogleLLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 653,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 482,
      "startLine" : 260,
      "endLine" : 267,
      "cleanedStartLine" : 119,
      "cleanedEndLine" : 126
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/CheckpointsTests.kt",
        "extension" : "kt",
        "linesOfCode" : 793,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 646,
      "startLine" : 457,
      "endLine" : 464,
      "cleanedStartLine" : 289,
      "cleanedEndLine" : 296
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/ai/koog/agents/snapshot/providers/file/FileCheckpointsTests.kt",
        "extension" : "kt",
        "linesOfCode" : 236,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 188,
      "startLine" : 136,
      "endLine" : 143,
      "cleanedStartLine" : 80,
      "cleanedEndLine" : 87
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-acp/src/jvmMain/kotlin/ai/koog/agents/features/acp/MessageConverters.kt",
        "extension" : "kt",
        "linesOfCode" : 201,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 153,
      "startLine" : 66,
      "endLine" : 77,
      "cleanedStartLine" : 24,
      "cleanedEndLine" : 31
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-acp/src/jvmMain/kotlin/ai/koog/agents/features/acp/MessageConverters.kt",
        "extension" : "kt",
        "linesOfCode" : 201,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 153,
      "startLine" : 126,
      "endLine" : 137,
      "cleanedStartLine" : 70,
      "cleanedEndLine" : 77
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 775,
      "endLine" : 786,
      "cleanedStartLine" : 547,
      "cleanedEndLine" : 554
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 837,
      "endLine" : 848,
      "cleanedStartLine" : 589,
      "cleanedEndLine" : 596
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 253,
      "endLine" : 264,
      "cleanedStartLine" : 165,
      "cleanedEndLine" : 172
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 407,
      "endLine" : 418,
      "cleanedStartLine" : 273,
      "cleanedEndLine" : 280
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/google/GoogleParams.kt",
        "extension" : "kt",
        "linesOfCode" : 115,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 103,
      "startLine" : 52,
      "endLine" : 59,
      "cleanedStartLine" : 27,
      "cleanedEndLine" : 34
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 381,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 343,
      "startLine" : 101,
      "endLine" : 108,
      "cleanedStartLine" : 51,
      "cleanedEndLine" : 58
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/extension/GenAIAgentEventExtTest.kt",
        "extension" : "kt",
        "linesOfCode" : 80,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 62,
      "startLine" : 50,
      "endLine" : 57,
      "cleanedStartLine" : 24,
      "cleanedEndLine" : 31
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/GenAIAgentSpanUtilsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 329,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 292,
      "startLine" : 74,
      "endLine" : 81,
      "cleanedStartLine" : 42,
      "cleanedEndLine" : 49
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-deepseek-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/deepseek/DeepSeekParams.kt",
        "extension" : "kt",
        "linesOfCode" : 143,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 158,
      "endLine" : 165,
      "cleanedStartLine" : 114,
      "cleanedEndLine" : 121
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/mistralai/MistralAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 145,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 133,
      "startLine" : 165,
      "endLine" : 172,
      "cleanedStartLine" : 117,
      "cleanedEndLine" : 124
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 253,
      "endLine" : 264,
      "cleanedStartLine" : 165,
      "cleanedEndLine" : 172
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 368,
      "endLine" : 379,
      "cleanedStartLine" : 243,
      "cleanedEndLine" : 250
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicParams.kt",
        "extension" : "kt",
        "linesOfCode" : 154,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 135,
      "startLine" : 12,
      "endLine" : 19,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 12
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/mistralai/MistralAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 145,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 133,
      "startLine" : 113,
      "endLine" : 120,
      "cleanedStartLine" : 70,
      "cleanedEndLine" : 77
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 775,
      "endLine" : 786,
      "cleanedStartLine" : 547,
      "cleanedEndLine" : 554
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 804,
      "endLine" : 815,
      "cleanedStartLine" : 567,
      "cleanedEndLine" : 574
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-deepseek-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/deepseek/DeepSeekLLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 131,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 91,
      "startLine" : 86,
      "endLine" : 93,
      "cleanedStartLine" : 27,
      "cleanedEndLine" : 34
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/mistralai/MistralAILLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 248,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 184,
      "startLine" : 100,
      "endLine" : 107,
      "cleanedStartLine" : 30,
      "cleanedEndLine" : 37
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 44,
      "endLine" : 55,
      "cleanedStartLine" : 22,
      "cleanedEndLine" : 29
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 158,
      "endLine" : 169,
      "cleanedStartLine" : 100,
      "cleanedEndLine" : 107
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 253,
      "endLine" : 264,
      "cleanedStartLine" : 165,
      "cleanedEndLine" : 172
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 335,
      "endLine" : 346,
      "cleanedStartLine" : 221,
      "cleanedEndLine" : 228
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 44,
      "endLine" : 55,
      "cleanedStartLine" : 22,
      "cleanedEndLine" : 29
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 177,
      "endLine" : 188,
      "cleanedStartLine" : 113,
      "cleanedEndLine" : 120
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/google/GoogleParams.kt",
        "extension" : "kt",
        "linesOfCode" : 115,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 103,
      "startLine" : 90,
      "endLine" : 97,
      "cleanedStartLine" : 57,
      "cleanedEndLine" : 64
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 381,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 343,
      "startLine" : 175,
      "endLine" : 182,
      "cleanedStartLine" : 104,
      "cleanedEndLine" : 111
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicParams.kt",
        "extension" : "kt",
        "linesOfCode" : 154,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 135,
      "startLine" : 124,
      "endLine" : 131,
      "cleanedStartLine" : 75,
      "cleanedEndLine" : 82
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 381,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 343,
      "startLine" : 19,
      "endLine" : 26,
      "cleanedStartLine" : 6,
      "cleanedEndLine" : 13
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/extension/GenAIAgentEventExtTest.kt",
        "extension" : "kt",
        "linesOfCode" : 80,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 62,
      "startLine" : 50,
      "endLine" : 57,
      "cleanedStartLine" : 24,
      "cleanedEndLine" : 31
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/GenAIAgentSpanUtilsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 329,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 292,
      "startLine" : 125,
      "endLine" : 132,
      "cleanedStartLine" : 76,
      "cleanedEndLine" : 83
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 44,
      "endLine" : 55,
      "cleanedStartLine" : 22,
      "cleanedEndLine" : 29
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 196,
      "endLine" : 207,
      "cleanedStartLine" : 126,
      "cleanedEndLine" : 133
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/google/GoogleLLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 653,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 482,
      "startLine" : 212,
      "endLine" : 219,
      "cleanedStartLine" : 89,
      "cleanedEndLine" : 96
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAILLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 711,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 554,
      "startLine" : 496,
      "endLine" : 503,
      "cleanedStartLine" : 287,
      "cleanedEndLine" : 294
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-deepseek-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/deepseek/DeepSeekParams.kt",
        "extension" : "kt",
        "linesOfCode" : 143,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 96,
      "endLine" : 103,
      "cleanedStartLine" : 57,
      "cleanedEndLine" : 64
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonMain/kotlin/ai/koog/prompt/params/LLMParams.kt",
        "extension" : "kt",
        "linesOfCode" : 169,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 141,
      "startLine" : 83,
      "endLine" : 90,
      "cleanedStartLine" : 37,
      "cleanedEndLine" : 44
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 44,
      "endLine" : 55,
      "cleanedStartLine" : 22,
      "cleanedEndLine" : 29
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 272,
      "endLine" : 283,
      "cleanedStartLine" : 178,
      "cleanedEndLine" : 185
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/span/GenAIAgentSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 227,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 201,
      "startLine" : 257,
      "endLine" : 265,
      "cleanedStartLine" : 170,
      "cleanedEndLine" : 177
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/span/GenAIAgentSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 227,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 201,
      "startLine" : 281,
      "endLine" : 289,
      "cleanedStartLine" : 188,
      "cleanedEndLine" : 195
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/google/GoogleParams.kt",
        "extension" : "kt",
        "linesOfCode" : 115,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 103,
      "startLine" : 52,
      "endLine" : 59,
      "cleanedStartLine" : 27,
      "cleanedEndLine" : 34
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 381,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 343,
      "startLine" : 323,
      "endLine" : 330,
      "cleanedStartLine" : 212,
      "cleanedEndLine" : 219
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 44,
      "endLine" : 55,
      "cleanedStartLine" : 22,
      "cleanedEndLine" : 29
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 215,
      "endLine" : 226,
      "cleanedStartLine" : 139,
      "cleanedEndLine" : 146
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicParams.kt",
        "extension" : "kt",
        "linesOfCode" : 154,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 135,
      "startLine" : 12,
      "endLine" : 19,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 12
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/dashscope/DashscopeParams.kt",
        "extension" : "kt",
        "linesOfCode" : 159,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 144,
      "startLine" : 120,
      "endLine" : 127,
      "cleanedStartLine" : 78,
      "cleanedEndLine" : 85
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 44,
      "endLine" : 55,
      "cleanedStartLine" : 22,
      "cleanedEndLine" : 29
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 234,
      "endLine" : 245,
      "cleanedStartLine" : 152,
      "cleanedEndLine" : 159
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/feature/message/FeatureMessageProcessorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 313,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 270,
      "startLine" : 369,
      "endLine" : 376,
      "cleanedStartLine" : 249,
      "cleanedEndLine" : 256
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/feature/message/FeatureMessageProcessorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 313,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 270,
      "startLine" : 382,
      "endLine" : 389,
      "cleanedStartLine" : 260,
      "cleanedEndLine" : 267
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 44,
      "endLine" : 55,
      "cleanedStartLine" : 22,
      "cleanedEndLine" : 29
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 253,
      "endLine" : 264,
      "cleanedStartLine" : 165,
      "cleanedEndLine" : 172
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/dashscope/DashscopeParams.kt",
        "extension" : "kt",
        "linesOfCode" : 159,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 144,
      "startLine" : 102,
      "endLine" : 109,
      "cleanedStartLine" : 60,
      "cleanedEndLine" : 67
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonMain/kotlin/ai/koog/prompt/params/LLMParams.kt",
        "extension" : "kt",
        "linesOfCode" : 169,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 141,
      "startLine" : 83,
      "endLine" : 90,
      "cleanedStartLine" : 37,
      "cleanedEndLine" : 44
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/span/SpanCollectorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 437,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 399,
      "startLine" : 175,
      "endLine" : 184,
      "cleanedStartLine" : 119,
      "cleanedEndLine" : 126
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/span/SpanCollectorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 437,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 399,
      "startLine" : 217,
      "endLine" : 224,
      "cleanedStartLine" : 146,
      "cleanedEndLine" : 153
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client-base/src/commonTest/kotlin/ai/koog/prompt/executor/clients/openai/base/OpenAICompatibleToolDescriptorConverterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 214,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 181,
      "startLine" : 154,
      "endLine" : 165,
      "cleanedStartLine" : 119,
      "cleanedEndLine" : 126
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client-base/src/commonTest/kotlin/ai/koog/prompt/executor/clients/openai/base/OpenAICompatibleToolDescriptorConverterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 214,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 181,
      "startLine" : 205,
      "endLine" : 215,
      "cleanedStartLine" : 159,
      "cleanedEndLine" : 166
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 775,
      "endLine" : 786,
      "cleanedStartLine" : 547,
      "cleanedEndLine" : 554
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 867,
      "endLine" : 878,
      "cleanedStartLine" : 610,
      "cleanedEndLine" : 617
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 139,
      "endLine" : 150,
      "cleanedStartLine" : 87,
      "cleanedEndLine" : 94
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 804,
      "endLine" : 815,
      "cleanedStartLine" : 567,
      "cleanedEndLine" : 574
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 139,
      "endLine" : 150,
      "cleanedStartLine" : 87,
      "cleanedEndLine" : 94
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 775,
      "endLine" : 786,
      "cleanedStartLine" : 547,
      "cleanedEndLine" : 554
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 775,
      "endLine" : 786,
      "cleanedStartLine" : 547,
      "cleanedEndLine" : 554
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 912,
      "endLine" : 923,
      "cleanedStartLine" : 646,
      "cleanedEndLine" : 653
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerTest.kt",
        "extension" : "kt",
        "linesOfCode" : 521,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 437,
      "startLine" : 104,
      "endLine" : 111,
      "cleanedStartLine" : 21,
      "cleanedEndLine" : 28
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageLogWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 480,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 396,
      "startLine" : 433,
      "endLine" : 440,
      "cleanedStartLine" : 296,
      "cleanedEndLine" : 303
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicParams.kt",
        "extension" : "kt",
        "linesOfCode" : 154,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 135,
      "startLine" : 174,
      "endLine" : 181,
      "cleanedStartLine" : 120,
      "cleanedEndLine" : 127
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonMain/kotlin/ai/koog/prompt/params/LLMParams.kt",
        "extension" : "kt",
        "linesOfCode" : 169,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 141,
      "startLine" : 183,
      "endLine" : 190,
      "cleanedStartLine" : 88,
      "cleanedEndLine" : 95
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-memory/src/jvmTest/kotlin/ai/koog/agents/memory/AIAgentMemoryTest.kt",
        "extension" : "kt",
        "linesOfCode" : 470,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 399,
      "startLine" : 470,
      "endLine" : 477,
      "cleanedStartLine" : 315,
      "cleanedEndLine" : 322
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-memory/src/jvmTest/kotlin/ai/koog/agents/memory/feature/RetrieveFactsFromHistoryTest.kt",
        "extension" : "kt",
        "linesOfCode" : 194,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 152,
      "startLine" : 185,
      "endLine" : 192,
      "cleanedStartLine" : 98,
      "cleanedEndLine" : 105
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 253,
      "endLine" : 264,
      "cleanedStartLine" : 165,
      "cleanedEndLine" : 172
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 272,
      "endLine" : 283,
      "cleanedStartLine" : 178,
      "cleanedEndLine" : 185
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/google/GoogleParams.kt",
        "extension" : "kt",
        "linesOfCode" : 115,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 103,
      "startLine" : 41,
      "endLine" : 48,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 23
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 381,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 343,
      "startLine" : 79,
      "endLine" : 86,
      "cleanedStartLine" : 29,
      "cleanedEndLine" : 36
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/feature/message/FeatureMessageProcessorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 313,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 270,
      "startLine" : 323,
      "endLine" : 330,
      "cleanedStartLine" : 212,
      "cleanedEndLine" : 219
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/feature/message/FeatureMessageProcessorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 313,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 270,
      "startLine" : 336,
      "endLine" : 343,
      "cleanedStartLine" : 223,
      "cleanedEndLine" : 230
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-memory/src/jvmTest/kotlin/ai/koog/agents/memory/AIAgentMemoryTest.kt",
        "extension" : "kt",
        "linesOfCode" : 470,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 399,
      "startLine" : 470,
      "endLine" : 477,
      "cleanedStartLine" : 315,
      "cleanedEndLine" : 322
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-memory/src/jvmTest/kotlin/ai/koog/agents/memory/feature/RetrieveFactsFromHistoryTest.kt",
        "extension" : "kt",
        "linesOfCode" : 194,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 152,
      "startLine" : 144,
      "endLine" : 151,
      "cleanedStartLine" : 73,
      "cleanedEndLine" : 80
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/BedrockLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 751,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 628,
      "startLine" : 232,
      "endLine" : 239,
      "cleanedStartLine" : 127,
      "cleanedEndLine" : 134
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/BedrockLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 751,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 628,
      "startLine" : 538,
      "endLine" : 545,
      "cleanedStartLine" : 345,
      "cleanedEndLine" : 352
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-memory/src/jvmTest/kotlin/ai/koog/agents/memory/AIAgentMemoryTest.kt",
        "extension" : "kt",
        "linesOfCode" : 470,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 399,
      "startLine" : 470,
      "endLine" : 477,
      "cleanedStartLine" : 315,
      "cleanedEndLine" : 322
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-memory/src/jvmTest/kotlin/ai/koog/agents/memory/feature/RetrieveFactsFromHistoryTest.kt",
        "extension" : "kt",
        "linesOfCode" : 194,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 152,
      "startLine" : 103,
      "endLine" : 110,
      "cleanedStartLine" : 48,
      "cleanedEndLine" : 55
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 381,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 343,
      "startLine" : 242,
      "endLine" : 249,
      "cleanedStartLine" : 166,
      "cleanedEndLine" : 173
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonMain/kotlin/ai/koog/prompt/params/LLMParams.kt",
        "extension" : "kt",
        "linesOfCode" : 169,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 141,
      "startLine" : 183,
      "endLine" : 190,
      "cleanedStartLine" : 88,
      "cleanedEndLine" : 95
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-memory/src/jvmTest/kotlin/ai/koog/agents/memory/AIAgentMemoryTest.kt",
        "extension" : "kt",
        "linesOfCode" : 470,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 399,
      "startLine" : 470,
      "endLine" : 477,
      "cleanedStartLine" : 315,
      "cleanedEndLine" : 322
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-memory/src/jvmTest/kotlin/ai/koog/agents/memory/feature/RetrieveFactsFromHistoryTest.kt",
        "extension" : "kt",
        "linesOfCode" : 194,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 152,
      "startLine" : 59,
      "endLine" : 66,
      "cleanedStartLine" : 20,
      "cleanedEndLine" : 27
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerTest.kt",
        "extension" : "kt",
        "linesOfCode" : 521,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 437,
      "startLine" : 525,
      "endLine" : 532,
      "cleanedStartLine" : 409,
      "cleanedEndLine" : 416
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageRemoteWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 816,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 671,
      "startLine" : 589,
      "endLine" : 596,
      "cleanedStartLine" : 429,
      "cleanedEndLine" : 436
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipeline.kt",
        "extension" : "kt",
        "linesOfCode" : 448,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 394,
      "startLine" : 332,
      "endLine" : 339,
      "cleanedStartLine" : 100,
      "cleanedEndLine" : 107
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipeline.kt",
        "extension" : "kt",
        "linesOfCode" : 448,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 394,
      "startLine" : 358,
      "endLine" : 365,
      "cleanedStartLine" : 112,
      "cleanedEndLine" : 119
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/span/GenAIAgentSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 227,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 201,
      "startLine" : 206,
      "endLine" : 214,
      "cleanedStartLine" : 137,
      "cleanedEndLine" : 144
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/span/GenAIAgentSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 227,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 201,
      "startLine" : 230,
      "endLine" : 238,
      "cleanedStartLine" : 153,
      "cleanedEndLine" : 160
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/span/GenAIAgentSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 227,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 201,
      "startLine" : 206,
      "endLine" : 214,
      "cleanedStartLine" : 137,
      "cleanedEndLine" : 144
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/span/GenAIAgentSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 227,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 201,
      "startLine" : 257,
      "endLine" : 265,
      "cleanedStartLine" : 170,
      "cleanedEndLine" : 177
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/mistralai/MistralAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 145,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 133,
      "startLine" : 96,
      "endLine" : 103,
      "cleanedStartLine" : 53,
      "cleanedEndLine" : 60
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonMain/kotlin/ai/koog/prompt/params/LLMParams.kt",
        "extension" : "kt",
        "linesOfCode" : 169,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 141,
      "startLine" : 83,
      "endLine" : 90,
      "cleanedStartLine" : 37,
      "cleanedEndLine" : 44
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openrouter-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openrouter/OpenRouterParams.kt",
        "extension" : "kt",
        "linesOfCode" : 197,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 177,
      "startLine" : 215,
      "endLine" : 222,
      "cleanedStartLine" : 155,
      "cleanedEndLine" : 162
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonMain/kotlin/ai/koog/prompt/params/LLMParams.kt",
        "extension" : "kt",
        "linesOfCode" : 169,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 141,
      "startLine" : 183,
      "endLine" : 190,
      "cleanedStartLine" : 88,
      "cleanedEndLine" : 95
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/BedrockLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 751,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 628,
      "startLine" : 576,
      "endLine" : 583,
      "cleanedStartLine" : 375,
      "cleanedEndLine" : 382
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/BedrockLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 751,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 628,
      "startLine" : 723,
      "endLine" : 730,
      "cleanedStartLine" : 497,
      "cleanedEndLine" : 504
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/mistralai/models/MistralAISerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 146,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 114,
      "startLine" : 85,
      "endLine" : 94,
      "cleanedStartLine" : 47,
      "cleanedEndLine" : 54
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/openai/models/OpenAIChatCompletionRequestSerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 149,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 109,
      "startLine" : 104,
      "endLine" : 113,
      "cleanedStartLine" : 67,
      "cleanedEndLine" : 74
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerStreamingTest.kt",
        "extension" : "kt",
        "linesOfCode" : 347,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 262,
      "startLine" : 82,
      "endLine" : 89,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 23
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageTestWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 623,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 501,
      "startLine" : 390,
      "endLine" : 397,
      "cleanedStartLine" : 238,
      "cleanedEndLine" : 245
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 120,
      "endLine" : 131,
      "cleanedStartLine" : 74,
      "cleanedEndLine" : 81
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 335,
      "endLine" : 346,
      "cleanedStartLine" : 221,
      "cleanedEndLine" : 228
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/BedrockLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 751,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 628,
      "startLine" : 576,
      "endLine" : 583,
      "cleanedStartLine" : 375,
      "cleanedEndLine" : 382
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/BedrockLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 751,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 628,
      "startLine" : 845,
      "endLine" : 852,
      "cleanedStartLine" : 593,
      "cleanedEndLine" : 600
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/feature/remote/client/FeatureMessageRemoteClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 388,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 293,
      "startLine" : 344,
      "endLine" : 355,
      "cleanedStartLine" : 193,
      "cleanedEndLine" : 200
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/feature/remote/client/FeatureMessageRemoteClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 388,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 293,
      "startLine" : 398,
      "endLine" : 409,
      "cleanedStartLine" : 225,
      "cleanedEndLine" : 232
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 39,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 3,
      "endLine" : 13,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 8
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-model/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 25,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 17,
      "startLine" : 3,
      "endLine" : 13,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 8
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/mistralai/MistralAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 145,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 133,
      "startLine" : 9,
      "endLine" : 16,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 12
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 381,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 343,
      "startLine" : 396,
      "endLine" : 403,
      "cleanedStartLine" : 264,
      "cleanedEndLine" : 271
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/feature/AIAgentPipelineTest.kt",
        "extension" : "kt",
        "linesOfCode" : 736,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 595,
      "startLine" : 160,
      "endLine" : 170,
      "cleanedStartLine" : 77,
      "cleanedEndLine" : 84
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/feature/AIAgentPipelineTest.kt",
        "extension" : "kt",
        "linesOfCode" : 736,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 595,
      "startLine" : 705,
      "endLine" : 718,
      "cleanedStartLine" : 460,
      "cleanedEndLine" : 467
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/span/GenAIAgentSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 227,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 201,
      "startLine" : 206,
      "endLine" : 214,
      "cleanedStartLine" : 137,
      "cleanedEndLine" : 144
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/span/GenAIAgentSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 227,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 201,
      "startLine" : 281,
      "endLine" : 289,
      "cleanedStartLine" : 188,
      "cleanedEndLine" : 195
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 120,
      "endLine" : 131,
      "cleanedStartLine" : 74,
      "cleanedEndLine" : 81
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 368,
      "endLine" : 379,
      "cleanedStartLine" : 243,
      "cleanedEndLine" : 250
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/feature/AIAgentPipelineTest.kt",
        "extension" : "kt",
        "linesOfCode" : 736,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 595,
      "startLine" : 160,
      "endLine" : 170,
      "cleanedStartLine" : 77,
      "cleanedEndLine" : 84
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/feature/AIAgentPipelineTest.kt",
        "extension" : "kt",
        "linesOfCode" : 736,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 595,
      "startLine" : 653,
      "endLine" : 663,
      "cleanedStartLine" : 423,
      "cleanedEndLine" : 430
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-core/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 40,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 34,
      "endLine" : 50,
      "cleanedStartLine" : 20,
      "cleanedEndLine" : 27
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-processor/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 38,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 31,
      "endLine" : 47,
      "cleanedStartLine" : 19,
      "cleanedEndLine" : 26
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 120,
      "endLine" : 131,
      "cleanedStartLine" : 74,
      "cleanedEndLine" : 81
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 407,
      "endLine" : 418,
      "cleanedStartLine" : 273,
      "cleanedEndLine" : 280
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/span/GenAIAgentSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 227,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 201,
      "startLine" : 62,
      "endLine" : 70,
      "cleanedStartLine" : 34,
      "cleanedEndLine" : 41
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/span/GenAIAgentSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 227,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 201,
      "startLine" : 151,
      "endLine" : 159,
      "cleanedStartLine" : 98,
      "cleanedEndLine" : 105
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/dashscope/DashscopeParams.kt",
        "extension" : "kt",
        "linesOfCode" : 159,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 144,
      "startLine" : 120,
      "endLine" : 127,
      "cleanedStartLine" : 78,
      "cleanedEndLine" : 85
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openrouter-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openrouter/OpenRouterParams.kt",
        "extension" : "kt",
        "linesOfCode" : 197,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 177,
      "startLine" : 10,
      "endLine" : 17,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 12
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/span/GenAIAgentSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 227,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 201,
      "startLine" : 62,
      "endLine" : 70,
      "cleanedStartLine" : 34,
      "cleanedEndLine" : 41
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/span/GenAIAgentSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 227,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 201,
      "startLine" : 132,
      "endLine" : 140,
      "cleanedStartLine" : 87,
      "cleanedEndLine" : 94
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/span/GenAIAgentSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 227,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 201,
      "startLine" : 62,
      "endLine" : 70,
      "cleanedStartLine" : 34,
      "cleanedEndLine" : 41
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/span/GenAIAgentSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 227,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 201,
      "startLine" : 117,
      "endLine" : 125,
      "cleanedStartLine" : 76,
      "cleanedEndLine" : 83
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/span/SpanCollectorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 437,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 399,
      "startLine" : 136,
      "endLine" : 145,
      "cleanedStartLine" : 92,
      "cleanedEndLine" : 99
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/span/SpanCollectorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 437,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 399,
      "startLine" : 175,
      "endLine" : 184,
      "cleanedStartLine" : 119,
      "cleanedEndLine" : 126
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/BedrockLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 751,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 628,
      "startLine" : 232,
      "endLine" : 239,
      "cleanedStartLine" : 127,
      "cleanedEndLine" : 134
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/BedrockLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 751,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 628,
      "startLine" : 638,
      "endLine" : 645,
      "cleanedStartLine" : 425,
      "cleanedEndLine" : 432
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/span/GenAIAgentSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 227,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 201,
      "startLine" : 62,
      "endLine" : 70,
      "cleanedStartLine" : 34,
      "cleanedEndLine" : 41
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/span/GenAIAgentSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 227,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 201,
      "startLine" : 102,
      "endLine" : 110,
      "cleanedStartLine" : 65,
      "cleanedEndLine" : 72
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/agent/SingleRunStrategyTests.kt",
        "extension" : "kt",
        "linesOfCode" : 234,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 186,
      "startLine" : 92,
      "endLine" : 105,
      "cleanedStartLine" : 55,
      "cleanedEndLine" : 62
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/agent/SingleRunStrategyTests.kt",
        "extension" : "kt",
        "linesOfCode" : 234,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 186,
      "startLine" : 122,
      "endLine" : 135,
      "cleanedStartLine" : 74,
      "cleanedEndLine" : 81
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-deepseek-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/deepseek/DeepSeekParams.kt",
        "extension" : "kt",
        "linesOfCode" : 143,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 111,
      "endLine" : 118,
      "cleanedStartLine" : 72,
      "cleanedEndLine" : 79
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 381,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 343,
      "startLine" : 33,
      "endLine" : 40,
      "cleanedStartLine" : 18,
      "cleanedEndLine" : 25
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/BedrockLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 751,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 628,
      "startLine" : 232,
      "endLine" : 239,
      "cleanedStartLine" : 127,
      "cleanedEndLine" : 134
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/BedrockLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 751,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 628,
      "startLine" : 619,
      "endLine" : 626,
      "cleanedStartLine" : 410,
      "cleanedEndLine" : 417
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 328,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 286,
      "startLine" : 130,
      "endLine" : 137,
      "cleanedStartLine" : 65,
      "cleanedEndLine" : 72
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 328,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 286,
      "startLine" : 235,
      "endLine" : 242,
      "cleanedStartLine" : 157,
      "cleanedEndLine" : 164
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/dashscope/DashscopeParams.kt",
        "extension" : "kt",
        "linesOfCode" : 159,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 144,
      "startLine" : 9,
      "endLine" : 16,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 12
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-deepseek-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/deepseek/DeepSeekParams.kt",
        "extension" : "kt",
        "linesOfCode" : 143,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 111,
      "endLine" : 118,
      "cleanedStartLine" : 72,
      "cleanedEndLine" : 79
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipeline.kt",
        "extension" : "kt",
        "linesOfCode" : 448,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 394,
      "startLine" : 259,
      "endLine" : 266,
      "cleanedStartLine" : 70,
      "cleanedEndLine" : 77
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipeline.kt",
        "extension" : "kt",
        "linesOfCode" : 448,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 394,
      "startLine" : 412,
      "endLine" : 419,
      "cleanedStartLine" : 135,
      "cleanedEndLine" : 142
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/BedrockLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 751,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 628,
      "startLine" : 232,
      "endLine" : 239,
      "cleanedStartLine" : 127,
      "cleanedEndLine" : 134
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/BedrockLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 751,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 628,
      "startLine" : 662,
      "endLine" : 669,
      "cleanedStartLine" : 445,
      "cleanedEndLine" : 452
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipeline.kt",
        "extension" : "kt",
        "linesOfCode" : 448,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 394,
      "startLine" : 259,
      "endLine" : 266,
      "cleanedStartLine" : 70,
      "cleanedEndLine" : 77
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipeline.kt",
        "extension" : "kt",
        "linesOfCode" : 448,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 394,
      "startLine" : 481,
      "endLine" : 488,
      "cleanedStartLine" : 162,
      "cleanedEndLine" : 169
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-ollama-client/src/commonTest/kotlin/ai/koog/prompt/executor/ollama/client/OllamaToolCallTest.kt",
        "extension" : "kt",
        "linesOfCode" : 210,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 189,
      "startLine" : 158,
      "endLine" : 167,
      "cleanedStartLine" : 117,
      "cleanedEndLine" : 124
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-ollama-client/src/commonTest/kotlin/ai/koog/prompt/executor/ollama/client/OllamaToolCallTest.kt",
        "extension" : "kt",
        "linesOfCode" : 210,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 189,
      "startLine" : 208,
      "endLine" : 217,
      "cleanedStartLine" : 158,
      "cleanedEndLine" : 165
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/BedrockLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 751,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 628,
      "startLine" : 576,
      "endLine" : 583,
      "cleanedStartLine" : 375,
      "cleanedEndLine" : 382
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/BedrockLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 751,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 628,
      "startLine" : 600,
      "endLine" : 607,
      "cleanedStartLine" : 395,
      "cleanedEndLine" : 402
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/google/GoogleParams.kt",
        "extension" : "kt",
        "linesOfCode" : 115,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 103,
      "startLine" : 78,
      "endLine" : 85,
      "cleanedStartLine" : 45,
      "cleanedEndLine" : 52
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonMain/kotlin/ai/koog/prompt/params/LLMParams.kt",
        "extension" : "kt",
        "linesOfCode" : 169,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 141,
      "startLine" : 83,
      "endLine" : 90,
      "cleanedStartLine" : 37,
      "cleanedEndLine" : 44
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-deepseek-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/deepseek/DeepSeekParams.kt",
        "extension" : "kt",
        "linesOfCode" : 143,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 41,
      "endLine" : 48,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 23
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/google/GoogleParams.kt",
        "extension" : "kt",
        "linesOfCode" : 115,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 103,
      "startLine" : 41,
      "endLine" : 48,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 23
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 120,
      "endLine" : 131,
      "cleanedStartLine" : 74,
      "cleanedEndLine" : 81
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 158,
      "endLine" : 169,
      "cleanedStartLine" : 100,
      "cleanedEndLine" : 107
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-deepseek-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/deepseek/DeepSeekParams.kt",
        "extension" : "kt",
        "linesOfCode" : 143,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 111,
      "endLine" : 118,
      "cleanedStartLine" : 72,
      "cleanedEndLine" : 79
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/google/GoogleParams.kt",
        "extension" : "kt",
        "linesOfCode" : 115,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 103,
      "startLine" : 90,
      "endLine" : 97,
      "cleanedStartLine" : 57,
      "cleanedEndLine" : 64
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/TraceStructureTestBase.kt",
        "extension" : "kt",
        "linesOfCode" : 802,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 688,
      "startLine" : 156,
      "endLine" : 163,
      "cleanedStartLine" : 75,
      "cleanedEndLine" : 82
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/weave/WeaveTraceStructureTest.kt",
        "extension" : "kt",
        "linesOfCode" : 270,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 257,
      "startLine" : 76,
      "endLine" : 83,
      "cleanedStartLine" : 57,
      "cleanedEndLine" : 64
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/BedrockLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 751,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 628,
      "startLine" : 576,
      "endLine" : 583,
      "cleanedStartLine" : 375,
      "cleanedEndLine" : 382
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/BedrockLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 751,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 628,
      "startLine" : 662,
      "endLine" : 669,
      "cleanedStartLine" : 445,
      "cleanedEndLine" : 452
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 120,
      "endLine" : 131,
      "cleanedStartLine" : 74,
      "cleanedEndLine" : 81
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 215,
      "endLine" : 226,
      "cleanedStartLine" : 139,
      "cleanedEndLine" : 146
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerTest.kt",
        "extension" : "kt",
        "linesOfCode" : 521,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 437,
      "startLine" : 104,
      "endLine" : 111,
      "cleanedStartLine" : 21,
      "cleanedEndLine" : 28
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageLogWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 480,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 396,
      "startLine" : 93,
      "endLine" : 100,
      "cleanedStartLine" : 26,
      "cleanedEndLine" : 33
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/dashscope/DashscopeParams.kt",
        "extension" : "kt",
        "linesOfCode" : 159,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 144,
      "startLine" : 44,
      "endLine" : 51,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 23
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 381,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 343,
      "startLine" : 302,
      "endLine" : 309,
      "cleanedStartLine" : 191,
      "cleanedEndLine" : 198
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/mistralai/MistralAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 145,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 133,
      "startLine" : 9,
      "endLine" : 16,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 12
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 381,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 343,
      "startLine" : 175,
      "endLine" : 182,
      "cleanedStartLine" : 104,
      "cleanedEndLine" : 111
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/BedrockLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 751,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 628,
      "startLine" : 576,
      "endLine" : 583,
      "cleanedStartLine" : 375,
      "cleanedEndLine" : 382
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/BedrockLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 751,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 628,
      "startLine" : 619,
      "endLine" : 626,
      "cleanedStartLine" : 410,
      "cleanedEndLine" : 417
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 120,
      "endLine" : 131,
      "cleanedStartLine" : 74,
      "cleanedEndLine" : 81
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 196,
      "endLine" : 207,
      "cleanedStartLine" : 126,
      "cleanedEndLine" : 133
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 120,
      "endLine" : 131,
      "cleanedStartLine" : 74,
      "cleanedEndLine" : 81
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 177,
      "endLine" : 188,
      "cleanedStartLine" : 113,
      "cleanedEndLine" : 120
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 272,
      "endLine" : 283,
      "cleanedStartLine" : 178,
      "cleanedEndLine" : 185
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 407,
      "endLine" : 418,
      "cleanedStartLine" : 273,
      "cleanedEndLine" : 280
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/BedrockLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 751,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 628,
      "startLine" : 232,
      "endLine" : 239,
      "cleanedStartLine" : 127,
      "cleanedEndLine" : 134
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/BedrockLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 751,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 628,
      "startLine" : 600,
      "endLine" : 607,
      "cleanedStartLine" : 395,
      "cleanedEndLine" : 402
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 120,
      "endLine" : 131,
      "cleanedStartLine" : 74,
      "cleanedEndLine" : 81
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 272,
      "endLine" : 283,
      "cleanedStartLine" : 178,
      "cleanedEndLine" : 185
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-deepseek-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/deepseek/DeepSeekParams.kt",
        "extension" : "kt",
        "linesOfCode" : 143,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 111,
      "endLine" : 118,
      "cleanedStartLine" : 72,
      "cleanedEndLine" : 79
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonMain/kotlin/ai/koog/prompt/params/LLMParams.kt",
        "extension" : "kt",
        "linesOfCode" : 169,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 141,
      "startLine" : 92,
      "endLine" : 99,
      "cleanedStartLine" : 46,
      "cleanedEndLine" : 53
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 328,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 286,
      "startLine" : 130,
      "endLine" : 137,
      "cleanedStartLine" : 65,
      "cleanedEndLine" : 72
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 328,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 286,
      "startLine" : 205,
      "endLine" : 212,
      "cleanedStartLine" : 130,
      "cleanedEndLine" : 137
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 120,
      "endLine" : 131,
      "cleanedStartLine" : 74,
      "cleanedEndLine" : 81
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 253,
      "endLine" : 264,
      "cleanedStartLine" : 165,
      "cleanedEndLine" : 172
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/BedrockLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 751,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 628,
      "startLine" : 232,
      "endLine" : 239,
      "cleanedStartLine" : 127,
      "cleanedEndLine" : 134
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/BedrockLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 751,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 628,
      "startLine" : 576,
      "endLine" : 583,
      "cleanedStartLine" : 375,
      "cleanedEndLine" : 382
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 272,
      "endLine" : 283,
      "cleanedStartLine" : 178,
      "cleanedEndLine" : 185
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 368,
      "endLine" : 379,
      "cleanedStartLine" : 243,
      "cleanedEndLine" : 250
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 120,
      "endLine" : 131,
      "cleanedStartLine" : 74,
      "cleanedEndLine" : 81
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 234,
      "endLine" : 245,
      "cleanedStartLine" : 152,
      "cleanedEndLine" : 159
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/BedrockLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 751,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 628,
      "startLine" : 232,
      "endLine" : 239,
      "cleanedStartLine" : 127,
      "cleanedEndLine" : 134
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/BedrockLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 751,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 628,
      "startLine" : 557,
      "endLine" : 564,
      "cleanedStartLine" : 360,
      "cleanedEndLine" : 367
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 272,
      "endLine" : 283,
      "cleanedStartLine" : 178,
      "cleanedEndLine" : 185
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 335,
      "endLine" : 346,
      "cleanedStartLine" : 221,
      "cleanedEndLine" : 228
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/BedrockLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 751,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 628,
      "startLine" : 798,
      "endLine" : 806,
      "cleanedStartLine" : 558,
      "cleanedEndLine" : 565
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/BedrockLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 751,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 628,
      "startLine" : 821,
      "endLine" : 829,
      "cleanedStartLine" : 576,
      "cleanedEndLine" : 583
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 63,
      "endLine" : 74,
      "cleanedStartLine" : 35,
      "cleanedEndLine" : 42
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 120,
      "endLine" : 131,
      "cleanedStartLine" : 74,
      "cleanedEndLine" : 81
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 63,
      "endLine" : 74,
      "cleanedStartLine" : 35,
      "cleanedEndLine" : 42
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 139,
      "endLine" : 150,
      "cleanedStartLine" : 87,
      "cleanedEndLine" : 94
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 139,
      "endLine" : 150,
      "cleanedStartLine" : 87,
      "cleanedEndLine" : 94
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 368,
      "endLine" : 379,
      "cleanedStartLine" : 243,
      "cleanedEndLine" : 250
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/extension/GenAIAgentEventExtTest.kt",
        "extension" : "kt",
        "linesOfCode" : 80,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 62,
      "startLine" : 50,
      "endLine" : 57,
      "cleanedStartLine" : 24,
      "cleanedEndLine" : 31
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/GenAIAgentSpanUtilsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 329,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 292,
      "startLine" : 175,
      "endLine" : 182,
      "cleanedStartLine" : 113,
      "cleanedEndLine" : 120
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 63,
      "endLine" : 74,
      "cleanedStartLine" : 35,
      "cleanedEndLine" : 42
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 101,
      "endLine" : 112,
      "cleanedStartLine" : 61,
      "cleanedEndLine" : 68
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 139,
      "endLine" : 150,
      "cleanedStartLine" : 87,
      "cleanedEndLine" : 94
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 335,
      "endLine" : 346,
      "cleanedStartLine" : 221,
      "cleanedEndLine" : 228
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/feature/AIAgentPipelineTest.kt",
        "extension" : "kt",
        "linesOfCode" : 736,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 595,
      "startLine" : 146,
      "endLine" : 157,
      "cleanedStartLine" : 67,
      "cleanedEndLine" : 74
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/feature/AIAgentPipelineTest.kt",
        "extension" : "kt",
        "linesOfCode" : 736,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 595,
      "startLine" : 201,
      "endLine" : 211,
      "cleanedStartLine" : 105,
      "cleanedEndLine" : 112
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerSubgraphTest.kt",
        "extension" : "kt",
        "linesOfCode" : 262,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 194,
      "startLine" : 84,
      "endLine" : 91,
      "cleanedStartLine" : 26,
      "cleanedEndLine" : 33
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerTest.kt",
        "extension" : "kt",
        "linesOfCode" : 521,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 437,
      "startLine" : 166,
      "endLine" : 173,
      "cleanedStartLine" : 71,
      "cleanedEndLine" : 78
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 139,
      "endLine" : 150,
      "cleanedStartLine" : 87,
      "cleanedEndLine" : 94
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 407,
      "endLine" : 418,
      "cleanedStartLine" : 273,
      "cleanedEndLine" : 280
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/google/GoogleParams.kt",
        "extension" : "kt",
        "linesOfCode" : 115,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 103,
      "startLine" : 10,
      "endLine" : 17,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 12
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/google/GoogleParams.kt",
        "extension" : "kt",
        "linesOfCode" : 115,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 103,
      "startLine" : 90,
      "endLine" : 97,
      "cleanedStartLine" : 57,
      "cleanedEndLine" : 64
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/mistralai/MistralAILLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 295,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 232,
      "startLine" : 88,
      "endLine" : 95,
      "cleanedStartLine" : 42,
      "cleanedEndLine" : 49
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/mistralai/MistralAILLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 295,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 232,
      "startLine" : 103,
      "endLine" : 110,
      "cleanedStartLine" : 54,
      "cleanedEndLine" : 61
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/extension/GenAIAgentEventExtTest.kt",
        "extension" : "kt",
        "linesOfCode" : 80,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 62,
      "startLine" : 50,
      "endLine" : 57,
      "cleanedStartLine" : 24,
      "cleanedEndLine" : 31
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/GenAIAgentSpanUtilsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 329,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 292,
      "startLine" : 276,
      "endLine" : 283,
      "cleanedStartLine" : 184,
      "cleanedEndLine" : 191
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/dashscope/DashscopeParams.kt",
        "extension" : "kt",
        "linesOfCode" : 159,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 144,
      "startLine" : 120,
      "endLine" : 127,
      "cleanedStartLine" : 78,
      "cleanedEndLine" : 85
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 381,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 343,
      "startLine" : 396,
      "endLine" : 403,
      "cleanedStartLine" : 264,
      "cleanedEndLine" : 271
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageLogWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 480,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 396,
      "startLine" : 93,
      "endLine" : 100,
      "cleanedStartLine" : 26,
      "cleanedEndLine" : 33
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageTestWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 623,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 501,
      "startLine" : 390,
      "endLine" : 397,
      "cleanedStartLine" : 238,
      "cleanedEndLine" : 245
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 63,
      "endLine" : 74,
      "cleanedStartLine" : 35,
      "cleanedEndLine" : 42
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 82,
      "endLine" : 93,
      "cleanedStartLine" : 48,
      "cleanedEndLine" : 55
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/extension/GenAIAgentEventExtTest.kt",
        "extension" : "kt",
        "linesOfCode" : 80,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 62,
      "startLine" : 50,
      "endLine" : 57,
      "cleanedStartLine" : 24,
      "cleanedEndLine" : 31
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/GenAIAgentSpanUtilsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 329,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 292,
      "startLine" : 226,
      "endLine" : 233,
      "cleanedStartLine" : 151,
      "cleanedEndLine" : 158
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-mcp-server/src/jvmTest/kotlin/ai/koog/agents/mcp/server/KoogToolAsMcpToolTest.kt",
        "extension" : "kt",
        "linesOfCode" : 156,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 101,
      "startLine" : 55,
      "endLine" : 68,
      "cleanedStartLine" : 18,
      "cleanedEndLine" : 25
    }, {
      "file" : {
        "relativePath" : "agents/agents-mcp-server/src/jvmTest/kotlin/ai/koog/agents/mcp/server/KoogToolAsMcpToolTest.kt",
        "extension" : "kt",
        "linesOfCode" : 156,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 101,
      "startLine" : 86,
      "endLine" : 100,
      "cleanedStartLine" : 35,
      "cleanedEndLine" : 42
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/agent/context/AIAgentLLMContextTest.kt",
        "extension" : "kt",
        "linesOfCode" : 177,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 136,
      "startLine" : 205,
      "endLine" : 212,
      "cleanedStartLine" : 129,
      "cleanedEndLine" : 136
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/agent/context/AgentTestBase.kt",
        "extension" : "kt",
        "linesOfCode" : 108,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 76,
      "startLine" : 77,
      "endLine" : 84,
      "cleanedStartLine" : 38,
      "cleanedEndLine" : 45
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/mistralai/MistralAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 145,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 133,
      "startLine" : 47,
      "endLine" : 54,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 22
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openrouter-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openrouter/OpenRouterParams.kt",
        "extension" : "kt",
        "linesOfCode" : 197,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 177,
      "startLine" : 52,
      "endLine" : 59,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 22
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 158,
      "endLine" : 169,
      "cleanedStartLine" : 100,
      "cleanedEndLine" : 107
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 407,
      "endLine" : 418,
      "cleanedStartLine" : 273,
      "cleanedEndLine" : 280
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 158,
      "endLine" : 169,
      "cleanedStartLine" : 100,
      "cleanedEndLine" : 107
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 368,
      "endLine" : 379,
      "cleanedStartLine" : 243,
      "cleanedEndLine" : 250
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 158,
      "endLine" : 169,
      "cleanedStartLine" : 100,
      "cleanedEndLine" : 107
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 335,
      "endLine" : 346,
      "cleanedStartLine" : 221,
      "cleanedEndLine" : 228
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/commonTest/kotlin/ai/koog/prompt/executor/clients/google/structure/GoogleStandardJsonSchemaGeneratorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 323,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 297,
      "startLine" : 296,
      "endLine" : 303,
      "cleanedStartLine" : 260,
      "cleanedEndLine" : 267
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client-base/src/commonTest/kotlin/ai/koog/prompt/executor/clients/openai/structure/OpenAIBasicJsonSchemaGeneratorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 152,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 134,
      "startLine" : 116,
      "endLine" : 123,
      "cleanedStartLine" : 92,
      "cleanedEndLine" : 99
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAILLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 711,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 554,
      "startLine" : 305,
      "endLine" : 314,
      "cleanedStartLine" : 168,
      "cleanedEndLine" : 175
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAILLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 711,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 554,
      "startLine" : 640,
      "endLine" : 650,
      "cleanedStartLine" : 397,
      "cleanedEndLine" : 404
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/google/GoogleParams.kt",
        "extension" : "kt",
        "linesOfCode" : 115,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 103,
      "startLine" : 10,
      "endLine" : 17,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 12
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 381,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 343,
      "startLine" : 396,
      "endLine" : 403,
      "cleanedStartLine" : 264,
      "cleanedEndLine" : 271
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 139,
      "endLine" : 150,
      "cleanedStartLine" : 87,
      "cleanedEndLine" : 94
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 215,
      "endLine" : 226,
      "cleanedStartLine" : 139,
      "cleanedEndLine" : 146
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/span/GenAIAgentSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 227,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 201,
      "startLine" : 181,
      "endLine" : 189,
      "cleanedStartLine" : 121,
      "cleanedEndLine" : 128
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/span/GenAIAgentSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 227,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 201,
      "startLine" : 206,
      "endLine" : 214,
      "cleanedStartLine" : 137,
      "cleanedEndLine" : 144
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/extension/GenAIAgentEventExtTest.kt",
        "extension" : "kt",
        "linesOfCode" : 80,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 62,
      "startLine" : 50,
      "endLine" : 57,
      "cleanedStartLine" : 24,
      "cleanedEndLine" : 31
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/GenAIAgentSpanUtilsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 329,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 292,
      "startLine" : 297,
      "endLine" : 304,
      "cleanedStartLine" : 200,
      "cleanedEndLine" : 207
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 139,
      "endLine" : 150,
      "cleanedStartLine" : 87,
      "cleanedEndLine" : 94
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 196,
      "endLine" : 207,
      "cleanedStartLine" : 126,
      "cleanedEndLine" : 133
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/span/GenAIAgentSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 227,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 201,
      "startLine" : 62,
      "endLine" : 70,
      "cleanedStartLine" : 34,
      "cleanedEndLine" : 41
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/span/GenAIAgentSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 227,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 201,
      "startLine" : 230,
      "endLine" : 238,
      "cleanedStartLine" : 153,
      "cleanedEndLine" : 160
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 139,
      "endLine" : 150,
      "cleanedStartLine" : 87,
      "cleanedEndLine" : 94
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 177,
      "endLine" : 188,
      "cleanedStartLine" : 113,
      "cleanedEndLine" : 120
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/span/GenAIAgentSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 227,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 201,
      "startLine" : 181,
      "endLine" : 189,
      "cleanedStartLine" : 121,
      "cleanedEndLine" : 128
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/span/GenAIAgentSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 227,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 201,
      "startLine" : 230,
      "endLine" : 238,
      "cleanedStartLine" : 153,
      "cleanedEndLine" : 160
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/span/GenAIAgentSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 227,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 201,
      "startLine" : 62,
      "endLine" : 70,
      "cleanedStartLine" : 34,
      "cleanedEndLine" : 41
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/span/GenAIAgentSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 227,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 201,
      "startLine" : 257,
      "endLine" : 265,
      "cleanedStartLine" : 170,
      "cleanedEndLine" : 177
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/extension/GenAIAgentEventExtTest.kt",
        "extension" : "kt",
        "linesOfCode" : 80,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 62,
      "startLine" : 50,
      "endLine" : 57,
      "cleanedStartLine" : 24,
      "cleanedEndLine" : 31
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/GenAIAgentSpanUtilsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 329,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 292,
      "startLine" : 328,
      "endLine" : 335,
      "cleanedStartLine" : 223,
      "cleanedEndLine" : 230
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 139,
      "endLine" : 150,
      "cleanedStartLine" : 87,
      "cleanedEndLine" : 94
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 158,
      "endLine" : 169,
      "cleanedStartLine" : 100,
      "cleanedEndLine" : 107
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/span/GenAIAgentSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 227,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 201,
      "startLine" : 181,
      "endLine" : 189,
      "cleanedStartLine" : 121,
      "cleanedEndLine" : 128
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/span/GenAIAgentSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 227,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 201,
      "startLine" : 281,
      "endLine" : 289,
      "cleanedStartLine" : 188,
      "cleanedEndLine" : 195
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/span/GenAIAgentSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 227,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 201,
      "startLine" : 62,
      "endLine" : 70,
      "cleanedStartLine" : 34,
      "cleanedEndLine" : 41
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/span/GenAIAgentSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 227,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 201,
      "startLine" : 281,
      "endLine" : 289,
      "cleanedStartLine" : 188,
      "cleanedEndLine" : 195
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 82,
      "endLine" : 93,
      "cleanedStartLine" : 48,
      "cleanedEndLine" : 55
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 101,
      "endLine" : 112,
      "cleanedStartLine" : 61,
      "cleanedEndLine" : 68
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 139,
      "endLine" : 150,
      "cleanedStartLine" : 87,
      "cleanedEndLine" : 94
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 272,
      "endLine" : 283,
      "cleanedStartLine" : 178,
      "cleanedEndLine" : 185
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/span/GenAIAgentSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 227,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 201,
      "startLine" : 181,
      "endLine" : 189,
      "cleanedStartLine" : 121,
      "cleanedEndLine" : 128
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/span/GenAIAgentSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 227,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 201,
      "startLine" : 257,
      "endLine" : 265,
      "cleanedStartLine" : 170,
      "cleanedEndLine" : 177
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerStreamingTest.kt",
        "extension" : "kt",
        "linesOfCode" : 347,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 262,
      "startLine" : 82,
      "endLine" : 89,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 23
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageLogWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 480,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 396,
      "startLine" : 93,
      "endLine" : 100,
      "cleanedStartLine" : 26,
      "cleanedEndLine" : 33
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/BedrockLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 751,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 628,
      "startLine" : 232,
      "endLine" : 239,
      "cleanedStartLine" : 127,
      "cleanedEndLine" : 134
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/BedrockLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 751,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 628,
      "startLine" : 357,
      "endLine" : 364,
      "cleanedStartLine" : 221,
      "cleanedEndLine" : 228
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 82,
      "endLine" : 93,
      "cleanedStartLine" : 48,
      "cleanedEndLine" : 55
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 120,
      "endLine" : 131,
      "cleanedStartLine" : 74,
      "cleanedEndLine" : 81
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 139,
      "endLine" : 150,
      "cleanedStartLine" : 87,
      "cleanedEndLine" : 94
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 253,
      "endLine" : 264,
      "cleanedStartLine" : 165,
      "cleanedEndLine" : 172
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 139,
      "endLine" : 150,
      "cleanedStartLine" : 87,
      "cleanedEndLine" : 94
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 234,
      "endLine" : 245,
      "cleanedStartLine" : 152,
      "cleanedEndLine" : 159
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 381,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 343,
      "startLine" : 242,
      "endLine" : 249,
      "cleanedStartLine" : 166,
      "cleanedEndLine" : 173
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 381,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 343,
      "startLine" : 459,
      "endLine" : 466,
      "cleanedStartLine" : 322,
      "cleanedEndLine" : 329
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openrouter-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openrouter/OpenRouterParams.kt",
        "extension" : "kt",
        "linesOfCode" : 197,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 177,
      "startLine" : 127,
      "endLine" : 134,
      "cleanedStartLine" : 72,
      "cleanedEndLine" : 79
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonMain/kotlin/ai/koog/prompt/params/LLMParams.kt",
        "extension" : "kt",
        "linesOfCode" : 169,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 141,
      "startLine" : 83,
      "endLine" : 90,
      "cleanedStartLine" : 37,
      "cleanedEndLine" : 44
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/extension/GenAIAgentEventExtTest.kt",
        "extension" : "kt",
        "linesOfCode" : 80,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 62,
      "startLine" : 50,
      "endLine" : 57,
      "cleanedStartLine" : 24,
      "cleanedEndLine" : 31
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/GenAIAgentSpanUtilsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 329,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 292,
      "startLine" : 356,
      "endLine" : 363,
      "cleanedStartLine" : 244,
      "cleanedEndLine" : 251
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/span/GenAIAgentSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 227,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 201,
      "startLine" : 62,
      "endLine" : 70,
      "cleanedStartLine" : 34,
      "cleanedEndLine" : 41
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/span/GenAIAgentSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 227,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 201,
      "startLine" : 181,
      "endLine" : 189,
      "cleanedStartLine" : 121,
      "cleanedEndLine" : 128
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/extension/GenAIAgentEventExtTest.kt",
        "extension" : "kt",
        "linesOfCode" : 80,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 62,
      "startLine" : 50,
      "endLine" : 57,
      "cleanedStartLine" : 24,
      "cleanedEndLine" : 31
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/GenAIAgentSpanUtilsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 329,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 292,
      "startLine" : 386,
      "endLine" : 393,
      "cleanedStartLine" : 266,
      "cleanedEndLine" : 273
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 253,
      "endLine" : 264,
      "cleanedStartLine" : 165,
      "cleanedEndLine" : 172
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 912,
      "endLine" : 923,
      "cleanedStartLine" : 646,
      "cleanedEndLine" : 653
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/span/GenAIAgentSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 227,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 201,
      "startLine" : 62,
      "endLine" : 70,
      "cleanedStartLine" : 34,
      "cleanedEndLine" : 41
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/span/GenAIAgentSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 227,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 201,
      "startLine" : 206,
      "endLine" : 214,
      "cleanedStartLine" : 137,
      "cleanedEndLine" : 144
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/google/GoogleParams.kt",
        "extension" : "kt",
        "linesOfCode" : 115,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 103,
      "startLine" : 41,
      "endLine" : 48,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 23
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 381,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 343,
      "startLine" : 302,
      "endLine" : 309,
      "cleanedStartLine" : 191,
      "cleanedEndLine" : 198
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/mistralai/MistralAILLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 248,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 184,
      "startLine" : 100,
      "endLine" : 107,
      "cleanedStartLine" : 30,
      "cleanedEndLine" : 37
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAILLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 711,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 554,
      "startLine" : 127,
      "endLine" : 134,
      "cleanedStartLine" : 28,
      "cleanedEndLine" : 35
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "http-client/http-client-java/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 20,
        "components" : [ "primary::http-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 16,
      "startLine" : 3,
      "endLine" : 13,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 8
    }, {
      "file" : {
        "relativePath" : "http-client/http-client-okhttp/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 23,
        "components" : [ "primary::http-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 19,
      "startLine" : 3,
      "endLine" : 13,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 8
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicParams.kt",
        "extension" : "kt",
        "linesOfCode" : 154,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 135,
      "startLine" : 174,
      "endLine" : 181,
      "cleanedStartLine" : 120,
      "cleanedEndLine" : 127
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 381,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 343,
      "startLine" : 242,
      "endLine" : 249,
      "cleanedStartLine" : 166,
      "cleanedEndLine" : 173
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-deepseek-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/deepseek/DeepSeekParams.kt",
        "extension" : "kt",
        "linesOfCode" : 143,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 111,
      "endLine" : 118,
      "cleanedStartLine" : 72,
      "cleanedEndLine" : 79
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/mistralai/MistralAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 145,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 133,
      "startLine" : 113,
      "endLine" : 120,
      "cleanedStartLine" : 70,
      "cleanedEndLine" : 77
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/dashscope/DashscopeLLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 111,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 79,
      "startLine" : 76,
      "endLine" : 83,
      "cleanedStartLine" : 26,
      "cleanedEndLine" : 33
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-deepseek-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/deepseek/DeepSeekLLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 131,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 91,
      "startLine" : 86,
      "endLine" : 93,
      "cleanedStartLine" : 27,
      "cleanedEndLine" : 34
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 82,
      "endLine" : 93,
      "cleanedStartLine" : 48,
      "cleanedEndLine" : 55
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 139,
      "endLine" : 150,
      "cleanedStartLine" : 87,
      "cleanedEndLine" : 94
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/agent/config/MissingToolsConversionStrategyTest.kt",
        "extension" : "kt",
        "linesOfCode" : 202,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 171,
      "startLine" : 123,
      "endLine" : 130,
      "cleanedStartLine" : 84,
      "cleanedEndLine" : 91
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/agent/config/MissingToolsConversionStrategyTest.kt",
        "extension" : "kt",
        "linesOfCode" : 202,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 171,
      "startLine" : 161,
      "endLine" : 168,
      "cleanedStartLine" : 110,
      "cleanedEndLine" : 117
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/agent/config/MissingToolsConversionStrategyTest.kt",
        "extension" : "kt",
        "linesOfCode" : 202,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 171,
      "startLine" : 123,
      "endLine" : 130,
      "cleanedStartLine" : 84,
      "cleanedEndLine" : 91
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/agent/config/MissingToolsConversionStrategyTest.kt",
        "extension" : "kt",
        "linesOfCode" : 202,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 171,
      "startLine" : 185,
      "endLine" : 192,
      "cleanedStartLine" : 127,
      "cleanedEndLine" : 134
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/dashscope/DashscopeParams.kt",
        "extension" : "kt",
        "linesOfCode" : 159,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 144,
      "startLine" : 120,
      "endLine" : 127,
      "cleanedStartLine" : 78,
      "cleanedEndLine" : 85
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openrouter-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openrouter/OpenRouterParams.kt",
        "extension" : "kt",
        "linesOfCode" : 197,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 177,
      "startLine" : 150,
      "endLine" : 157,
      "cleanedStartLine" : 95,
      "cleanedEndLine" : 102
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-tools/src/appleMain/kotlin/ai/koog/agents/core/tools/ToolRegistryBuilder.kt",
        "extension" : "kt",
        "linesOfCode" : 9,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 8,
      "startLine" : 1,
      "endLine" : 13,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 8
    }, {
      "file" : {
        "relativePath" : "agents/agents-tools/src/jvmMain/kotlin/ai/koog/agents/core/tools/ToolRegistryBuilder.kt",
        "extension" : "kt",
        "linesOfCode" : 42,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 30,
      "startLine" : 1,
      "endLine" : 22,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 8
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/span/GenAIAgentSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 227,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 201,
      "startLine" : 132,
      "endLine" : 140,
      "cleanedStartLine" : 87,
      "cleanedEndLine" : 94
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/span/GenAIAgentSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 227,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 201,
      "startLine" : 257,
      "endLine" : 265,
      "cleanedStartLine" : 170,
      "cleanedEndLine" : 177
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/debugger/Debugger.kt",
        "extension" : "kt",
        "linesOfCode" : 399,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 318,
      "startLine" : 314,
      "endLine" : 321,
      "cleanedStartLine" : 167,
      "cleanedEndLine" : 174
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/commonMain/kotlin/ai/koog/agents/features/tracing/feature/Tracing.kt",
        "extension" : "kt",
        "linesOfCode" : 335,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 266,
      "startLine" : 291,
      "endLine" : 298,
      "cleanedStartLine" : 142,
      "cleanedEndLine" : 149
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/span/GenAIAgentSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 227,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 201,
      "startLine" : 132,
      "endLine" : 140,
      "cleanedStartLine" : 87,
      "cleanedEndLine" : 94
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/span/GenAIAgentSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 227,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 201,
      "startLine" : 281,
      "endLine" : 289,
      "cleanedStartLine" : 188,
      "cleanedEndLine" : 195
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 335,
      "endLine" : 346,
      "cleanedStartLine" : 221,
      "cleanedEndLine" : 228
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 837,
      "endLine" : 848,
      "cleanedStartLine" : 589,
      "cleanedEndLine" : 596
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicLLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 524,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 393,
      "startLine" : 286,
      "endLine" : 293,
      "cleanedStartLine" : 141,
      "cleanedEndLine" : 148
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client-base/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/base/AbstractOpenAILLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 412,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 304,
      "startLine" : 258,
      "endLine" : 265,
      "cleanedStartLine" : 126,
      "cleanedEndLine" : 133
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/TestStrategies.kt",
        "extension" : "kt",
        "linesOfCode" : 398,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 340,
      "startLine" : 256,
      "endLine" : 264,
      "cleanedStartLine" : 168,
      "cleanedEndLine" : 175
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/TestStrategies.kt",
        "extension" : "kt",
        "linesOfCode" : 398,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 340,
      "startLine" : 356,
      "endLine" : 364,
      "cleanedStartLine" : 241,
      "cleanedEndLine" : 248
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 335,
      "endLine" : 346,
      "cleanedStartLine" : 221,
      "cleanedEndLine" : 228
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 804,
      "endLine" : 815,
      "cleanedStartLine" : 567,
      "cleanedEndLine" : 574
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/google/GoogleLLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 653,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 482,
      "startLine" : 212,
      "endLine" : 219,
      "cleanedStartLine" : 89,
      "cleanedEndLine" : 96
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/google/GoogleLLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 653,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 482,
      "startLine" : 816,
      "endLine" : 823,
      "cleanedStartLine" : 475,
      "cleanedEndLine" : 482
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-deepseek-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/deepseek/DeepSeekParams.kt",
        "extension" : "kt",
        "linesOfCode" : 143,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 41,
      "endLine" : 48,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 23
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 381,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 343,
      "startLine" : 302,
      "endLine" : 309,
      "cleanedStartLine" : 191,
      "cleanedEndLine" : 198
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/span/GenAIAgentSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 227,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 201,
      "startLine" : 132,
      "endLine" : 140,
      "cleanedStartLine" : 87,
      "cleanedEndLine" : 94
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/span/GenAIAgentSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 227,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 201,
      "startLine" : 206,
      "endLine" : 214,
      "cleanedStartLine" : 137,
      "cleanedEndLine" : 144
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/google/GoogleParams.kt",
        "extension" : "kt",
        "linesOfCode" : 115,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 103,
      "startLine" : 10,
      "endLine" : 17,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 12
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 381,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 343,
      "startLine" : 175,
      "endLine" : 182,
      "cleanedStartLine" : 104,
      "cleanedEndLine" : 111
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageRemoteWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 816,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 671,
      "startLine" : 193,
      "endLine" : 200,
      "cleanedStartLine" : 72,
      "cleanedEndLine" : 79
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageTestWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 623,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 501,
      "startLine" : 390,
      "endLine" : 397,
      "cleanedStartLine" : 238,
      "cleanedEndLine" : 245
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/debugger/Debugger.kt",
        "extension" : "kt",
        "linesOfCode" : 399,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 318,
      "startLine" : 314,
      "endLine" : 321,
      "cleanedStartLine" : 167,
      "cleanedEndLine" : 174
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/commonMain/kotlin/ai/koog/agents/features/tracing/feature/Tracing.kt",
        "extension" : "kt",
        "linesOfCode" : 335,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 266,
      "startLine" : 322,
      "endLine" : 329,
      "cleanedStartLine" : 165,
      "cleanedEndLine" : 172
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/span/GenAIAgentSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 227,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 201,
      "startLine" : 132,
      "endLine" : 140,
      "cleanedStartLine" : 87,
      "cleanedEndLine" : 94
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/span/GenAIAgentSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 227,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 201,
      "startLine" : 230,
      "endLine" : 238,
      "cleanedStartLine" : 153,
      "cleanedEndLine" : 160
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 253,
      "endLine" : 264,
      "cleanedStartLine" : 165,
      "cleanedEndLine" : 172
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 837,
      "endLine" : 848,
      "cleanedStartLine" : 589,
      "cleanedEndLine" : 596
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 253,
      "endLine" : 264,
      "cleanedStartLine" : 165,
      "cleanedEndLine" : 172
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 804,
      "endLine" : 815,
      "cleanedStartLine" : 567,
      "cleanedEndLine" : 574
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/span/GenAIAgentSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 227,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 201,
      "startLine" : 132,
      "endLine" : 140,
      "cleanedStartLine" : 87,
      "cleanedEndLine" : 94
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/span/GenAIAgentSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 227,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 201,
      "startLine" : 181,
      "endLine" : 189,
      "cleanedStartLine" : 121,
      "cleanedEndLine" : 128
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-planner/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 36,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 26,
      "endLine" : 36,
      "cleanedStartLine" : 17,
      "cleanedEndLine" : 24
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-processor/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 38,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 23,
      "endLine" : 33,
      "cleanedStartLine" : 14,
      "cleanedEndLine" : 21
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 253,
      "endLine" : 264,
      "cleanedStartLine" : 165,
      "cleanedEndLine" : 172
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 775,
      "endLine" : 786,
      "cleanedStartLine" : 547,
      "cleanedEndLine" : 554
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/TestStrategies.kt",
        "extension" : "kt",
        "linesOfCode" : 398,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 340,
      "startLine" : 256,
      "endLine" : 264,
      "cleanedStartLine" : 168,
      "cleanedEndLine" : 175
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/TestStrategies.kt",
        "extension" : "kt",
        "linesOfCode" : 398,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 340,
      "startLine" : 321,
      "endLine" : 329,
      "cleanedStartLine" : 219,
      "cleanedEndLine" : 226
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerTest.kt",
        "extension" : "kt",
        "linesOfCode" : 521,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 437,
      "startLine" : 541,
      "endLine" : 554,
      "cleanedStartLine" : 425,
      "cleanedEndLine" : 432
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageRemoteWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 816,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 671,
      "startLine" : 916,
      "endLine" : 929,
      "cleanedStartLine" : 659,
      "cleanedEndLine" : 666
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 381,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 343,
      "startLine" : 396,
      "endLine" : 403,
      "cleanedStartLine" : 264,
      "cleanedEndLine" : 271
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openrouter-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openrouter/OpenRouterParams.kt",
        "extension" : "kt",
        "linesOfCode" : 197,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 177,
      "startLine" : 150,
      "endLine" : 157,
      "cleanedStartLine" : 95,
      "cleanedEndLine" : 102
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/commonTest/kotlin/ai/koog/prompt/executor/clients/google/structure/GoogleStandardJsonSchemaGeneratorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 323,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 297,
      "startLine" : 13,
      "endLine" : 20,
      "cleanedStartLine" : 3,
      "cleanedEndLine" : 10
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-structure/src/commonTest/kotlin/ai/koog/prompt/structure/json/generator/JsonSchemaGeneratorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 819,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 713,
      "startLine" : 17,
      "endLine" : 24,
      "cleanedStartLine" : 3,
      "cleanedEndLine" : 10
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 253,
      "endLine" : 264,
      "cleanedStartLine" : 165,
      "cleanedEndLine" : 172
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 867,
      "endLine" : 878,
      "cleanedStartLine" : 610,
      "cleanedEndLine" : 617
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipeline.kt",
        "extension" : "kt",
        "linesOfCode" : 448,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 394,
      "startLine" : 412,
      "endLine" : 419,
      "cleanedStartLine" : 135,
      "cleanedEndLine" : 142
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 328,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 286,
      "startLine" : 130,
      "endLine" : 137,
      "cleanedStartLine" : 65,
      "cleanedEndLine" : 72
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/mistralai/MistralAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 145,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 133,
      "startLine" : 63,
      "endLine" : 70,
      "cleanedStartLine" : 31,
      "cleanedEndLine" : 38
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 381,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 343,
      "startLine" : 323,
      "endLine" : 330,
      "cleanedStartLine" : 212,
      "cleanedEndLine" : 219
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-ollama-client/src/commonTest/kotlin/ai/koog/prompt/executor/ollama/client/OllamaToolCallTest.kt",
        "extension" : "kt",
        "linesOfCode" : 210,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 189,
      "startLine" : 134,
      "endLine" : 142,
      "cleanedStartLine" : 95,
      "cleanedEndLine" : 102
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-ollama-client/src/commonTest/kotlin/ai/koog/prompt/executor/ollama/client/OllamaToolCallTest.kt",
        "extension" : "kt",
        "linesOfCode" : 210,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 189,
      "startLine" : 184,
      "endLine" : 192,
      "cleanedStartLine" : 136,
      "cleanedEndLine" : 143
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicParams.kt",
        "extension" : "kt",
        "linesOfCode" : 154,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 135,
      "startLine" : 124,
      "endLine" : 131,
      "cleanedStartLine" : 75,
      "cleanedEndLine" : 82
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/dashscope/DashscopeParams.kt",
        "extension" : "kt",
        "linesOfCode" : 159,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 144,
      "startLine" : 120,
      "endLine" : 127,
      "cleanedStartLine" : 78,
      "cleanedEndLine" : 85
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/mistralai/MistralAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 145,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 133,
      "startLine" : 113,
      "endLine" : 120,
      "cleanedStartLine" : 70,
      "cleanedEndLine" : 77
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 381,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 343,
      "startLine" : 19,
      "endLine" : 26,
      "cleanedStartLine" : 6,
      "cleanedEndLine" : 13
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/google/GoogleParams.kt",
        "extension" : "kt",
        "linesOfCode" : 115,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 103,
      "startLine" : 130,
      "endLine" : 137,
      "cleanedStartLine" : 92,
      "cleanedEndLine" : 99
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openrouter-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openrouter/OpenRouterParams.kt",
        "extension" : "kt",
        "linesOfCode" : 197,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 177,
      "startLine" : 215,
      "endLine" : 222,
      "cleanedStartLine" : 155,
      "cleanedEndLine" : 162
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 335,
      "endLine" : 346,
      "cleanedStartLine" : 221,
      "cleanedEndLine" : 228
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 867,
      "endLine" : 878,
      "cleanedStartLine" : 610,
      "cleanedEndLine" : 617
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/TestStrategies.kt",
        "extension" : "kt",
        "linesOfCode" : 398,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 340,
      "startLine" : 56,
      "endLine" : 64,
      "cleanedStartLine" : 29,
      "cleanedEndLine" : 36
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/TestStrategies.kt",
        "extension" : "kt",
        "linesOfCode" : 398,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 340,
      "startLine" : 256,
      "endLine" : 264,
      "cleanedStartLine" : 168,
      "cleanedEndLine" : 175
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 381,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 343,
      "startLine" : 396,
      "endLine" : 403,
      "cleanedStartLine" : 264,
      "cleanedEndLine" : 271
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openrouter-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openrouter/OpenRouterParams.kt",
        "extension" : "kt",
        "linesOfCode" : 197,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 177,
      "startLine" : 10,
      "endLine" : 17,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 12
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 335,
      "endLine" : 346,
      "cleanedStartLine" : 221,
      "cleanedEndLine" : 228
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 912,
      "endLine" : 923,
      "cleanedStartLine" : 646,
      "cleanedEndLine" : 653
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/TestStrategies.kt",
        "extension" : "kt",
        "linesOfCode" : 398,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 340,
      "startLine" : 56,
      "endLine" : 64,
      "cleanedStartLine" : 29,
      "cleanedEndLine" : 36
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/TestStrategies.kt",
        "extension" : "kt",
        "linesOfCode" : 398,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 340,
      "startLine" : 195,
      "endLine" : 203,
      "cleanedStartLine" : 123,
      "cleanedEndLine" : 130
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/google/GoogleLLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 653,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 482,
      "startLine" : 816,
      "endLine" : 823,
      "cleanedStartLine" : 475,
      "cleanedEndLine" : 482
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client-base/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/base/AbstractOpenAILLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 412,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 304,
      "startLine" : 208,
      "endLine" : 215,
      "cleanedStartLine" : 87,
      "cleanedEndLine" : 94
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-tools/src/androidMain/kotlin/ai/koog/agents/core/tools/ToolRegistryBuilder.kt",
        "extension" : "kt",
        "linesOfCode" : 9,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 8,
      "startLine" : 1,
      "endLine" : 13,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 8
    }, {
      "file" : {
        "relativePath" : "agents/agents-tools/src/appleMain/kotlin/ai/koog/agents/core/tools/ToolRegistryBuilder.kt",
        "extension" : "kt",
        "linesOfCode" : 9,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 8,
      "startLine" : 1,
      "endLine" : 13,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 8
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 432,
      "endLine" : 451,
      "cleanedStartLine" : 231,
      "cleanedEndLine" : 238
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 554,
      "endLine" : 573,
      "cleanedStartLine" : 304,
      "cleanedEndLine" : 311
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerStreamingTest.kt",
        "extension" : "kt",
        "linesOfCode" : 347,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 262,
      "startLine" : 254,
      "endLine" : 261,
      "cleanedStartLine" : 138,
      "cleanedEndLine" : 145
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageTestWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 623,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 501,
      "startLine" : 390,
      "endLine" : 397,
      "cleanedStartLine" : 238,
      "cleanedEndLine" : 245
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerStreamingTest.kt",
        "extension" : "kt",
        "linesOfCode" : 347,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 262,
      "startLine" : 122,
      "endLine" : 129,
      "cleanedStartLine" : 42,
      "cleanedEndLine" : 49
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerSubgraphTest.kt",
        "extension" : "kt",
        "linesOfCode" : 262,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 194,
      "startLine" : 84,
      "endLine" : 91,
      "cleanedStartLine" : 26,
      "cleanedEndLine" : 33
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-deepseek-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/deepseek/DeepSeekLLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 131,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 91,
      "startLine" : 86,
      "endLine" : 93,
      "cleanedStartLine" : 27,
      "cleanedEndLine" : 34
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openrouter-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openrouter/OpenRouterLLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 100,
      "startLine" : 88,
      "endLine" : 95,
      "cleanedStartLine" : 27,
      "cleanedEndLine" : 34
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 432,
      "endLine" : 451,
      "cleanedStartLine" : 231,
      "cleanedEndLine" : 238
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 617,
      "endLine" : 637,
      "cleanedStartLine" : 343,
      "cleanedEndLine" : 350
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicParams.kt",
        "extension" : "kt",
        "linesOfCode" : 154,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 135,
      "startLine" : 48,
      "endLine" : 55,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 23
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openrouter-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openrouter/OpenRouterParams.kt",
        "extension" : "kt",
        "linesOfCode" : 197,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 177,
      "startLine" : 52,
      "endLine" : 59,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 22
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicLLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 524,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 393,
      "startLine" : 160,
      "endLine" : 167,
      "cleanedStartLine" : 55,
      "cleanedEndLine" : 62
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicLLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 524,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 393,
      "startLine" : 286,
      "endLine" : 293,
      "cleanedStartLine" : 141,
      "cleanedEndLine" : 148
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 120,
      "endLine" : 131,
      "cleanedStartLine" : 74,
      "cleanedEndLine" : 81
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 867,
      "endLine" : 878,
      "cleanedStartLine" : 610,
      "cleanedEndLine" : 617
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 381,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 343,
      "startLine" : 175,
      "endLine" : 182,
      "cleanedStartLine" : 104,
      "cleanedEndLine" : 111
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 381,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 343,
      "startLine" : 396,
      "endLine" : 403,
      "cleanedStartLine" : 264,
      "cleanedEndLine" : 271
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/google/GoogleParams.kt",
        "extension" : "kt",
        "linesOfCode" : 115,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 103,
      "startLine" : 41,
      "endLine" : 48,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 23
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openrouter-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openrouter/OpenRouterParams.kt",
        "extension" : "kt",
        "linesOfCode" : 197,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 177,
      "startLine" : 52,
      "endLine" : 59,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 22
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/dashscope/DashscopeParams.kt",
        "extension" : "kt",
        "linesOfCode" : 159,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 144,
      "startLine" : 120,
      "endLine" : 127,
      "cleanedStartLine" : 78,
      "cleanedEndLine" : 85
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 381,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 343,
      "startLine" : 175,
      "endLine" : 182,
      "cleanedStartLine" : 104,
      "cleanedEndLine" : 111
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 120,
      "endLine" : 131,
      "cleanedStartLine" : 74,
      "cleanedEndLine" : 81
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 912,
      "endLine" : 923,
      "cleanedStartLine" : 646,
      "cleanedEndLine" : 653
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 120,
      "endLine" : 131,
      "cleanedStartLine" : 74,
      "cleanedEndLine" : 81
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 837,
      "endLine" : 848,
      "cleanedStartLine" : 589,
      "cleanedEndLine" : 596
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-deepseek-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/deepseek/models/DeepSeekSerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 327,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 263,
      "startLine" : 34,
      "endLine" : 45,
      "cleanedStartLine" : 14,
      "cleanedEndLine" : 21
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-deepseek-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/deepseek/models/DeepSeekSerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 327,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 263,
      "startLine" : 138,
      "endLine" : 149,
      "cleanedStartLine" : 92,
      "cleanedEndLine" : 99
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 120,
      "endLine" : 131,
      "cleanedStartLine" : 74,
      "cleanedEndLine" : 81
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 804,
      "endLine" : 815,
      "cleanedStartLine" : 567,
      "cleanedEndLine" : 574
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 381,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 343,
      "startLine" : 459,
      "endLine" : 466,
      "cleanedStartLine" : 322,
      "cleanedEndLine" : 329
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openrouter-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openrouter/OpenRouterParams.kt",
        "extension" : "kt",
        "linesOfCode" : 197,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 177,
      "startLine" : 215,
      "endLine" : 222,
      "cleanedStartLine" : 155,
      "cleanedEndLine" : 162
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 158,
      "endLine" : 169,
      "cleanedStartLine" : 100,
      "cleanedEndLine" : 107
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 272,
      "endLine" : 283,
      "cleanedStartLine" : 178,
      "cleanedEndLine" : 185
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-ollama-client/src/commonTest/kotlin/ai/koog/prompt/executor/ollama/client/OllamaToolCallTest.kt",
        "extension" : "kt",
        "linesOfCode" : 210,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 189,
      "startLine" : 54,
      "endLine" : 62,
      "cleanedStartLine" : 28,
      "cleanedEndLine" : 35
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-ollama-client/src/commonTest/kotlin/ai/koog/prompt/executor/ollama/client/OllamaToolCallTest.kt",
        "extension" : "kt",
        "linesOfCode" : 210,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 189,
      "startLine" : 228,
      "endLine" : 236,
      "cleanedStartLine" : 172,
      "cleanedEndLine" : 179
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 158,
      "endLine" : 169,
      "cleanedStartLine" : 100,
      "cleanedEndLine" : 107
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 253,
      "endLine" : 264,
      "cleanedStartLine" : 165,
      "cleanedEndLine" : 172
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/src/commonTest/kotlin/ai/koog/prompt/executor/clients/retry/RetryingLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 381,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 318,
      "startLine" : 141,
      "endLine" : 149,
      "cleanedStartLine" : 79,
      "cleanedEndLine" : 86
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/src/commonTest/kotlin/ai/koog/prompt/executor/clients/retry/RetryingLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 381,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 318,
      "startLine" : 371,
      "endLine" : 379,
      "cleanedStartLine" : 249,
      "cleanedEndLine" : 256
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 158,
      "endLine" : 169,
      "cleanedStartLine" : 100,
      "cleanedEndLine" : 107
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 234,
      "endLine" : 245,
      "cleanedStartLine" : 152,
      "cleanedEndLine" : 159
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicParams.kt",
        "extension" : "kt",
        "linesOfCode" : 154,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 135,
      "startLine" : 124,
      "endLine" : 131,
      "cleanedStartLine" : 75,
      "cleanedEndLine" : 82
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/mistralai/MistralAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 145,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 133,
      "startLine" : 9,
      "endLine" : 16,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 12
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 158,
      "endLine" : 169,
      "cleanedStartLine" : 100,
      "cleanedEndLine" : 107
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 215,
      "endLine" : 226,
      "cleanedStartLine" : 139,
      "cleanedEndLine" : 146
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/src/commonTest/kotlin/ai/koog/prompt/executor/clients/retry/RetryingLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 381,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 318,
      "startLine" : 141,
      "endLine" : 149,
      "cleanedStartLine" : 79,
      "cleanedEndLine" : 86
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/src/commonTest/kotlin/ai/koog/prompt/executor/clients/retry/RetryingLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 381,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 318,
      "startLine" : 344,
      "endLine" : 352,
      "cleanedStartLine" : 228,
      "cleanedEndLine" : 235
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 158,
      "endLine" : 169,
      "cleanedStartLine" : 100,
      "cleanedEndLine" : 107
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 196,
      "endLine" : 207,
      "cleanedStartLine" : 126,
      "cleanedEndLine" : 133
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 158,
      "endLine" : 169,
      "cleanedStartLine" : 100,
      "cleanedEndLine" : 107
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/PromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 780,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 658,
      "startLine" : 177,
      "endLine" : 188,
      "cleanedStartLine" : 113,
      "cleanedEndLine" : 120
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/dsl/extension/TestLLMExecutor.kt",
        "extension" : "kt",
        "linesOfCode" : 60,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 40,
      "startLine" : 38,
      "endLine" : 47,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 20
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-event-handler/src/jvmTest/kotlin/ai/koog/agents/features/eventHandler/feature/TestLLMExecutor.kt",
        "extension" : "kt",
        "linesOfCode" : 40,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 23,
      "startLine" : 17,
      "endLine" : 26,
      "cleanedStartLine" : 3,
      "cleanedEndLine" : 10
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicParams.kt",
        "extension" : "kt",
        "linesOfCode" : 154,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 135,
      "startLine" : 174,
      "endLine" : 181,
      "cleanedStartLine" : 120,
      "cleanedEndLine" : 127
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 381,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 343,
      "startLine" : 459,
      "endLine" : 466,
      "cleanedStartLine" : 322,
      "cleanedEndLine" : 329
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 62,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 47,
      "startLine" : 35,
      "endLine" : 45,
      "cleanedStartLine" : 22,
      "cleanedEndLine" : 29
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 41,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 31,
      "endLine" : 41,
      "cleanedStartLine" : 18,
      "cleanedEndLine" : 25
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/SubgraphWithTaskTest.kt",
        "extension" : "kt",
        "linesOfCode" : 603,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 509,
      "startLine" : 284,
      "endLine" : 294,
      "cleanedStartLine" : 173,
      "cleanedEndLine" : 179
    }, {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/SubgraphWithTaskTest.kt",
        "extension" : "kt",
        "linesOfCode" : 603,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 509,
      "startLine" : 625,
      "endLine" : 635,
      "cleanedStartLine" : 412,
      "cleanedEndLine" : 418
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/context/AIAgentLLMContext.kt",
        "extension" : "kt",
        "linesOfCode" : 86,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 72,
      "startLine" : 165,
      "endLine" : 171,
      "cleanedStartLine" : 65,
      "cleanedEndLine" : 71
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/context/AIAgentLLMContextImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 105,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 85,
      "startLine" : 38,
      "endLine" : 44,
      "cleanedStartLine" : 20,
      "cleanedEndLine" : 26
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerStreamingTest.kt",
        "extension" : "kt",
        "linesOfCode" : 347,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 262,
      "startLine" : 385,
      "endLine" : 391,
      "cleanedStartLine" : 230,
      "cleanedEndLine" : 236
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerStreamingTest.kt",
        "extension" : "kt",
        "linesOfCode" : 347,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 262,
      "startLine" : 403,
      "endLine" : 409,
      "cleanedStartLine" : 248,
      "cleanedEndLine" : 254
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-test/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 31,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 1,
      "endLine" : 9,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 7
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-acp/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 26,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 6,
      "endLine" : 14,
      "cleanedStartLine" : 3,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageFileWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 509,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 418,
      "startLine" : 158,
      "endLine" : 167,
      "cleanedStartLine" : 72,
      "cleanedEndLine" : 78
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageFileWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 509,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 418,
      "startLine" : 517,
      "endLine" : 526,
      "cleanedStartLine" : 361,
      "cleanedEndLine" : 367
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-a2a-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 32,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 23,
      "endLine" : 32,
      "cleanedStartLine" : 14,
      "cleanedEndLine" : 20
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-memory/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 37,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 25,
      "endLine" : 34,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 22
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rag/vector-storage/src/commonTest/kotlin/ai/koog/rag/vector/FileDocumentEmbeddingStorageTest.kt",
        "extension" : "kt",
        "linesOfCode" : 114,
        "components" : [ "primary::rag" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 90,
      "startLine" : 86,
      "endLine" : 94,
      "cleanedStartLine" : 47,
      "cleanedEndLine" : 53
    }, {
      "file" : {
        "relativePath" : "rag/vector-storage/src/commonTest/kotlin/ai/koog/rag/vector/TextFileDocumentEmbeddingStorageTest.kt",
        "extension" : "kt",
        "linesOfCode" : 141,
        "components" : [ "primary::rag" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 112,
      "startLine" : 87,
      "endLine" : 95,
      "cleanedStartLine" : 48,
      "cleanedEndLine" : 54
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerTest.kt",
        "extension" : "kt",
        "linesOfCode" : 521,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 437,
      "startLine" : 319,
      "endLine" : 325,
      "cleanedStartLine" : 203,
      "cleanedEndLine" : 209
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerTestAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 281,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 212,
      "startLine" : 169,
      "endLine" : 175,
      "cleanedStartLine" : 87,
      "cleanedEndLine" : 93
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/SubgraphWithRetryTest.kt",
        "extension" : "kt",
        "linesOfCode" : 429,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 348,
      "startLine" : 320,
      "endLine" : 327,
      "cleanedStartLine" : 214,
      "cleanedEndLine" : 220
    }, {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/SubgraphWithRetryTest.kt",
        "extension" : "kt",
        "linesOfCode" : 429,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 348,
      "startLine" : 371,
      "endLine" : 378,
      "cleanedStartLine" : 250,
      "cleanedEndLine" : 256
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 846,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 674,
      "startLine" : 324,
      "endLine" : 330,
      "cleanedStartLine" : 170,
      "cleanedEndLine" : 176
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 846,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 674,
      "startLine" : 401,
      "endLine" : 407,
      "cleanedStartLine" : 241,
      "cleanedEndLine" : 247
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 846,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 674,
      "startLine" : 324,
      "endLine" : 330,
      "cleanedStartLine" : 170,
      "cleanedEndLine" : 176
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 846,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 674,
      "startLine" : 374,
      "endLine" : 380,
      "cleanedStartLine" : 216,
      "cleanedEndLine" : 222
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentFunctionalPipeline.kt",
        "extension" : "kt",
        "linesOfCode" : 21,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 15,
      "startLine" : 31,
      "endLine" : 37,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 14
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jsMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentGraphPipeline.kt",
        "extension" : "kt",
        "linesOfCode" : 26,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 19,
      "startLine" : 21,
      "endLine" : 27,
      "cleanedStartLine" : 12,
      "cleanedEndLine" : 18
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmMain/kotlin/ai/koog/agents/core/agent/feature/pipeline/AIAgentGraphPipeline.kt",
        "extension" : "kt",
        "linesOfCode" : 100,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 67,
      "startLine" : 29,
      "endLine" : 35,
      "cleanedStartLine" : 12,
      "cleanedEndLine" : 18
    }, {
      "file" : {
        "relativePath" : "agents/agents-planner/src/commonMain/kotlin/ai/koog/agents/planner/AIAgentPlannerPipeline.kt",
        "extension" : "kt",
        "linesOfCode" : 19,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 13,
      "startLine" : 25,
      "endLine" : 31,
      "cleanedStartLine" : 6,
      "cleanedEndLine" : 12
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerTest.kt",
        "extension" : "kt",
        "linesOfCode" : 521,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 437,
      "startLine" : 80,
      "endLine" : 87,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 11
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageRemoteWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 816,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 671,
      "startLine" : 160,
      "endLine" : 167,
      "cleanedStartLine" : 50,
      "cleanedEndLine" : 56
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/androidMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 142,
      "endLine" : 148,
      "cleanedStartLine" : 121,
      "cleanedEndLine" : 127
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/wasmJsMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 87,
      "endLine" : 93,
      "cleanedStartLine" : 68,
      "cleanedEndLine" : 74
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/dsl/extension/AIAgentNodesHistoryCompressionTest.kt",
        "extension" : "kt",
        "linesOfCode" : 151,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 117,
      "startLine" : 166,
      "endLine" : 173,
      "cleanedStartLine" : 92,
      "cleanedEndLine" : 98
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/dsl/extension/AIAgentNodesTest.kt",
        "extension" : "kt",
        "linesOfCode" : 199,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 155,
      "startLine" : 52,
      "endLine" : 59,
      "cleanedStartLine" : 21,
      "cleanedEndLine" : 27
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryNodeExecuteSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 307,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 276,
      "startLine" : 68,
      "endLine" : 74,
      "cleanedStartLine" : 41,
      "cleanedEndLine" : 47
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetrySpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 256,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 224,
      "startLine" : 215,
      "endLine" : 221,
      "cleanedStartLine" : 155,
      "cleanedEndLine" : 161
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/models/OpenAIResponsesAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 1134,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1035,
      "startLine" : 1598,
      "endLine" : 1613,
      "cleanedStartLine" : 601,
      "cleanedEndLine" : 607
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/models/OpenAIResponsesAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 1134,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1035,
      "startLine" : 1616,
      "endLine" : 1632,
      "cleanedStartLine" : 610,
      "cleanedEndLine" : 616
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/tool/file/render/TextTest.kt",
        "extension" : "kt",
        "linesOfCode" : 760,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 714,
      "startLine" : 772,
      "endLine" : 778,
      "cleanedStartLine" : 613,
      "cleanedEndLine" : 619
    }, {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/tool/file/render/TextTest.kt",
        "extension" : "kt",
        "linesOfCode" : 760,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 714,
      "startLine" : 816,
      "endLine" : 822,
      "cleanedStartLine" : 653,
      "cleanedEndLine" : 659
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-ext/src/jvmTest/kotlin/ai/koog/agents/ext/tool/file/ListDirectoryToolJvmTest.kt",
        "extension" : "kt",
        "linesOfCode" : 331,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 288,
      "startLine" : 114,
      "endLine" : 123,
      "cleanedStartLine" : 55,
      "cleanedEndLine" : 61
    }, {
      "file" : {
        "relativePath" : "agents/agents-ext/src/jvmTest/kotlin/ai/koog/agents/ext/tool/file/ListDirectoryToolJvmTest.kt",
        "extension" : "kt",
        "linesOfCode" : 331,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 288,
      "startLine" : 473,
      "endLine" : 482,
      "cleanedStartLine" : 225,
      "cleanedEndLine" : 231
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/dashscope/DashscopeParams.kt",
        "extension" : "kt",
        "linesOfCode" : 159,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 144,
      "startLine" : 185,
      "endLine" : 191,
      "cleanedStartLine" : 138,
      "cleanedEndLine" : 144
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-deepseek-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/deepseek/DeepSeekParams.kt",
        "extension" : "kt",
        "linesOfCode" : 143,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 166,
      "endLine" : 172,
      "cleanedStartLine" : 122,
      "cleanedEndLine" : 128
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicLLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 524,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 393,
      "startLine" : 121,
      "endLine" : 128,
      "cleanedStartLine" : 33,
      "cleanedEndLine" : 39
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/google/GoogleLLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 653,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 482,
      "startLine" : 135,
      "endLine" : 142,
      "cleanedStartLine" : 36,
      "cleanedEndLine" : 42
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/feature/message/FeatureMessageProcessorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 313,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 270,
      "startLine" : 159,
      "endLine" : 165,
      "cleanedStartLine" : 82,
      "cleanedEndLine" : 88
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/feature/message/FeatureMessageProcessorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 313,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 270,
      "startLine" : 172,
      "endLine" : 178,
      "cleanedStartLine" : 92,
      "cleanedEndLine" : 98
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/environment/SafeTool.kt",
        "extension" : "kt",
        "linesOfCode" : 72,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 57,
      "startLine" : 136,
      "endLine" : 142,
      "cleanedStartLine" : 26,
      "cleanedEndLine" : 32
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/environment/SafeTool.kt",
        "extension" : "kt",
        "linesOfCode" : 72,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 57,
      "startLine" : 153,
      "endLine" : 159,
      "cleanedStartLine" : 35,
      "cleanedEndLine" : 41
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/appleMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 87,
      "endLine" : 93,
      "cleanedStartLine" : 68,
      "cleanedEndLine" : 74
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/appleMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 142,
      "endLine" : 148,
      "cleanedStartLine" : 121,
      "cleanedEndLine" : 127
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentGraphPipelineImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 181,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 142,
      "startLine" : 68,
      "endLine" : 74,
      "cleanedStartLine" : 27,
      "cleanedEndLine" : 33
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentGraphPipelineImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 181,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 142,
      "startLine" : 113,
      "endLine" : 119,
      "cleanedStartLine" : 62,
      "cleanedEndLine" : 68
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-a2a-server/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 32,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 23,
      "endLine" : 32,
      "cleanedStartLine" : 14,
      "cleanedEndLine" : 20
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-memory/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 37,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 25,
      "endLine" : 34,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 22
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/appleMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 87,
      "endLine" : 93,
      "cleanedStartLine" : 68,
      "cleanedEndLine" : 74
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 156,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 141,
      "startLine" : 186,
      "endLine" : 192,
      "cleanedStartLine" : 133,
      "cleanedEndLine" : 139
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 846,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 674,
      "startLine" : 324,
      "endLine" : 330,
      "cleanedStartLine" : 170,
      "cleanedEndLine" : 176
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 846,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 674,
      "startLine" : 347,
      "endLine" : 353,
      "cleanedStartLine" : 191,
      "cleanedEndLine" : 197
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/PersistencyRestoreStrategyTests.kt",
        "extension" : "kt",
        "linesOfCode" : 86,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 62,
      "startLine" : 38,
      "endLine" : 44,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 22
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/PersistencyRestoreStrategyTests.kt",
        "extension" : "kt",
        "linesOfCode" : 86,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 62,
      "startLine" : 69,
      "endLine" : 75,
      "cleanedStartLine" : 39,
      "cleanedEndLine" : 45
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/openai/models/OpenAIChatCompletionRequestSerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 149,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 109,
      "startLine" : 121,
      "endLine" : 131,
      "cleanedStartLine" : 80,
      "cleanedEndLine" : 86
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/openai/models/OpenAIResponsesAPIRequestSerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 233,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 194,
      "startLine" : 112,
      "endLine" : 122,
      "cleanedStartLine" : 77,
      "cleanedEndLine" : 83
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rag/rag-base/src/jvmTest/kotlin/ai/koog/rag/base/files/JVMFileSystemProviderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 933,
        "components" : [ "primary::rag" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 724,
      "startLine" : 1021,
      "endLine" : 1030,
      "cleanedStartLine" : 663,
      "cleanedEndLine" : 669
    }, {
      "file" : {
        "relativePath" : "rag/rag-base/src/jvmTest/kotlin/ai/koog/rag/base/files/JVMFileSystemProviderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 933,
        "components" : [ "primary::rag" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 724,
      "startLine" : 1062,
      "endLine" : 1071,
      "cleanedStartLine" : 692,
      "cleanedEndLine" : 698
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/handler/llm/LLMCallEventContext.kt",
        "extension" : "kt",
        "linesOfCode" : 35,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 24,
      "startLine" : 28,
      "endLine" : 34,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 10
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/handler/streaming/LLMStreamingEventContext.kt",
        "extension" : "kt",
        "linesOfCode" : 54,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 42,
      "startLine" : 28,
      "endLine" : 34,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 10
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/appleMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 87,
      "endLine" : 93,
      "cleanedStartLine" : 68,
      "cleanedEndLine" : 74
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jsMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 142,
      "endLine" : 148,
      "cleanedStartLine" : 121,
      "cleanedEndLine" : 127
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 48,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 43,
      "endLine" : 56,
      "cleanedStartLine" : 29,
      "cleanedEndLine" : 35
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 51,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 46,
      "endLine" : 59,
      "cleanedStartLine" : 32,
      "cleanedEndLine" : 38
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentFunctionalPipeline.kt",
        "extension" : "kt",
        "linesOfCode" : 21,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 15,
      "startLine" : 31,
      "endLine" : 37,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 14
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/wasmJsMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentGraphPipeline.kt",
        "extension" : "kt",
        "linesOfCode" : 26,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 19,
      "startLine" : 21,
      "endLine" : 27,
      "cleanedStartLine" : 12,
      "cleanedEndLine" : 18
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerTestAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 281,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 212,
      "startLine" : 218,
      "endLine" : 224,
      "cleanedStartLine" : 136,
      "cleanedEndLine" : 142
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageRemoteWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 816,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 671,
      "startLine" : 581,
      "endLine" : 587,
      "cleanedStartLine" : 421,
      "cleanedEndLine" : 427
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 362,
      "endLine" : 368,
      "cleanedStartLine" : 183,
      "cleanedEndLine" : 189
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 610,
      "endLine" : 616,
      "cleanedStartLine" : 336,
      "cleanedEndLine" : 342
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 362,
      "endLine" : 368,
      "cleanedStartLine" : 183,
      "cleanedEndLine" : 189
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 579,
      "endLine" : 585,
      "cleanedStartLine" : 317,
      "cleanedEndLine" : 323
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-test/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 31,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 1,
      "endLine" : 9,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 7
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-memory/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 37,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 6,
      "endLine" : 14,
      "cleanedStartLine" : 3,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-test/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 31,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 1,
      "endLine" : 9,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 7
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-llm/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 20,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 14,
      "startLine" : 6,
      "endLine" : 14,
      "cleanedStartLine" : 3,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 362,
      "endLine" : 368,
      "cleanedStartLine" : 183,
      "cleanedEndLine" : 189
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 547,
      "endLine" : 553,
      "cleanedStartLine" : 297,
      "cleanedEndLine" : 303
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-a2a-core/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 31,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 22,
      "endLine" : 31,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-memory/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 37,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 25,
      "endLine" : 34,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 22
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmMain/kotlin/ai/koog/agents/core/agent/context/SubtaskBuilder.kt",
        "extension" : "kt",
        "linesOfCode" : 115,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 98,
      "startLine" : 267,
      "endLine" : 273,
      "cleanedStartLine" : 71,
      "cleanedEndLine" : 77
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmMain/kotlin/ai/koog/agents/core/agent/context/SubtaskBuilder.kt",
        "extension" : "kt",
        "linesOfCode" : 115,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 98,
      "startLine" : 280,
      "endLine" : 286,
      "cleanedStartLine" : 82,
      "cleanedEndLine" : 88
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/model/events/toolExecutionEvents.kt",
        "extension" : "kt",
        "linesOfCode" : 176,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 165,
      "startLine" : 83,
      "endLine" : 89,
      "cleanedStartLine" : 36,
      "cleanedEndLine" : 42
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/model/events/toolExecutionEvents.kt",
        "extension" : "kt",
        "linesOfCode" : 176,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 165,
      "startLine" : 144,
      "endLine" : 150,
      "cleanedStartLine" : 74,
      "cleanedEndLine" : 80
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 164,
      "endLine" : 170,
      "cleanedStartLine" : 63,
      "cleanedEndLine" : 69
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 547,
      "endLine" : 553,
      "cleanedStartLine" : 297,
      "cleanedEndLine" : 303
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipeline.kt",
        "extension" : "kt",
        "linesOfCode" : 448,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 394,
      "startLine" : 383,
      "endLine" : 389,
      "cleanedStartLine" : 124,
      "cleanedEndLine" : 130
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 328,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 286,
      "startLine" : 154,
      "endLine" : 160,
      "cleanedStartLine" : 85,
      "cleanedEndLine" : 91
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipeline.kt",
        "extension" : "kt",
        "linesOfCode" : 448,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 394,
      "startLine" : 383,
      "endLine" : 389,
      "cleanedStartLine" : 124,
      "cleanedEndLine" : 130
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 328,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 286,
      "startLine" : 165,
      "endLine" : 171,
      "cleanedStartLine" : 95,
      "cleanedEndLine" : 101
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/dashscope/models/DashscopeSerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 453,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 372,
      "startLine" : 61,
      "endLine" : 67,
      "cleanedStartLine" : 35,
      "cleanedEndLine" : 41
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-deepseek-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/deepseek/models/DeepSeekSerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 327,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 263,
      "startLine" : 59,
      "endLine" : 65,
      "cleanedStartLine" : 32,
      "cleanedEndLine" : 38
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/feature/AIAgentPipelineTest.kt",
        "extension" : "kt",
        "linesOfCode" : 736,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 595,
      "startLine" : 309,
      "endLine" : 321,
      "cleanedStartLine" : 183,
      "cleanedEndLine" : 189
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/feature/AIAgentPipelineTest.kt",
        "extension" : "kt",
        "linesOfCode" : 736,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 595,
      "startLine" : 366,
      "endLine" : 378,
      "cleanedStartLine" : 223,
      "cleanedEndLine" : 229
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/ai/koog/agents/snapshot/providers/file/FileCheckpointsTests.kt",
        "extension" : "kt",
        "linesOfCode" : 236,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 188,
      "startLine" : 73,
      "endLine" : 82,
      "cleanedStartLine" : 32,
      "cleanedEndLine" : 38
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/ai/koog/agents/snapshot/providers/file/FileCheckpointsTests.kt",
        "extension" : "kt",
        "linesOfCode" : 236,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 188,
      "startLine" : 102,
      "endLine" : 111,
      "cleanedStartLine" : 54,
      "cleanedEndLine" : 60
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/CheckpointsTests.kt",
        "extension" : "kt",
        "linesOfCode" : 793,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 646,
      "startLine" : 134,
      "endLine" : 143,
      "cleanedStartLine" : 54,
      "cleanedEndLine" : 60
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/SubgraphSetExecutionPointTest.kt",
        "extension" : "kt",
        "linesOfCode" : 176,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 143,
      "startLine" : 110,
      "endLine" : 119,
      "cleanedStartLine" : 79,
      "cleanedEndLine" : 85
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/dsl/extension/HistoryCompressionStrategies.kt",
        "extension" : "kt",
        "linesOfCode" : 144,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 117,
      "startLine" : 152,
      "endLine" : 158,
      "cleanedStartLine" : 51,
      "cleanedEndLine" : 57
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/dsl/extension/HistoryCompressionStrategies.kt",
        "extension" : "kt",
        "linesOfCode" : 144,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 117,
      "startLine" : 240,
      "endLine" : 246,
      "cleanedStartLine" : 82,
      "cleanedEndLine" : 88
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/context/AIAgentFunctionalContextImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 483,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 365,
      "startLine" : 296,
      "endLine" : 302,
      "cleanedStartLine" : 170,
      "cleanedEndLine" : 176
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jsMain/kotlin/ai/koog/agents/core/agent/context/AIAgentFunctionalContext.kt",
        "extension" : "kt",
        "linesOfCode" : 100,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 87,
      "startLine" : 60,
      "endLine" : 66,
      "cleanedStartLine" : 42,
      "cleanedEndLine" : 48
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/dsl/extension/HistoryCompressionStrategies.kt",
        "extension" : "kt",
        "linesOfCode" : 144,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 117,
      "startLine" : 152,
      "endLine" : 158,
      "cleanedStartLine" : 51,
      "cleanedEndLine" : 57
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/dsl/extension/HistoryCompressionStrategies.kt",
        "extension" : "kt",
        "linesOfCode" : 144,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 117,
      "startLine" : 275,
      "endLine" : 281,
      "cleanedStartLine" : 96,
      "cleanedEndLine" : 102
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/CheckpointsTests.kt",
        "extension" : "kt",
        "linesOfCode" : 793,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 646,
      "startLine" : 134,
      "endLine" : 143,
      "cleanedStartLine" : 54,
      "cleanedEndLine" : 60
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/SubgraphSetExecutionPointTest.kt",
        "extension" : "kt",
        "linesOfCode" : 176,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 143,
      "startLine" : 85,
      "endLine" : 94,
      "cleanedStartLine" : 59,
      "cleanedEndLine" : 65
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/CheckpointsTests.kt",
        "extension" : "kt",
        "linesOfCode" : 793,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 646,
      "startLine" : 134,
      "endLine" : 143,
      "cleanedStartLine" : 54,
      "cleanedEndLine" : 60
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/SubgraphSetExecutionPointTest.kt",
        "extension" : "kt",
        "linesOfCode" : 176,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 143,
      "startLine" : 57,
      "endLine" : 66,
      "cleanedStartLine" : 36,
      "cleanedEndLine" : 42
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/debugger/Debugger.kt",
        "extension" : "kt",
        "linesOfCode" : 399,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 318,
      "startLine" : 375,
      "endLine" : 381,
      "cleanedStartLine" : 216,
      "cleanedEndLine" : 222
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/commonMain/kotlin/ai/koog/agents/features/tracing/feature/Tracing.kt",
        "extension" : "kt",
        "linesOfCode" : 335,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 266,
      "startLine" : 391,
      "endLine" : 397,
      "cleanedStartLine" : 220,
      "cleanedEndLine" : 226
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 201,
      "endLine" : 207,
      "cleanedStartLine" : 89,
      "cleanedEndLine" : 95
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 301,
      "endLine" : 307,
      "cleanedStartLine" : 150,
      "cleanedEndLine" : 156
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/CheckpointsTests.kt",
        "extension" : "kt",
        "linesOfCode" : 793,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 646,
      "startLine" : 134,
      "endLine" : 143,
      "cleanedStartLine" : 54,
      "cleanedEndLine" : 60
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/SubgraphSetExecutionPointTest.kt",
        "extension" : "kt",
        "linesOfCode" : 176,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 143,
      "startLine" : 33,
      "endLine" : 42,
      "cleanedStartLine" : 17,
      "cleanedEndLine" : 23
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/debugger/Debugger.kt",
        "extension" : "kt",
        "linesOfCode" : 399,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 318,
      "startLine" : 375,
      "endLine" : 381,
      "cleanedStartLine" : 216,
      "cleanedEndLine" : 222
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/commonMain/kotlin/ai/koog/agents/features/tracing/feature/Tracing.kt",
        "extension" : "kt",
        "linesOfCode" : 335,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 266,
      "startLine" : 407,
      "endLine" : 413,
      "cleanedStartLine" : 234,
      "cleanedEndLine" : 240
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/commonTest/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicSerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 335,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 278,
      "startLine" : 95,
      "endLine" : 104,
      "cleanedStartLine" : 54,
      "cleanedEndLine" : 60
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/openai/models/OpenAIChatCompletionRequestSerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 149,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 109,
      "startLine" : 66,
      "endLine" : 75,
      "cleanedStartLine" : 39,
      "cleanedEndLine" : 45
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 105,
      "endLine" : 111,
      "cleanedStartLine" : 26,
      "cleanedEndLine" : 32
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 169,
      "endLine" : 175,
      "cleanedStartLine" : 68,
      "cleanedEndLine" : 74
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-a2a-server/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 32,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 23,
      "endLine" : 32,
      "cleanedStartLine" : 14,
      "cleanedEndLine" : 20
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 41,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 31,
      "endLine" : 40,
      "cleanedStartLine" : 18,
      "cleanedEndLine" : 24
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/debugger/Debugger.kt",
        "extension" : "kt",
        "linesOfCode" : 399,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 318,
      "startLine" : 360,
      "endLine" : 366,
      "cleanedStartLine" : 203,
      "cleanedEndLine" : 209
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/debugger/Debugger.kt",
        "extension" : "kt",
        "linesOfCode" : 399,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 318,
      "startLine" : 375,
      "endLine" : 381,
      "cleanedStartLine" : 216,
      "cleanedEndLine" : 222
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/session/AIAgentLLMSession.kt",
        "extension" : "kt",
        "linesOfCode" : 162,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 119,
      "startLine" : 192,
      "endLine" : 198,
      "cleanedStartLine" : 103,
      "cleanedEndLine" : 109
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/session/AIAgentLLMWriteSessionImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 195,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 127,
      "startLine" : 144,
      "endLine" : 150,
      "cleanedStartLine" : 69,
      "cleanedEndLine" : 75
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 105,
      "endLine" : 111,
      "cleanedStartLine" : 26,
      "cleanedEndLine" : 32
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 201,
      "endLine" : 207,
      "cleanedStartLine" : 89,
      "cleanedEndLine" : 95
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 201,
      "endLine" : 207,
      "cleanedStartLine" : 89,
      "cleanedEndLine" : 95
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 267,
      "endLine" : 273,
      "cleanedStartLine" : 130,
      "cleanedEndLine" : 136
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmMain/kotlin/ai/koog/agents/features/opentelemetry/integration/langfuse/LangfuseSpanAdapter.kt",
        "extension" : "kt",
        "linesOfCode" : 132,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 83,
      "startLine" : 145,
      "endLine" : 158,
      "cleanedStartLine" : 67,
      "cleanedEndLine" : 73
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmMain/kotlin/ai/koog/agents/features/opentelemetry/integration/langfuse/LangfuseSpanAdapter.kt",
        "extension" : "kt",
        "linesOfCode" : 132,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 83,
      "startLine" : 169,
      "endLine" : 182,
      "cleanedStartLine" : 77,
      "cleanedEndLine" : 83
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-test/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 31,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 1,
      "endLine" : 9,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 7
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 39,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 6,
      "endLine" : 14,
      "cleanedStartLine" : 3,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/modelfamilies/amazon/NovaDataModelsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 341,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 280,
      "startLine" : 19,
      "endLine" : 25,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 15
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/modelfamilies/amazon/NovaDataModelsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 341,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 280,
      "startLine" : 63,
      "endLine" : 69,
      "cleanedStartLine" : 45,
      "cleanedEndLine" : 51
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/debugger/Debugger.kt",
        "extension" : "kt",
        "linesOfCode" : 399,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 318,
      "startLine" : 196,
      "endLine" : 202,
      "cleanedStartLine" : 79,
      "cleanedEndLine" : 85
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/commonMain/kotlin/ai/koog/agents/features/tracing/feature/Tracing.kt",
        "extension" : "kt",
        "linesOfCode" : 335,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 266,
      "startLine" : 160,
      "endLine" : 166,
      "cleanedStartLine" : 46,
      "cleanedEndLine" : 52
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/androidMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 87,
      "endLine" : 93,
      "cleanedStartLine" : 68,
      "cleanedEndLine" : 74
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jsMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 142,
      "endLine" : 148,
      "cleanedStartLine" : 121,
      "cleanedEndLine" : 127
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/modelfamilies/amazon/NovaDataModelsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 341,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 280,
      "startLine" : 108,
      "endLine" : 117,
      "cleanedStartLine" : 77,
      "cleanedEndLine" : 83
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/modelfamilies/amazon/NovaDataModelsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 341,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 280,
      "startLine" : 139,
      "endLine" : 148,
      "cleanedStartLine" : 98,
      "cleanedEndLine" : 104
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryInferenceSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 556,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 517,
      "startLine" : 60,
      "endLine" : 67,
      "cleanedStartLine" : 23,
      "cleanedEndLine" : 29
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryInferenceSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 556,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 517,
      "startLine" : 154,
      "endLine" : 161,
      "cleanedStartLine" : 103,
      "cleanedEndLine" : 109
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerTestAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 281,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 212,
      "startLine" : 169,
      "endLine" : 175,
      "cleanedStartLine" : 87,
      "cleanedEndLine" : 93
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageRemoteWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 816,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 671,
      "startLine" : 426,
      "endLine" : 432,
      "cleanedStartLine" : 267,
      "cleanedEndLine" : 273
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonMain/kotlin/ai/koog/agents/ext/tool/AskUser.kt",
        "extension" : "kt",
        "linesOfCode" : 19,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 14,
      "startLine" : 15,
      "endLine" : 27,
      "cleanedStartLine" : 6,
      "cleanedEndLine" : 12
    }, {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonMain/kotlin/ai/koog/agents/ext/tool/SayToUser.kt",
        "extension" : "kt",
        "linesOfCode" : 19,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 14,
      "startLine" : 14,
      "endLine" : 27,
      "cleanedStartLine" : 6,
      "cleanedEndLine" : 12
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/model/events/llmCallEvents.kt",
        "extension" : "kt",
        "linesOfCode" : 93,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 84,
      "startLine" : 59,
      "endLine" : 65,
      "cleanedStartLine" : 28,
      "cleanedEndLine" : 34
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/model/events/llmStreamingEvents.kt",
        "extension" : "kt",
        "linesOfCode" : 136,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 125,
      "startLine" : 55,
      "endLine" : 61,
      "cleanedStartLine" : 27,
      "cleanedEndLine" : 33
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/feature/AIAgentPipelineTest.kt",
        "extension" : "kt",
        "linesOfCode" : 736,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 595,
      "startLine" : 246,
      "endLine" : 255,
      "cleanedStartLine" : 137,
      "cleanedEndLine" : 143
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/feature/AIAgentPipelineTest.kt",
        "extension" : "kt",
        "linesOfCode" : 736,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 595,
      "startLine" : 419,
      "endLine" : 428,
      "cleanedStartLine" : 259,
      "cleanedEndLine" : 265
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmMain/kotlin/ai/koog/prompt/executor/clients/bedrock/modelfamilies/BedrockToolSerialization.kt",
        "extension" : "kt",
        "linesOfCode" : 59,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 37,
      "startLine" : 25,
      "endLine" : 32,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client-base/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/base/OpenAICompatibleToolDescriptorSchemaGenerator.kt",
        "extension" : "kt",
        "linesOfCode" : 73,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 42,
      "startLine" : 42,
      "endLine" : 48,
      "cleanedStartLine" : 17,
      "cleanedEndLine" : 23
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipeline.kt",
        "extension" : "kt",
        "linesOfCode" : 448,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 394,
      "startLine" : 358,
      "endLine" : 364,
      "cleanedStartLine" : 112,
      "cleanedEndLine" : 118
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 328,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 286,
      "startLine" : 191,
      "endLine" : 197,
      "cleanedStartLine" : 119,
      "cleanedEndLine" : 125
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentGraphPipeline.kt",
        "extension" : "kt",
        "linesOfCode" : 107,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 90,
      "startLine" : 152,
      "endLine" : 158,
      "cleanedStartLine" : 49,
      "cleanedEndLine" : 55
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentGraphPipelineImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 181,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 142,
      "startLine" : 110,
      "endLine" : 116,
      "cleanedStartLine" : 59,
      "cleanedEndLine" : 65
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-transport/a2a-transport-server-jsonrpc-http/src/jvmTest/kotlin/ai/koog/a2a/transport/server/jsonrpc/http/HttpJSONRPCServerTransportTest.kt",
        "extension" : "kt",
        "linesOfCode" : 547,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 452,
      "startLine" : 399,
      "endLine" : 408,
      "cleanedStartLine" : 274,
      "cleanedEndLine" : 280
    }, {
      "file" : {
        "relativePath" : "a2a/a2a-transport/a2a-transport-server-jsonrpc-http/src/jvmTest/kotlin/ai/koog/a2a/transport/server/jsonrpc/http/HttpJSONRPCServerTransportTest.kt",
        "extension" : "kt",
        "linesOfCode" : 547,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 452,
      "startLine" : 467,
      "endLine" : 476,
      "cleanedStartLine" : 326,
      "cleanedEndLine" : 332
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/appleMain/kotlin/ai/koog/agents/core/agent/context/AIAgentLLMContext.kt",
        "extension" : "kt",
        "linesOfCode" : 32,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 23,
      "endLine" : 29,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmMain/kotlin/ai/koog/agents/core/agent/context/AIAgentLLMContext.kt",
        "extension" : "kt",
        "linesOfCode" : 82,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 59,
      "startLine" : 101,
      "endLine" : 107,
      "cleanedStartLine" : 51,
      "cleanedEndLine" : 57
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/SubgraphCheckpointsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 183,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 146,
      "startLine" : 95,
      "endLine" : 105,
      "cleanedStartLine" : 60,
      "cleanedEndLine" : 66
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/SubgraphSetExecutionPointTest.kt",
        "extension" : "kt",
        "linesOfCode" : 176,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 143,
      "startLine" : 110,
      "endLine" : 119,
      "cleanedStartLine" : 79,
      "cleanedEndLine" : 85
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/TraceStructureTestBase.kt",
        "extension" : "kt",
        "linesOfCode" : 802,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 688,
      "startLine" : 643,
      "endLine" : 649,
      "cleanedStartLine" : 453,
      "cleanedEndLine" : 459
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/langfuse/LangfuseTraceStructureTest.kt",
        "extension" : "kt",
        "linesOfCode" : 249,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 236,
      "startLine" : 150,
      "endLine" : 156,
      "cleanedStartLine" : 124,
      "cleanedEndLine" : 130
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/handler/tool/ToolCallEventContext.kt",
        "extension" : "kt",
        "linesOfCode" : 62,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 51,
      "startLine" : 78,
      "endLine" : 84,
      "cleanedStartLine" : 28,
      "cleanedEndLine" : 34
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/handler/tool/ToolCallEventContext.kt",
        "extension" : "kt",
        "linesOfCode" : 62,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 51,
      "startLine" : 104,
      "endLine" : 110,
      "cleanedStartLine" : 41,
      "cleanedEndLine" : 47
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/SubgraphCheckpointsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 183,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 146,
      "startLine" : 95,
      "endLine" : 105,
      "cleanedStartLine" : 60,
      "cleanedEndLine" : 66
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/SubgraphSetExecutionPointTest.kt",
        "extension" : "kt",
        "linesOfCode" : 176,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 143,
      "startLine" : 85,
      "endLine" : 94,
      "cleanedStartLine" : 59,
      "cleanedEndLine" : 65
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/SubgraphCheckpointsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 183,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 146,
      "startLine" : 95,
      "endLine" : 105,
      "cleanedStartLine" : 60,
      "cleanedEndLine" : 66
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/SubgraphSetExecutionPointTest.kt",
        "extension" : "kt",
        "linesOfCode" : 176,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 143,
      "startLine" : 57,
      "endLine" : 66,
      "cleanedStartLine" : 36,
      "cleanedEndLine" : 42
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/appleMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 142,
      "endLine" : 148,
      "cleanedStartLine" : 121,
      "cleanedEndLine" : 127
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/wasmJsMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 87,
      "endLine" : 93,
      "cleanedStartLine" : 68,
      "cleanedEndLine" : 74
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/SubgraphCheckpointsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 183,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 146,
      "startLine" : 95,
      "endLine" : 105,
      "cleanedStartLine" : 60,
      "cleanedEndLine" : 66
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/SubgraphSetExecutionPointTest.kt",
        "extension" : "kt",
        "linesOfCode" : 176,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 143,
      "startLine" : 33,
      "endLine" : 42,
      "cleanedStartLine" : 17,
      "cleanedEndLine" : 23
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/tool/file/render/TextTest.kt",
        "extension" : "kt",
        "linesOfCode" : 760,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 714,
      "startLine" : 94,
      "endLine" : 100,
      "cleanedStartLine" : 69,
      "cleanedEndLine" : 75
    }, {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/tool/file/render/TextTest.kt",
        "extension" : "kt",
        "linesOfCode" : 760,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 714,
      "startLine" : 111,
      "endLine" : 117,
      "cleanedStartLine" : 82,
      "cleanedEndLine" : 88
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerTest.kt",
        "extension" : "kt",
        "linesOfCode" : 521,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 437,
      "startLine" : 290,
      "endLine" : 296,
      "cleanedStartLine" : 174,
      "cleanedEndLine" : 180
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerTest.kt",
        "extension" : "kt",
        "linesOfCode" : 521,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 437,
      "startLine" : 319,
      "endLine" : 325,
      "cleanedStartLine" : 203,
      "cleanedEndLine" : 209
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "http-client/http-client-java/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 20,
        "components" : [ "primary::http-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 16,
      "startLine" : 3,
      "endLine" : 12,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 7
    }, {
      "file" : {
        "relativePath" : "http-client/http-client-test/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 16,
        "components" : [ "primary::http-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 14,
      "startLine" : 1,
      "endLine" : 10,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 7
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/agent/FunctionalAIAgentTest.kt",
        "extension" : "kt",
        "linesOfCode" : 674,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 581,
      "startLine" : 105,
      "endLine" : 117,
      "cleanedStartLine" : 60,
      "cleanedEndLine" : 66
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/agent/SingleRunStrategyTests.kt",
        "extension" : "kt",
        "linesOfCode" : 234,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 186,
      "startLine" : 32,
      "endLine" : 44,
      "cleanedStartLine" : 17,
      "cleanedEndLine" : 23
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-event-handler/src/commonMain/kotlin/ai/koog/agents/features/eventHandler/feature/EventHandlerConfig.kt",
        "extension" : "kt",
        "linesOfCode" : 196,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 156,
      "startLine" : 232,
      "endLine" : 238,
      "cleanedStartLine" : 101,
      "cleanedEndLine" : 107
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-event-handler/src/commonMain/kotlin/ai/koog/agents/features/eventHandler/feature/EventHandlerConfigAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 195,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 156,
      "startLine" : 391,
      "endLine" : 397,
      "cleanedStartLine" : 101,
      "cleanedEndLine" : 107
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-sql/src/jvmTest/kotlin/ai/koog/agents/features/sql/providers/PostgresPersistenceAgentRunTest.kt",
        "extension" : "kt",
        "linesOfCode" : 243,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 182,
      "startLine" : 216,
      "endLine" : 226,
      "cleanedStartLine" : 126,
      "cleanedEndLine" : 132
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-sql/src/jvmTest/kotlin/ai/koog/agents/features/sql/providers/PostgresPersistenceAgentRunTest.kt",
        "extension" : "kt",
        "linesOfCode" : 243,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 182,
      "startLine" : 258,
      "endLine" : 268,
      "cleanedStartLine" : 151,
      "cleanedEndLine" : 157
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-test/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 31,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 1,
      "endLine" : 9,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 7
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-llms-all/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 50,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 40,
      "startLine" : 6,
      "endLine" : 14,
      "cleanedStartLine" : 3,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/TraceStructureTestBase.kt",
        "extension" : "kt",
        "linesOfCode" : 802,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 688,
      "startLine" : 643,
      "endLine" : 649,
      "cleanedStartLine" : 453,
      "cleanedEndLine" : 459
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/weave/WeaveTraceStructureTest.kt",
        "extension" : "kt",
        "linesOfCode" : 270,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 257,
      "startLine" : 150,
      "endLine" : 156,
      "cleanedStartLine" : 125,
      "cleanedEndLine" : 131
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 164,
      "endLine" : 170,
      "cleanedStartLine" : 63,
      "cleanedEndLine" : 69
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 579,
      "endLine" : 585,
      "cleanedStartLine" : 317,
      "cleanedEndLine" : 323
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/feature/AIAgentFeatureTestAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 395,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 341,
      "startLine" : 94,
      "endLine" : 100,
      "cleanedStartLine" : 41,
      "cleanedEndLine" : 47
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/feature/AIAgentFeatureTestAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 395,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 341,
      "startLine" : 255,
      "endLine" : 261,
      "cleanedStartLine" : 181,
      "cleanedEndLine" : 187
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 164,
      "endLine" : 170,
      "cleanedStartLine" : 63,
      "cleanedEndLine" : 69
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 610,
      "endLine" : 616,
      "cleanedStartLine" : 336,
      "cleanedEndLine" : 342
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-structure/src/commonMain/kotlin/ai/koog/prompt/structure/json/generator/BasicJsonSchemaGenerator.kt",
        "extension" : "kt",
        "linesOfCode" : 67,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 48,
      "startLine" : 44,
      "endLine" : 50,
      "cleanedStartLine" : 14,
      "cleanedEndLine" : 20
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-structure/src/commonMain/kotlin/ai/koog/prompt/structure/json/generator/StandardJsonSchemaGenerator.kt",
        "extension" : "kt",
        "linesOfCode" : 206,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 156,
      "startLine" : 54,
      "endLine" : 60,
      "cleanedStartLine" : 17,
      "cleanedEndLine" : 23
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/feature/AIAgentFeatureTestAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 395,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 341,
      "startLine" : 94,
      "endLine" : 100,
      "cleanedStartLine" : 41,
      "cleanedEndLine" : 47
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/feature/AIAgentFeatureTestAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 395,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 341,
      "startLine" : 215,
      "endLine" : 221,
      "cleanedStartLine" : 145,
      "cleanedEndLine" : 151
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/weave/WeaveTraceStructureTest.kt",
        "extension" : "kt",
        "linesOfCode" : 270,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 257,
      "startLine" : 150,
      "endLine" : 156,
      "cleanedStartLine" : 125,
      "cleanedEndLine" : 131
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/weave/WeaveTraceStructureTest.kt",
        "extension" : "kt",
        "linesOfCode" : 270,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 257,
      "startLine" : 208,
      "endLine" : 214,
      "cleanedStartLine" : 178,
      "cleanedEndLine" : 184
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetrySubgraphTest.kt",
        "extension" : "kt",
        "linesOfCode" : 334,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 313,
      "startLine" : 136,
      "endLine" : 143,
      "cleanedStartLine" : 106,
      "cleanedEndLine" : 112
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetrySubgraphTest.kt",
        "extension" : "kt",
        "linesOfCode" : 334,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 313,
      "startLine" : 254,
      "endLine" : 261,
      "cleanedStartLine" : 208,
      "cleanedEndLine" : 214
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/feature/AIAgentFeatureTestAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 395,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 341,
      "startLine" : 94,
      "endLine" : 100,
      "cleanedStartLine" : 41,
      "cleanedEndLine" : 47
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/feature/AIAgentFeatureTestAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 395,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 341,
      "startLine" : 173,
      "endLine" : 179,
      "cleanedStartLine" : 109,
      "cleanedEndLine" : 115
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryNodeExecuteSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 307,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 276,
      "startLine" : 266,
      "endLine" : 272,
      "cleanedStartLine" : 210,
      "cleanedEndLine" : 216
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetrySpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 256,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 224,
      "startLine" : 121,
      "endLine" : 127,
      "cleanedStartLine" : 67,
      "cleanedEndLine" : 73
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerSubgraphTest.kt",
        "extension" : "kt",
        "linesOfCode" : 262,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 194,
      "startLine" : 255,
      "endLine" : 261,
      "cleanedStartLine" : 143,
      "cleanedEndLine" : 149
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerTestAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 281,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 212,
      "startLine" : 113,
      "endLine" : 120,
      "cleanedStartLine" : 39,
      "cleanedEndLine" : 45
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetrySpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 256,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 224,
      "startLine" : 109,
      "endLine" : 115,
      "cleanedStartLine" : 55,
      "cleanedEndLine" : 61
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetrySpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 256,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 224,
      "startLine" : 203,
      "endLine" : 209,
      "cleanedStartLine" : 143,
      "cleanedEndLine" : 149
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/openai/models/OpenAIResponsesAPIItemsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 448,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 385,
      "startLine" : 53,
      "endLine" : 59,
      "cleanedStartLine" : 32,
      "cleanedEndLine" : 38
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/openai/models/OpenAISerializersTest.kt",
        "extension" : "kt",
        "linesOfCode" : 390,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 314,
      "startLine" : 51,
      "endLine" : 57,
      "cleanedStartLine" : 26,
      "cleanedEndLine" : 32
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 169,
      "endLine" : 175,
      "cleanedStartLine" : 68,
      "cleanedEndLine" : 74
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 301,
      "endLine" : 307,
      "cleanedStartLine" : 150,
      "cleanedEndLine" : 156
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-sql/src/jvmTest/kotlin/ai/koog/agents/features/sql/providers/PostgresPersistenceAgentRunTest.kt",
        "extension" : "kt",
        "linesOfCode" : 243,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 182,
      "startLine" : 172,
      "endLine" : 182,
      "cleanedStartLine" : 97,
      "cleanedEndLine" : 103
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-sql/src/jvmTest/kotlin/ai/koog/agents/features/sql/providers/PostgresPersistenceAgentRunTest.kt",
        "extension" : "kt",
        "linesOfCode" : 243,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 182,
      "startLine" : 216,
      "endLine" : 226,
      "cleanedStartLine" : 126,
      "cleanedEndLine" : 132
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 169,
      "endLine" : 175,
      "cleanedStartLine" : 68,
      "cleanedEndLine" : 74
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 267,
      "endLine" : 273,
      "cleanedStartLine" : 130,
      "cleanedEndLine" : 136
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-test/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 31,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 1,
      "endLine" : 9,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 7
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-cache/prompt-cache-redis/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 35,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 6,
      "endLine" : 14,
      "cleanedStartLine" : 3,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-deepseek-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/deepseek/models/DeepSeekSerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 327,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 263,
      "startLine" : 69,
      "endLine" : 79,
      "cleanedStartLine" : 40,
      "cleanedEndLine" : 46
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-deepseek-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/deepseek/models/DeepSeekSerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 327,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 263,
      "startLine" : 138,
      "endLine" : 148,
      "cleanedStartLine" : 92,
      "cleanedEndLine" : 98
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-ext/src/jvmTest/kotlin/ai/koog/agents/ext/tool/file/ListDirectoryToolJvmTest.kt",
        "extension" : "kt",
        "linesOfCode" : 331,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 288,
      "startLine" : 208,
      "endLine" : 216,
      "cleanedStartLine" : 99,
      "cleanedEndLine" : 105
    }, {
      "file" : {
        "relativePath" : "agents/agents-ext/src/jvmTest/kotlin/ai/koog/agents/ext/tool/file/ListDirectoryToolJvmTest.kt",
        "extension" : "kt",
        "linesOfCode" : 331,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 288,
      "startLine" : 323,
      "endLine" : 332,
      "cleanedStartLine" : 154,
      "cleanedEndLine" : 160
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/SubgraphWithTaskTest.kt",
        "extension" : "kt",
        "linesOfCode" : 603,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 509,
      "startLine" : 284,
      "endLine" : 294,
      "cleanedStartLine" : 173,
      "cleanedEndLine" : 179
    }, {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/SubgraphWithTaskTest.kt",
        "extension" : "kt",
        "linesOfCode" : 603,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 509,
      "startLine" : 411,
      "endLine" : 421,
      "cleanedStartLine" : 261,
      "cleanedEndLine" : 267
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/handler/tool/ToolCallEventContext.kt",
        "extension" : "kt",
        "linesOfCode" : 62,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 51,
      "startLine" : 51,
      "endLine" : 57,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 21
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/handler/tool/ToolCallEventContext.kt",
        "extension" : "kt",
        "linesOfCode" : 62,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 51,
      "startLine" : 104,
      "endLine" : 110,
      "cleanedStartLine" : 41,
      "cleanedEndLine" : 47
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/AIAgentBuilder.kt",
        "extension" : "kt",
        "linesOfCode" : 218,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 168,
      "startLine" : 499,
      "endLine" : 515,
      "cleanedStartLine" : 143,
      "cleanedEndLine" : 149
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/AIAgentServiceBuilder.kt",
        "extension" : "kt",
        "linesOfCode" : 216,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 168,
      "startLine" : 399,
      "endLine" : 415,
      "cleanedStartLine" : 131,
      "cleanedEndLine" : 137
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/CheckpointsTests.kt",
        "extension" : "kt",
        "linesOfCode" : 793,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 646,
      "startLine" : 154,
      "endLine" : 163,
      "cleanedStartLine" : 69,
      "cleanedEndLine" : 75
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/SubgraphCheckpointsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 183,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 146,
      "startLine" : 41,
      "endLine" : 51,
      "cleanedStartLine" : 18,
      "cleanedEndLine" : 24
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerTestAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 281,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 212,
      "startLine" : 160,
      "endLine" : 166,
      "cleanedStartLine" : 78,
      "cleanedEndLine" : 84
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageRemoteWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 816,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 671,
      "startLine" : 388,
      "endLine" : 394,
      "cleanedStartLine" : 229,
      "cleanedEndLine" : 235
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/SubgraphWithRetryTest.kt",
        "extension" : "kt",
        "linesOfCode" : 429,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 348,
      "startLine" : 287,
      "endLine" : 297,
      "cleanedStartLine" : 191,
      "cleanedEndLine" : 197
    }, {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/SubgraphWithRetryTest.kt",
        "extension" : "kt",
        "linesOfCode" : 429,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 348,
      "startLine" : 337,
      "endLine" : 347,
      "cleanedStartLine" : 228,
      "cleanedEndLine" : 234
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerTest.kt",
        "extension" : "kt",
        "linesOfCode" : 521,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 437,
      "startLine" : 527,
      "endLine" : 533,
      "cleanedStartLine" : 411,
      "cleanedEndLine" : 417
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerTestAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 281,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 212,
      "startLine" : 228,
      "endLine" : 234,
      "cleanedStartLine" : 146,
      "cleanedEndLine" : 152
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipeline.kt",
        "extension" : "kt",
        "linesOfCode" : 448,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 394,
      "startLine" : 281,
      "endLine" : 287,
      "cleanedStartLine" : 79,
      "cleanedEndLine" : 85
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 328,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 286,
      "startLine" : 140,
      "endLine" : 146,
      "cleanedStartLine" : 74,
      "cleanedEndLine" : 80
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-memory/src/jvmTest/kotlin/ai/koog/agents/memory/AIAgentMemoryTest.kt",
        "extension" : "kt",
        "linesOfCode" : 470,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 399,
      "startLine" : 45,
      "endLine" : 55,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 10
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-memory/src/jvmTest/kotlin/ai/koog/agents/memory/MemoryNodesTest.kt",
        "extension" : "kt",
        "linesOfCode" : 418,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 327,
      "startLine" : 75,
      "endLine" : 85,
      "cleanedStartLine" : 24,
      "cleanedEndLine" : 30
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-event-handler/src/commonMain/kotlin/ai/koog/agents/features/eventHandler/feature/EventHandlerConfig.kt",
        "extension" : "kt",
        "linesOfCode" : 196,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 156,
      "startLine" : 199,
      "endLine" : 205,
      "cleanedStartLine" : 73,
      "cleanedEndLine" : 79
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-event-handler/src/commonMain/kotlin/ai/koog/agents/features/eventHandler/feature/EventHandlerConfigAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 195,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 156,
      "startLine" : 343,
      "endLine" : 349,
      "cleanedStartLine" : 73,
      "cleanedEndLine" : 79
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIChatParamsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 132,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 105,
      "startLine" : 90,
      "endLine" : 98,
      "cleanedStartLine" : 55,
      "cleanedEndLine" : 61
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIResponsesParamsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 142,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 111,
      "startLine" : 94,
      "endLine" : 102,
      "cleanedStartLine" : 57,
      "cleanedEndLine" : 63
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 328,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 286,
      "startLine" : 165,
      "endLine" : 171,
      "cleanedStartLine" : 95,
      "cleanedEndLine" : 101
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 846,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 674,
      "startLine" : 324,
      "endLine" : 330,
      "cleanedStartLine" : 170,
      "cleanedEndLine" : 176
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 846,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 674,
      "startLine" : 347,
      "endLine" : 353,
      "cleanedStartLine" : 191,
      "cleanedEndLine" : 197
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 846,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 674,
      "startLine" : 401,
      "endLine" : 407,
      "cleanedStartLine" : 241,
      "cleanedEndLine" : 247
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-test/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 31,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 1,
      "endLine" : 9,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 7
    }, {
      "file" : {
        "relativePath" : "embeddings/embeddings-llm/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 44,
        "components" : [ "primary::embeddings" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 6,
      "endLine" : 14,
      "cleanedStartLine" : 3,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmMain/kotlin/ai/koog/agents/core/environment/SafeTool.jvm.kt",
        "extension" : "kt",
        "linesOfCode" : 68,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 52,
      "startLine" : 151,
      "endLine" : 157,
      "cleanedStartLine" : 29,
      "cleanedEndLine" : 35
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmMain/kotlin/ai/koog/agents/core/environment/SafeTool.jvm.kt",
        "extension" : "kt",
        "linesOfCode" : 68,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 52,
      "startLine" : 168,
      "endLine" : 174,
      "cleanedStartLine" : 38,
      "cleanedEndLine" : 44
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmMain/kotlin/ai/koog/agents/core/agent/context/AIAgentLLMContext.kt",
        "extension" : "kt",
        "linesOfCode" : 82,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 59,
      "startLine" : 29,
      "endLine" : 35,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmMain/kotlin/ai/koog/agents/core/agent/context/AIAgentLLMContext.kt",
        "extension" : "kt",
        "linesOfCode" : 82,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 59,
      "startLine" : 101,
      "endLine" : 107,
      "cleanedStartLine" : 51,
      "cleanedEndLine" : 57
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetrySpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 256,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 224,
      "startLine" : 215,
      "endLine" : 221,
      "cleanedStartLine" : 155,
      "cleanedEndLine" : 161
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetrySubgraphTest.kt",
        "extension" : "kt",
        "linesOfCode" : 334,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 313,
      "startLine" : 111,
      "endLine" : 117,
      "cleanedStartLine" : 85,
      "cleanedEndLine" : 91
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 328,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 286,
      "startLine" : 165,
      "endLine" : 171,
      "cleanedStartLine" : 95,
      "cleanedEndLine" : 101
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 846,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 674,
      "startLine" : 401,
      "endLine" : 407,
      "cleanedStartLine" : 241,
      "cleanedEndLine" : 247
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipeline.kt",
        "extension" : "kt",
        "linesOfCode" : 448,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 394,
      "startLine" : 308,
      "endLine" : 314,
      "cleanedStartLine" : 90,
      "cleanedEndLine" : 96
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 328,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 286,
      "startLine" : 165,
      "endLine" : 171,
      "cleanedStartLine" : 95,
      "cleanedEndLine" : 101
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 846,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 674,
      "startLine" : 359,
      "endLine" : 365,
      "cleanedStartLine" : 203,
      "cleanedEndLine" : 209
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 846,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 674,
      "startLine" : 412,
      "endLine" : 418,
      "cleanedStartLine" : 252,
      "cleanedEndLine" : 258
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-a2a-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 32,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 23,
      "endLine" : 32,
      "cleanedStartLine" : 14,
      "cleanedEndLine" : 20
    }, {
      "file" : {
        "relativePath" : "agents/agents-tools/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 38,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 28,
      "endLine" : 37,
      "cleanedStartLine" : 17,
      "cleanedEndLine" : 23
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-transport/a2a-transport-client-jsonrpc-http/src/commonTest/kotlin/ai/koog/a2a/transport/client/jsonrpc/http/HttpJSONRPCClientTransportTest.kt",
        "extension" : "kt",
        "linesOfCode" : 389,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 327,
      "startLine" : 227,
      "endLine" : 235,
      "cleanedStartLine" : 144,
      "cleanedEndLine" : 150
    }, {
      "file" : {
        "relativePath" : "a2a/a2a-transport/a2a-transport-client-jsonrpc-http/src/commonTest/kotlin/ai/koog/a2a/transport/client/jsonrpc/http/HttpJSONRPCClientTransportTest.kt",
        "extension" : "kt",
        "linesOfCode" : 389,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 327,
      "startLine" : 333,
      "endLine" : 341,
      "cleanedStartLine" : 229,
      "cleanedEndLine" : 235
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/feature/remote/client/FeatureMessageRemoteClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 388,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 293,
      "startLine" : 270,
      "endLine" : 278,
      "cleanedStartLine" : 150,
      "cleanedEndLine" : 156
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/feature/remote/server/FeatureMessageRemoteServerTest.kt",
        "extension" : "kt",
        "linesOfCode" : 316,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 232,
      "startLine" : 275,
      "endLine" : 282,
      "cleanedStartLine" : 155,
      "cleanedEndLine" : 161
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-test/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 31,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 1,
      "endLine" : 9,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 7
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-processor/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 38,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 6,
      "endLine" : 14,
      "cleanedStartLine" : 3,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageRemoteWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 816,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 671,
      "startLine" : 409,
      "endLine" : 415,
      "cleanedStartLine" : 250,
      "cleanedEndLine" : 256
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageRemoteWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 816,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 671,
      "startLine" : 456,
      "endLine" : 462,
      "cleanedStartLine" : 297,
      "cleanedEndLine" : 303
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-test/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 31,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 1,
      "endLine" : 9,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 7
    }, {
      "file" : {
        "relativePath" : "agents/agents-planner/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 36,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 6,
      "endLine" : 14,
      "cleanedStartLine" : 3,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/dsl/extension/TestLLMExecutor.kt",
        "extension" : "kt",
        "linesOfCode" : 60,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 40,
      "startLine" : 38,
      "endLine" : 46,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/mock/MockLLMExecutor.kt",
        "extension" : "kt",
        "linesOfCode" : 47,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 28,
      "startLine" : 23,
      "endLine" : 31,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 11
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-a2a-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 32,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 23,
      "endLine" : 32,
      "cleanedStartLine" : 14,
      "cleanedEndLine" : 20
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 41,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 31,
      "endLine" : 40,
      "cleanedStartLine" : 18,
      "cleanedEndLine" : 24
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/CheckpointsTests.kt",
        "extension" : "kt",
        "linesOfCode" : 793,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 646,
      "startLine" : 295,
      "endLine" : 304,
      "cleanedStartLine" : 171,
      "cleanedEndLine" : 177
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/SubgraphSetExecutionPointTest.kt",
        "extension" : "kt",
        "linesOfCode" : 176,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 143,
      "startLine" : 110,
      "endLine" : 119,
      "cleanedStartLine" : 79,
      "cleanedEndLine" : 85
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/CheckpointsTests.kt",
        "extension" : "kt",
        "linesOfCode" : 793,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 646,
      "startLine" : 295,
      "endLine" : 304,
      "cleanedStartLine" : 171,
      "cleanedEndLine" : 177
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/SubgraphSetExecutionPointTest.kt",
        "extension" : "kt",
        "linesOfCode" : 176,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 143,
      "startLine" : 85,
      "endLine" : 94,
      "cleanedStartLine" : 59,
      "cleanedEndLine" : 65
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-server/src/jvmTest/kotlin/ai/koog/a2a/server/jsonrpc/A2AServerJsonRpcIntegrationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 200,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 139,
      "startLine" : 108,
      "endLine" : 114,
      "cleanedStartLine" : 45,
      "cleanedEndLine" : 51
    }, {
      "file" : {
        "relativePath" : "a2a/a2a-server/src/jvmTest/kotlin/ai/koog/a2a/server/jsonrpc/A2AServerJsonRpcIntegrationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 200,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 139,
      "startLine" : 208,
      "endLine" : 214,
      "cleanedStartLine" : 110,
      "cleanedEndLine" : 116
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-event-handler/src/commonMain/kotlin/ai/koog/agents/features/eventHandler/feature/EventHandlerConfig.kt",
        "extension" : "kt",
        "linesOfCode" : 196,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 156,
      "startLine" : 190,
      "endLine" : 196,
      "cleanedStartLine" : 65,
      "cleanedEndLine" : 71
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-event-handler/src/commonMain/kotlin/ai/koog/agents/features/eventHandler/feature/EventHandlerConfigImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 425,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 305,
      "startLine" : 376,
      "endLine" : 382,
      "cleanedStartLine" : 177,
      "cleanedEndLine" : 183
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/CheckpointsTests.kt",
        "extension" : "kt",
        "linesOfCode" : 793,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 646,
      "startLine" : 134,
      "endLine" : 143,
      "cleanedStartLine" : 54,
      "cleanedEndLine" : 60
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/CheckpointsTests.kt",
        "extension" : "kt",
        "linesOfCode" : 793,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 646,
      "startLine" : 295,
      "endLine" : 304,
      "cleanedStartLine" : 171,
      "cleanedEndLine" : 177
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipeline.kt",
        "extension" : "kt",
        "linesOfCode" : 448,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 394,
      "startLine" : 412,
      "endLine" : 418,
      "cleanedStartLine" : 135,
      "cleanedEndLine" : 141
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 846,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 674,
      "startLine" : 476,
      "endLine" : 482,
      "cleanedStartLine" : 303,
      "cleanedEndLine" : 309
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/CheckpointsTests.kt",
        "extension" : "kt",
        "linesOfCode" : 793,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 646,
      "startLine" : 134,
      "endLine" : 143,
      "cleanedStartLine" : 54,
      "cleanedEndLine" : 60
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/SubgraphSetExecutionPointTest.kt",
        "extension" : "kt",
        "linesOfCode" : 176,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 143,
      "startLine" : 137,
      "endLine" : 146,
      "cleanedStartLine" : 101,
      "cleanedEndLine" : 107
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/appleMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentGraphPipeline.kt",
        "extension" : "kt",
        "linesOfCode" : 26,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 19,
      "startLine" : 21,
      "endLine" : 27,
      "cleanedStartLine" : 12,
      "cleanedEndLine" : 18
    }, {
      "file" : {
        "relativePath" : "agents/agents-planner/src/commonMain/kotlin/ai/koog/agents/planner/AIAgentPlannerPipeline.kt",
        "extension" : "kt",
        "linesOfCode" : 19,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 13,
      "startLine" : 25,
      "endLine" : 31,
      "cleanedStartLine" : 6,
      "cleanedEndLine" : 12
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipeline.kt",
        "extension" : "kt",
        "linesOfCode" : 448,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 394,
      "startLine" : 234,
      "endLine" : 240,
      "cleanedStartLine" : 60,
      "cleanedEndLine" : 66
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 846,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 674,
      "startLine" : 262,
      "endLine" : 268,
      "cleanedStartLine" : 122,
      "cleanedEndLine" : 128
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/agent/FunctionalAIAgentTest.kt",
        "extension" : "kt",
        "linesOfCode" : 674,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 581,
      "startLine" : 626,
      "endLine" : 634,
      "cleanedStartLine" : 461,
      "cleanedEndLine" : 467
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/agent/FunctionalAIAgentTest.kt",
        "extension" : "kt",
        "linesOfCode" : 674,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 581,
      "startLine" : 702,
      "endLine" : 710,
      "cleanedStartLine" : 516,
      "cleanedEndLine" : 522
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/modelfamilies/ai21/BedrockAI21JambaSerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 224,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 176,
      "startLine" : 164,
      "endLine" : 171,
      "cleanedStartLine" : 96,
      "cleanedEndLine" : 102
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/modelfamilies/meta/BedrockMetaLlamaSerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 149,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 111,
      "startLine" : 84,
      "endLine" : 91,
      "cleanedStartLine" : 47,
      "cleanedEndLine" : 53
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/CheckpointsTests.kt",
        "extension" : "kt",
        "linesOfCode" : 793,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 646,
      "startLine" : 295,
      "endLine" : 304,
      "cleanedStartLine" : 171,
      "cleanedEndLine" : 177
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/SubgraphSetExecutionPointTest.kt",
        "extension" : "kt",
        "linesOfCode" : 176,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 143,
      "startLine" : 57,
      "endLine" : 66,
      "cleanedStartLine" : 36,
      "cleanedEndLine" : 42
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/commonMain/kotlin/ai/koog/agents/features/tracing/feature/Tracing.kt",
        "extension" : "kt",
        "linesOfCode" : 335,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 266,
      "startLine" : 391,
      "endLine" : 397,
      "cleanedStartLine" : 220,
      "cleanedEndLine" : 226
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/commonMain/kotlin/ai/koog/agents/features/tracing/feature/Tracing.kt",
        "extension" : "kt",
        "linesOfCode" : 335,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 266,
      "startLine" : 407,
      "endLine" : 413,
      "cleanedStartLine" : 234,
      "cleanedEndLine" : 240
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/commonMain/kotlin/ai/koog/agents/features/tracing/feature/Tracing.kt",
        "extension" : "kt",
        "linesOfCode" : 335,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 266,
      "startLine" : 391,
      "endLine" : 397,
      "cleanedStartLine" : 220,
      "cleanedEndLine" : 226
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/commonMain/kotlin/ai/koog/agents/features/tracing/feature/Tracing.kt",
        "extension" : "kt",
        "linesOfCode" : 335,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 266,
      "startLine" : 422,
      "endLine" : 428,
      "cleanedStartLine" : 247,
      "cleanedEndLine" : 253
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/CheckpointsTests.kt",
        "extension" : "kt",
        "linesOfCode" : 793,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 646,
      "startLine" : 134,
      "endLine" : 143,
      "cleanedStartLine" : 54,
      "cleanedEndLine" : 60
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/SubgraphSetExecutionPointTest.kt",
        "extension" : "kt",
        "linesOfCode" : 176,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 143,
      "startLine" : 164,
      "endLine" : 173,
      "cleanedStartLine" : 123,
      "cleanedEndLine" : 129
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/CheckpointsTests.kt",
        "extension" : "kt",
        "linesOfCode" : 793,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 646,
      "startLine" : 295,
      "endLine" : 304,
      "cleanedStartLine" : 171,
      "cleanedEndLine" : 177
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/SubgraphSetExecutionPointTest.kt",
        "extension" : "kt",
        "linesOfCode" : 176,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 143,
      "startLine" : 33,
      "endLine" : 42,
      "cleanedStartLine" : 17,
      "cleanedEndLine" : 23
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/agent/FunctionalAIAgentTest.kt",
        "extension" : "kt",
        "linesOfCode" : 674,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 581,
      "startLine" : 626,
      "endLine" : 634,
      "cleanedStartLine" : 461,
      "cleanedEndLine" : 467
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/agent/FunctionalAIAgentTest.kt",
        "extension" : "kt",
        "linesOfCode" : 674,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 581,
      "startLine" : 666,
      "endLine" : 674,
      "cleanedStartLine" : 490,
      "cleanedEndLine" : 496
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/CheckpointsTests.kt",
        "extension" : "kt",
        "linesOfCode" : 793,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 646,
      "startLine" : 134,
      "endLine" : 143,
      "cleanedStartLine" : 54,
      "cleanedEndLine" : 60
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/SubgraphCheckpointsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 183,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 146,
      "startLine" : 123,
      "endLine" : 133,
      "cleanedStartLine" : 82,
      "cleanedEndLine" : 88
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 328,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 286,
      "startLine" : 154,
      "endLine" : 160,
      "cleanedStartLine" : 85,
      "cleanedEndLine" : 91
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 328,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 286,
      "startLine" : 165,
      "endLine" : 171,
      "cleanedStartLine" : 95,
      "cleanedEndLine" : 101
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/CheckpointsTests.kt",
        "extension" : "kt",
        "linesOfCode" : 793,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 646,
      "startLine" : 134,
      "endLine" : 143,
      "cleanedStartLine" : 54,
      "cleanedEndLine" : 60
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/SubgraphCheckpointsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 183,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 146,
      "startLine" : 95,
      "endLine" : 105,
      "cleanedStartLine" : 60,
      "cleanedEndLine" : 66
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/model/events/llmCallEvents.kt",
        "extension" : "kt",
        "linesOfCode" : 93,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 84,
      "startLine" : 59,
      "endLine" : 65,
      "cleanedStartLine" : 28,
      "cleanedEndLine" : 34
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/model/events/llmStreamingEvents.kt",
        "extension" : "kt",
        "linesOfCode" : 136,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 125,
      "startLine" : 205,
      "endLine" : 211,
      "cleanedStartLine" : 119,
      "cleanedEndLine" : 125
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-event-handler/src/jvmTest/kotlin/ai/koog/agents/features/eventHandler/feature/EventHandlerTest.kt",
        "extension" : "kt",
        "linesOfCode" : 637,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 548,
      "startLine" : 676,
      "endLine" : 685,
      "cleanedStartLine" : 501,
      "cleanedEndLine" : 507
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-event-handler/src/jvmTest/kotlin/ai/koog/agents/features/eventHandler/feature/EventHandlerTest.kt",
        "extension" : "kt",
        "linesOfCode" : 637,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 548,
      "startLine" : 721,
      "endLine" : 730,
      "cleanedStartLine" : 531,
      "cleanedEndLine" : 537
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryAgentSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 148,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 126,
      "startLine" : 62,
      "endLine" : 68,
      "cleanedStartLine" : 33,
      "cleanedEndLine" : 39
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetrySpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 256,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 224,
      "startLine" : 180,
      "endLine" : 186,
      "cleanedStartLine" : 122,
      "cleanedEndLine" : 128
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-test/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 31,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 1,
      "endLine" : 9,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 7
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-cache/prompt-cache-files/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 26,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 6,
      "endLine" : 14,
      "cleanedStartLine" : 3,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryInferenceSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 556,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 517,
      "startLine" : 244,
      "endLine" : 253,
      "cleanedStartLine" : 192,
      "cleanedEndLine" : 198
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryInferenceSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 556,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 517,
      "startLine" : 371,
      "endLine" : 380,
      "cleanedStartLine" : 309,
      "cleanedEndLine" : 315
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageTestWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 623,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 501,
      "startLine" : 403,
      "endLine" : 409,
      "cleanedStartLine" : 249,
      "cleanedEndLine" : 255
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageTestWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 623,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 501,
      "startLine" : 421,
      "endLine" : 427,
      "cleanedStartLine" : 267,
      "cleanedEndLine" : 273
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/CheckpointsTests.kt",
        "extension" : "kt",
        "linesOfCode" : 793,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 646,
      "startLine" : 134,
      "endLine" : 143,
      "cleanedStartLine" : 54,
      "cleanedEndLine" : 60
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/SubgraphCheckpointsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 183,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 146,
      "startLine" : 68,
      "endLine" : 78,
      "cleanedStartLine" : 39,
      "cleanedEndLine" : 45
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-llm/src/commonMain/kotlin/ai/koog/prompt/llm/OllamaModels.kt",
        "extension" : "kt",
        "linesOfCode" : 137,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 131,
      "startLine" : 34,
      "endLine" : 40,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 14
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-llm/src/commonMain/kotlin/ai/koog/prompt/llm/OllamaModels.kt",
        "extension" : "kt",
        "linesOfCode" : 137,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 131,
      "startLine" : 60,
      "endLine" : 66,
      "cleanedStartLine" : 19,
      "cleanedEndLine" : 25
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/CheckpointsTests.kt",
        "extension" : "kt",
        "linesOfCode" : 793,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 646,
      "startLine" : 134,
      "endLine" : 143,
      "cleanedStartLine" : 54,
      "cleanedEndLine" : 60
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/SubgraphCheckpointsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 183,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 146,
      "startLine" : 41,
      "endLine" : 51,
      "cleanedStartLine" : 18,
      "cleanedEndLine" : 24
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-deepseek-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/deepseek/models/DeepSeekSerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 327,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 263,
      "startLine" : 138,
      "endLine" : 148,
      "cleanedStartLine" : 92,
      "cleanedEndLine" : 98
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-deepseek-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/deepseek/models/DeepSeekSerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 327,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 263,
      "startLine" : 219,
      "endLine" : 229,
      "cleanedStartLine" : 157,
      "cleanedEndLine" : 163
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-mcp/src/commonTest/kotlin/ai/koog/agents/mcp/DefaultMcpToolDescriptorParserTest.kt",
        "extension" : "kt",
        "linesOfCode" : 726,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 614,
      "startLine" : 33,
      "endLine" : 43,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "agents/agents-mcp/src/commonTest/kotlin/ai/koog/agents/mcp/DefaultMcpToolDescriptorParserTest.kt",
        "extension" : "kt",
        "linesOfCode" : 726,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 614,
      "startLine" : 203,
      "endLine" : 213,
      "cleanedStartLine" : 127,
      "cleanedEndLine" : 133
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/attribute/AttributeExtensionTest.kt",
        "extension" : "kt",
        "linesOfCode" : 274,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 253,
      "startLine" : 137,
      "endLine" : 143,
      "cleanedStartLine" : 113,
      "cleanedEndLine" : 119
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/attribute/AttributeExtensionTest.kt",
        "extension" : "kt",
        "linesOfCode" : 274,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 253,
      "startLine" : 244,
      "endLine" : 250,
      "cleanedStartLine" : 194,
      "cleanedEndLine" : 200
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/environment/ContextualAgentEnvironment.kt",
        "extension" : "kt",
        "linesOfCode" : 104,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 87,
      "startLine" : 76,
      "endLine" : 82,
      "cleanedStartLine" : 52,
      "cleanedEndLine" : 58
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/environment/ContextualAgentEnvironment.kt",
        "extension" : "kt",
        "linesOfCode" : 104,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 87,
      "startLine" : 105,
      "endLine" : 111,
      "cleanedStartLine" : 77,
      "cleanedEndLine" : 83
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/environment/ContextualAgentEnvironment.kt",
        "extension" : "kt",
        "linesOfCode" : 104,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 87,
      "startLine" : 76,
      "endLine" : 82,
      "cleanedStartLine" : 52,
      "cleanedEndLine" : 58
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/environment/ContextualAgentEnvironment.kt",
        "extension" : "kt",
        "linesOfCode" : 104,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 87,
      "startLine" : 90,
      "endLine" : 96,
      "cleanedStartLine" : 64,
      "cleanedEndLine" : 70
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-event-handler/src/jvmTest/kotlin/ai/koog/agents/features/eventHandler/feature/EventHandlerTest.kt",
        "extension" : "kt",
        "linesOfCode" : 637,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 548,
      "startLine" : 82,
      "endLine" : 89,
      "cleanedStartLine" : 35,
      "cleanedEndLine" : 41
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-event-handler/src/jvmTest/kotlin/ai/koog/agents/features/eventHandler/feature/EventHandlerTest.kt",
        "extension" : "kt",
        "linesOfCode" : 637,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 548,
      "startLine" : 287,
      "endLine" : 294,
      "cleanedStartLine" : 208,
      "cleanedEndLine" : 214
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/commonTest/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicSerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 335,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 278,
      "startLine" : 44,
      "endLine" : 54,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 21
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/commonTest/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicSerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 335,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 278,
      "startLine" : 214,
      "endLine" : 224,
      "cleanedStartLine" : 154,
      "cleanedEndLine" : 160
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerTest.kt",
        "extension" : "kt",
        "linesOfCode" : 521,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 437,
      "startLine" : 354,
      "endLine" : 360,
      "cleanedStartLine" : 238,
      "cleanedEndLine" : 244
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageRemoteWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 816,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 671,
      "startLine" : 409,
      "endLine" : 415,
      "cleanedStartLine" : 250,
      "cleanedEndLine" : 256
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/model/events/toolExecutionEvents.kt",
        "extension" : "kt",
        "linesOfCode" : 176,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 165,
      "startLine" : 144,
      "endLine" : 150,
      "cleanedStartLine" : 74,
      "cleanedEndLine" : 80
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/model/events/toolExecutionEvents.kt",
        "extension" : "kt",
        "linesOfCode" : 176,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 165,
      "startLine" : 204,
      "endLine" : 210,
      "cleanedStartLine" : 111,
      "cleanedEndLine" : 117
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipeline.kt",
        "extension" : "kt",
        "linesOfCode" : 448,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 394,
      "startLine" : 128,
      "endLine" : 134,
      "cleanedStartLine" : 18,
      "cleanedEndLine" : 24
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 846,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 674,
      "startLine" : 192,
      "endLine" : 198,
      "cleanedStartLine" : 70,
      "cleanedEndLine" : 76
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-memory/src/jvmTest/kotlin/ai/koog/agents/memory/AIAgentMemoryTest.kt",
        "extension" : "kt",
        "linesOfCode" : 470,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 399,
      "startLine" : 183,
      "endLine" : 189,
      "cleanedStartLine" : 101,
      "cleanedEndLine" : 107
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-memory/src/jvmTest/kotlin/ai/koog/agents/memory/feature/RetrieveFactsFromHistoryTest.kt",
        "extension" : "kt",
        "linesOfCode" : 194,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 152,
      "startLine" : 237,
      "endLine" : 243,
      "cleanedStartLine" : 128,
      "cleanedEndLine" : 134
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client-base/src/commonTest/kotlin/ai/koog/prompt/executor/clients/openai/base/OpenAICompatibleToolDescriptorConverterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 214,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 181,
      "startLine" : 73,
      "endLine" : 82,
      "cleanedStartLine" : 55,
      "cleanedEndLine" : 61
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client-base/src/commonTest/kotlin/ai/koog/prompt/executor/clients/openai/base/OpenAICompatibleToolDescriptorConverterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 214,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 181,
      "startLine" : 155,
      "endLine" : 165,
      "cleanedStartLine" : 120,
      "cleanedEndLine" : 126
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 328,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 286,
      "startLine" : 130,
      "endLine" : 136,
      "cleanedStartLine" : 65,
      "cleanedEndLine" : 71
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 846,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 674,
      "startLine" : 281,
      "endLine" : 287,
      "cleanedStartLine" : 135,
      "cleanedEndLine" : 141
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-event-handler/src/commonMain/kotlin/ai/koog/agents/features/eventHandler/feature/EventHandlerConfig.kt",
        "extension" : "kt",
        "linesOfCode" : 196,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 156,
      "startLine" : 163,
      "endLine" : 169,
      "cleanedStartLine" : 42,
      "cleanedEndLine" : 48
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-event-handler/src/commonMain/kotlin/ai/koog/agents/features/eventHandler/feature/EventHandlerConfigImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 425,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 305,
      "startLine" : 341,
      "endLine" : 347,
      "cleanedStartLine" : 150,
      "cleanedEndLine" : 156
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 328,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 286,
      "startLine" : 178,
      "endLine" : 184,
      "cleanedStartLine" : 107,
      "cleanedEndLine" : 113
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 846,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 674,
      "startLine" : 401,
      "endLine" : 407,
      "cleanedStartLine" : 241,
      "cleanedEndLine" : 247
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/CheckpointsTests.kt",
        "extension" : "kt",
        "linesOfCode" : 793,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 646,
      "startLine" : 154,
      "endLine" : 163,
      "cleanedStartLine" : 69,
      "cleanedEndLine" : 75
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/SubgraphSetExecutionPointTest.kt",
        "extension" : "kt",
        "linesOfCode" : 176,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 143,
      "startLine" : 57,
      "endLine" : 66,
      "cleanedStartLine" : 36,
      "cleanedEndLine" : 42
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client-base/src/commonTest/kotlin/ai/koog/prompt/executor/clients/openai/base/OpenAICompatibleToolDescriptorConverterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 214,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 181,
      "startLine" : 73,
      "endLine" : 82,
      "cleanedStartLine" : 55,
      "cleanedEndLine" : 61
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client-base/src/commonTest/kotlin/ai/koog/prompt/executor/clients/openai/base/OpenAICompatibleToolDescriptorConverterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 214,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 181,
      "startLine" : 206,
      "endLine" : 215,
      "cleanedStartLine" : 160,
      "cleanedEndLine" : 166
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/utils/SerializationUtilsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 478,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 413,
      "startLine" : 48,
      "endLine" : 55,
      "cleanedStartLine" : 14,
      "cleanedEndLine" : 20
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/utils/SerializationUtilsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 478,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 413,
      "startLine" : 538,
      "endLine" : 545,
      "cleanedStartLine" : 362,
      "cleanedEndLine" : 368
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/CheckpointsTests.kt",
        "extension" : "kt",
        "linesOfCode" : 793,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 646,
      "startLine" : 154,
      "endLine" : 163,
      "cleanedStartLine" : 69,
      "cleanedEndLine" : 75
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/SubgraphSetExecutionPointTest.kt",
        "extension" : "kt",
        "linesOfCode" : 176,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 143,
      "startLine" : 85,
      "endLine" : 94,
      "cleanedStartLine" : 59,
      "cleanedEndLine" : 65
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/feature/AIAgentPipelineTest.kt",
        "extension" : "kt",
        "linesOfCode" : 736,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 595,
      "startLine" : 396,
      "endLine" : 404,
      "cleanedStartLine" : 243,
      "cleanedEndLine" : 249
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/feature/AIAgentPipelineTest.kt",
        "extension" : "kt",
        "linesOfCode" : 736,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 595,
      "startLine" : 666,
      "endLine" : 674,
      "cleanedStartLine" : 433,
      "cleanedEndLine" : 439
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/CheckpointsTests.kt",
        "extension" : "kt",
        "linesOfCode" : 793,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 646,
      "startLine" : 154,
      "endLine" : 163,
      "cleanedStartLine" : 69,
      "cleanedEndLine" : 75
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/SubgraphSetExecutionPointTest.kt",
        "extension" : "kt",
        "linesOfCode" : 176,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 143,
      "startLine" : 110,
      "endLine" : 119,
      "cleanedStartLine" : 79,
      "cleanedEndLine" : 85
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-event-handler/src/commonMain/kotlin/ai/koog/agents/features/eventHandler/feature/EventHandlerConfig.kt",
        "extension" : "kt",
        "linesOfCode" : 196,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 156,
      "startLine" : 190,
      "endLine" : 196,
      "cleanedStartLine" : 65,
      "cleanedEndLine" : 71
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-event-handler/src/commonMain/kotlin/ai/koog/agents/features/eventHandler/feature/EventHandlerConfigAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 195,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 156,
      "startLine" : 331,
      "endLine" : 337,
      "cleanedStartLine" : 65,
      "cleanedEndLine" : 71
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-event-handler/src/commonMain/kotlin/ai/koog/agents/features/eventHandler/feature/EventHandlerConfigAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 195,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 156,
      "startLine" : 391,
      "endLine" : 397,
      "cleanedStartLine" : 101,
      "cleanedEndLine" : 107
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-event-handler/src/commonMain/kotlin/ai/koog/agents/features/eventHandler/feature/EventHandlerConfigImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 425,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 305,
      "startLine" : 430,
      "endLine" : 436,
      "cleanedStartLine" : 219,
      "cleanedEndLine" : 225
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/wasmJsMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentGraphPipeline.kt",
        "extension" : "kt",
        "linesOfCode" : 26,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 19,
      "startLine" : 21,
      "endLine" : 27,
      "cleanedStartLine" : 12,
      "cleanedEndLine" : 18
    }, {
      "file" : {
        "relativePath" : "agents/agents-planner/src/commonMain/kotlin/ai/koog/agents/planner/AIAgentPlannerPipeline.kt",
        "extension" : "kt",
        "linesOfCode" : 19,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 13,
      "startLine" : 25,
      "endLine" : 31,
      "cleanedStartLine" : 6,
      "cleanedEndLine" : 12
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipeline.kt",
        "extension" : "kt",
        "linesOfCode" : 448,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 394,
      "startLine" : 332,
      "endLine" : 338,
      "cleanedStartLine" : 100,
      "cleanedEndLine" : 106
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 846,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 674,
      "startLine" : 401,
      "endLine" : 407,
      "cleanedStartLine" : 241,
      "cleanedEndLine" : 247
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryAgentSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 148,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 126,
      "startLine" : 62,
      "endLine" : 68,
      "cleanedStartLine" : 33,
      "cleanedEndLine" : 39
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetrySpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 256,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 224,
      "startLine" : 274,
      "endLine" : 280,
      "cleanedStartLine" : 210,
      "cleanedEndLine" : 216
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/CheckpointsTests.kt",
        "extension" : "kt",
        "linesOfCode" : 793,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 646,
      "startLine" : 154,
      "endLine" : 163,
      "cleanedStartLine" : 69,
      "cleanedEndLine" : 75
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/SubgraphSetExecutionPointTest.kt",
        "extension" : "kt",
        "linesOfCode" : 176,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 143,
      "startLine" : 33,
      "endLine" : 42,
      "cleanedStartLine" : 17,
      "cleanedEndLine" : 23
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerSubgraphTest.kt",
        "extension" : "kt",
        "linesOfCode" : 262,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 194,
      "startLine" : 134,
      "endLine" : 142,
      "cleanedStartLine" : 62,
      "cleanedEndLine" : 68
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerSubgraphTest.kt",
        "extension" : "kt",
        "linesOfCode" : 262,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 194,
      "startLine" : 272,
      "endLine" : 280,
      "cleanedStartLine" : 156,
      "cleanedEndLine" : 162
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/openai/models/OpenAIChatCompletionRequestSerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 149,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 109,
      "startLine" : 65,
      "endLine" : 74,
      "cleanedStartLine" : 38,
      "cleanedEndLine" : 44
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/openai/models/OpenAIResponsesAPIRequestSerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 233,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 194,
      "startLine" : 68,
      "endLine" : 77,
      "cleanedStartLine" : 43,
      "cleanedEndLine" : 49
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/agent/FunctionalAIAgentTest.kt",
        "extension" : "kt",
        "linesOfCode" : 674,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 581,
      "startLine" : 666,
      "endLine" : 674,
      "cleanedStartLine" : 490,
      "cleanedEndLine" : 496
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/agent/FunctionalAIAgentTest.kt",
        "extension" : "kt",
        "linesOfCode" : 674,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 581,
      "startLine" : 702,
      "endLine" : 710,
      "cleanedStartLine" : 516,
      "cleanedEndLine" : 522
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-a2a-core/src/commonTest/kotlin/ai/koog/agents/a2a/core/MessageConvertersTest.kt",
        "extension" : "kt",
        "linesOfCode" : 211,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 182,
      "startLine" : 108,
      "endLine" : 114,
      "cleanedStartLine" : 74,
      "cleanedEndLine" : 80
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-a2a-core/src/commonTest/kotlin/ai/koog/agents/a2a/core/MessageConvertersTest.kt",
        "extension" : "kt",
        "linesOfCode" : 211,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 182,
      "startLine" : 200,
      "endLine" : 206,
      "cleanedStartLine" : 157,
      "cleanedEndLine" : 163
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 328,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 286,
      "startLine" : 178,
      "endLine" : 184,
      "cleanedStartLine" : 107,
      "cleanedEndLine" : 113
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 846,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 674,
      "startLine" : 324,
      "endLine" : 330,
      "cleanedStartLine" : 170,
      "cleanedEndLine" : 176
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/androidMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 87,
      "endLine" : 93,
      "cleanedStartLine" : 68,
      "cleanedEndLine" : 74
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/androidMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 142,
      "endLine" : 148,
      "cleanedStartLine" : 121,
      "cleanedEndLine" : 127
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetrySpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 256,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 224,
      "startLine" : 121,
      "endLine" : 127,
      "cleanedStartLine" : 67,
      "cleanedEndLine" : 73
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetrySubgraphTest.kt",
        "extension" : "kt",
        "linesOfCode" : 334,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 313,
      "startLine" : 111,
      "endLine" : 117,
      "cleanedStartLine" : 85,
      "cleanedEndLine" : 91
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-event-handler/src/commonMain/kotlin/ai/koog/agents/features/eventHandler/feature/EventHandlerConfig.kt",
        "extension" : "kt",
        "linesOfCode" : 196,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 156,
      "startLine" : 163,
      "endLine" : 169,
      "cleanedStartLine" : 42,
      "cleanedEndLine" : 48
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-event-handler/src/commonMain/kotlin/ai/koog/agents/features/eventHandler/feature/EventHandlerConfigAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 195,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 156,
      "startLine" : 291,
      "endLine" : 297,
      "cleanedStartLine" : 42,
      "cleanedEndLine" : 48
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/src/jvmTest/kotlin/dashscope/DashscopeLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 255,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 196,
      "startLine" : 157,
      "endLine" : 165,
      "cleanedStartLine" : 96,
      "cleanedEndLine" : 102
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/mistralai/MistralAILLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 295,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 232,
      "startLine" : 180,
      "endLine" : 188,
      "cleanedStartLine" : 117,
      "cleanedEndLine" : 123
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipeline.kt",
        "extension" : "kt",
        "linesOfCode" : 448,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 394,
      "startLine" : 332,
      "endLine" : 338,
      "cleanedStartLine" : 100,
      "cleanedEndLine" : 106
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 846,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 674,
      "startLine" : 324,
      "endLine" : 330,
      "cleanedStartLine" : 170,
      "cleanedEndLine" : 176
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmMain/kotlin/ai/koog/prompt/executor/clients/bedrock/modelfamilies/meta/LlamaDataModels.kt",
        "extension" : "kt",
        "linesOfCode" : 34,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 26,
      "endLine" : 32,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 21
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmMain/kotlin/ai/koog/prompt/executor/clients/bedrock/modelfamilies/meta/LlamaDataModels.kt",
        "extension" : "kt",
        "linesOfCode" : 34,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 41,
      "endLine" : 47,
      "cleanedStartLine" : 26,
      "cleanedEndLine" : 32
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerStreamingTest.kt",
        "extension" : "kt",
        "linesOfCode" : 347,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 262,
      "startLine" : 185,
      "endLine" : 191,
      "cleanedStartLine" : 87,
      "cleanedEndLine" : 93
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerStreamingTest.kt",
        "extension" : "kt",
        "linesOfCode" : 347,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 262,
      "startLine" : 203,
      "endLine" : 209,
      "cleanedStartLine" : 105,
      "cleanedEndLine" : 111
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/context/AIAgentFunctionalContext.kt",
        "extension" : "kt",
        "linesOfCode" : 179,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 153,
      "startLine" : 229,
      "endLine" : 235,
      "cleanedStartLine" : 123,
      "cleanedEndLine" : 129
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/wasmJsMain/kotlin/ai/koog/agents/core/agent/context/AIAgentFunctionalContext.kt",
        "extension" : "kt",
        "linesOfCode" : 100,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 87,
      "startLine" : 60,
      "endLine" : 66,
      "cleanedStartLine" : 42,
      "cleanedEndLine" : 48
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageLogWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 480,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 396,
      "startLine" : 143,
      "endLine" : 152,
      "cleanedStartLine" : 66,
      "cleanedEndLine" : 72
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageLogWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 480,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 396,
      "startLine" : 487,
      "endLine" : 496,
      "cleanedStartLine" : 339,
      "cleanedEndLine" : 345
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerStreamingTest.kt",
        "extension" : "kt",
        "linesOfCode" : 347,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 262,
      "startLine" : 281,
      "endLine" : 289,
      "cleanedStartLine" : 160,
      "cleanedEndLine" : 166
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageTestWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 623,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 501,
      "startLine" : 470,
      "endLine" : 478,
      "cleanedStartLine" : 304,
      "cleanedEndLine" : 310
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-event-handler/src/jvmTest/kotlin/ai/koog/agents/features/eventHandler/feature/EventHandlerTest.kt",
        "extension" : "kt",
        "linesOfCode" : 637,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 548,
      "startLine" : 194,
      "endLine" : 200,
      "cleanedStartLine" : 123,
      "cleanedEndLine" : 129
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-event-handler/src/jvmTest/kotlin/ai/koog/agents/features/eventHandler/feature/EventHandlerTest.kt",
        "extension" : "kt",
        "linesOfCode" : 637,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 548,
      "startLine" : 312,
      "endLine" : 318,
      "cleanedStartLine" : 226,
      "cleanedEndLine" : 232
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jsMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 142,
      "endLine" : 148,
      "cleanedStartLine" : 121,
      "cleanedEndLine" : 127
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 156,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 141,
      "startLine" : 131,
      "endLine" : 137,
      "cleanedStartLine" : 80,
      "cleanedEndLine" : 86
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/event/AssistantMessageEventTest.kt",
        "extension" : "kt",
        "linesOfCode" : 102,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 85,
      "startLine" : 47,
      "endLine" : 55,
      "cleanedStartLine" : 22,
      "cleanedEndLine" : 28
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/event/AssistantMessageEventTest.kt",
        "extension" : "kt",
        "linesOfCode" : 102,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 85,
      "startLine" : 113,
      "endLine" : 121,
      "cleanedStartLine" : 68,
      "cleanedEndLine" : 74
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-ext/src/jvmTest/kotlin/ai/koog/agents/ext/tool/shell/ExecuteShellCommandToolJvmTest.kt",
        "extension" : "kt",
        "linesOfCode" : 335,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 287,
      "startLine" : 75,
      "endLine" : 84,
      "cleanedStartLine" : 37,
      "cleanedEndLine" : 43
    }, {
      "file" : {
        "relativePath" : "agents/agents-ext/src/jvmTest/kotlin/ai/koog/agents/ext/tool/shell/ExecuteShellCommandToolJvmTest.kt",
        "extension" : "kt",
        "linesOfCode" : 335,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 287,
      "startLine" : 95,
      "endLine" : 104,
      "cleanedStartLine" : 52,
      "cleanedEndLine" : 58
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-test/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 31,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 1,
      "endLine" : 9,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 7
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 34,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 24,
      "startLine" : 6,
      "endLine" : 14,
      "cleanedStartLine" : 3,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/weave/WeaveTraceStructureTest.kt",
        "extension" : "kt",
        "linesOfCode" : 270,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 257,
      "startLine" : 185,
      "endLine" : 191,
      "cleanedStartLine" : 159,
      "cleanedEndLine" : 165
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/weave/WeaveTraceStructureTest.kt",
        "extension" : "kt",
        "linesOfCode" : 270,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 257,
      "startLine" : 268,
      "endLine" : 274,
      "cleanedStartLine" : 235,
      "cleanedEndLine" : 241
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/debugger/Debugger.kt",
        "extension" : "kt",
        "linesOfCode" : 399,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 318,
      "startLine" : 344,
      "endLine" : 350,
      "cleanedStartLine" : 189,
      "cleanedEndLine" : 195
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/debugger/Debugger.kt",
        "extension" : "kt",
        "linesOfCode" : 399,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 318,
      "startLine" : 360,
      "endLine" : 366,
      "cleanedStartLine" : 203,
      "cleanedEndLine" : 209
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/agent/FunctionalAIAgentTest.kt",
        "extension" : "kt",
        "linesOfCode" : 674,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 581,
      "startLine" : 119,
      "endLine" : 128,
      "cleanedStartLine" : 68,
      "cleanedEndLine" : 74
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/agent/SingleRunStrategyTests.kt",
        "extension" : "kt",
        "linesOfCode" : 234,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 186,
      "startLine" : 176,
      "endLine" : 185,
      "cleanedStartLine" : 109,
      "cleanedEndLine" : 115
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jsMain/kotlin/ai/koog/agents/core/agent/context/AIAgentLLMContext.kt",
        "extension" : "kt",
        "linesOfCode" : 32,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 23,
      "endLine" : 29,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmMain/kotlin/ai/koog/agents/core/agent/context/AIAgentLLMContext.kt",
        "extension" : "kt",
        "linesOfCode" : 82,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 59,
      "startLine" : 101,
      "endLine" : 107,
      "cleanedStartLine" : 51,
      "cleanedEndLine" : 57
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/debugger/Debugger.kt",
        "extension" : "kt",
        "linesOfCode" : 399,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 318,
      "startLine" : 344,
      "endLine" : 350,
      "cleanedStartLine" : 189,
      "cleanedEndLine" : 195
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/debugger/Debugger.kt",
        "extension" : "kt",
        "linesOfCode" : 399,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 318,
      "startLine" : 375,
      "endLine" : 381,
      "cleanedStartLine" : 216,
      "cleanedEndLine" : 222
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerStreamingTest.kt",
        "extension" : "kt",
        "linesOfCode" : 347,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 262,
      "startLine" : 123,
      "endLine" : 129,
      "cleanedStartLine" : 43,
      "cleanedEndLine" : 49
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerStreamingTest.kt",
        "extension" : "kt",
        "linesOfCode" : 347,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 262,
      "startLine" : 319,
      "endLine" : 325,
      "cleanedStartLine" : 184,
      "cleanedEndLine" : 190
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rag/rag-base/src/jvmTest/kotlin/ai/koog/rag/base/files/JVMFileSystemProviderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 933,
        "components" : [ "primary::rag" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 724,
      "startLine" : 900,
      "endLine" : 908,
      "cleanedStartLine" : 576,
      "cleanedEndLine" : 582
    }, {
      "file" : {
        "relativePath" : "rag/rag-base/src/jvmTest/kotlin/ai/koog/rag/base/files/JVMFileSystemProviderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 933,
        "components" : [ "primary::rag" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 724,
      "startLine" : 1032,
      "endLine" : 1040,
      "cleanedStartLine" : 671,
      "cleanedEndLine" : 677
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentGraphPipelineAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 94,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 81,
      "startLine" : 69,
      "endLine" : 75,
      "cleanedStartLine" : 40,
      "cleanedEndLine" : 46
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentGraphPipelineImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 181,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 142,
      "startLine" : 110,
      "endLine" : 116,
      "cleanedStartLine" : 59,
      "cleanedEndLine" : 65
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-test/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 31,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 1,
      "endLine" : 9,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 7
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-a2a-core/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 31,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 6,
      "endLine" : 14,
      "cleanedStartLine" : 3,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-core/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 40,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 27,
      "endLine" : 36,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 22
    }, {
      "file" : {
        "relativePath" : "agents/agents-tools/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 38,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 28,
      "endLine" : 37,
      "cleanedStartLine" : 17,
      "cleanedEndLine" : 23
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/agent/FunctionalAIAgentTest.kt",
        "extension" : "kt",
        "linesOfCode" : 674,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 581,
      "startLine" : 62,
      "endLine" : 71,
      "cleanedStartLine" : 30,
      "cleanedEndLine" : 36
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/agent/FunctionalAIAgentTest.kt",
        "extension" : "kt",
        "linesOfCode" : 674,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 581,
      "startLine" : 512,
      "endLine" : 521,
      "cleanedStartLine" : 374,
      "cleanedEndLine" : 380
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-core/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 40,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 27,
      "endLine" : 36,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 22
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-a2a-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 32,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 23,
      "endLine" : 32,
      "cleanedStartLine" : 14,
      "cleanedEndLine" : 20
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/dsl/extension/HistoryCompressionStrategies.kt",
        "extension" : "kt",
        "linesOfCode" : 144,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 117,
      "startLine" : 240,
      "endLine" : 246,
      "cleanedStartLine" : 82,
      "cleanedEndLine" : 88
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/dsl/extension/HistoryCompressionStrategies.kt",
        "extension" : "kt",
        "linesOfCode" : 144,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 117,
      "startLine" : 275,
      "endLine" : 281,
      "cleanedStartLine" : 96,
      "cleanedEndLine" : 102
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 486,
      "endLine" : 492,
      "cleanedStartLine" : 262,
      "cleanedEndLine" : 268
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 545,
      "endLine" : 551,
      "cleanedStartLine" : 295,
      "cleanedEndLine" : 301
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-test/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 31,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 1,
      "endLine" : 9,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 7
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 46,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 34,
      "startLine" : 6,
      "endLine" : 14,
      "cleanedStartLine" : 3,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/modelfamilies/amazon/BedrockAmazonNovaSerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 311,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 238,
      "startLine" : 290,
      "endLine" : 296,
      "cleanedStartLine" : 180,
      "cleanedEndLine" : 186
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/modelfamilies/anthropic/BedrockAnthropicClaudeSerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 437,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 346,
      "startLine" : 462,
      "endLine" : 468,
      "cleanedStartLine" : 323,
      "cleanedEndLine" : 329
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 456,
      "endLine" : 462,
      "cleanedStartLine" : 243,
      "cleanedEndLine" : 249
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 547,
      "endLine" : 553,
      "cleanedStartLine" : 297,
      "cleanedEndLine" : 303
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/SubgraphCheckpointsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 183,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 146,
      "startLine" : 123,
      "endLine" : 133,
      "cleanedStartLine" : 82,
      "cleanedEndLine" : 88
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/SubgraphSetExecutionPointTest.kt",
        "extension" : "kt",
        "linesOfCode" : 176,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 143,
      "startLine" : 110,
      "endLine" : 119,
      "cleanedStartLine" : 79,
      "cleanedEndLine" : 85
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/ext/agent/AIAgentSubgraphExt.kt",
        "extension" : "kt",
        "linesOfCode" : 376,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 310,
      "startLine" : 201,
      "endLine" : 207,
      "cleanedStartLine" : 64,
      "cleanedEndLine" : 70
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/ext/agent/AIAgentSubgraphExt.kt",
        "extension" : "kt",
        "linesOfCode" : 376,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 310,
      "startLine" : 241,
      "endLine" : 247,
      "cleanedStartLine" : 86,
      "cleanedEndLine" : 92
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/androidMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 142,
      "endLine" : 148,
      "cleanedStartLine" : 121,
      "cleanedEndLine" : 127
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/appleMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 87,
      "endLine" : 93,
      "cleanedStartLine" : 68,
      "cleanedEndLine" : 74
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/modelfamilies/ai21/BedrockAI21JambaSerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 224,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 176,
      "startLine" : 186,
      "endLine" : 194,
      "cleanedStartLine" : 112,
      "cleanedEndLine" : 118
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/modelfamilies/ai21/BedrockAI21JambaSerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 224,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 176,
      "startLine" : 228,
      "endLine" : 236,
      "cleanedStartLine" : 141,
      "cleanedEndLine" : 147
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/feature/AIAgentPipelineTest.kt",
        "extension" : "kt",
        "linesOfCode" : 736,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 595,
      "startLine" : 246,
      "endLine" : 255,
      "cleanedStartLine" : 137,
      "cleanedEndLine" : 143
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/feature/AIAgentPipelineTest.kt",
        "extension" : "kt",
        "linesOfCode" : 736,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 595,
      "startLine" : 576,
      "endLine" : 585,
      "cleanedStartLine" : 370,
      "cleanedEndLine" : 376
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/SubgraphCheckpointsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 183,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 146,
      "startLine" : 123,
      "endLine" : 133,
      "cleanedStartLine" : 82,
      "cleanedEndLine" : 88
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/SubgraphSetExecutionPointTest.kt",
        "extension" : "kt",
        "linesOfCode" : 176,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 143,
      "startLine" : 57,
      "endLine" : 66,
      "cleanedStartLine" : 36,
      "cleanedEndLine" : 42
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 156,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 141,
      "startLine" : 186,
      "endLine" : 192,
      "cleanedStartLine" : 133,
      "cleanedEndLine" : 139
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/wasmJsMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 87,
      "endLine" : 93,
      "cleanedStartLine" : 68,
      "cleanedEndLine" : 74
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/SubgraphCheckpointsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 183,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 146,
      "startLine" : 123,
      "endLine" : 133,
      "cleanedStartLine" : 82,
      "cleanedEndLine" : 88
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/SubgraphSetExecutionPointTest.kt",
        "extension" : "kt",
        "linesOfCode" : 176,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 143,
      "startLine" : 85,
      "endLine" : 94,
      "cleanedStartLine" : 59,
      "cleanedEndLine" : 65
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/feature/AIAgentPipelineTest.kt",
        "extension" : "kt",
        "linesOfCode" : 736,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 595,
      "startLine" : 246,
      "endLine" : 255,
      "cleanedStartLine" : 137,
      "cleanedEndLine" : 143
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/feature/AIAgentPipelineTest.kt",
        "extension" : "kt",
        "linesOfCode" : 736,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 595,
      "startLine" : 528,
      "endLine" : 537,
      "cleanedStartLine" : 336,
      "cleanedEndLine" : 342
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/feature/AIAgentPipelineTest.kt",
        "extension" : "kt",
        "linesOfCode" : 736,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 595,
      "startLine" : 93,
      "endLine" : 101,
      "cleanedStartLine" : 27,
      "cleanedEndLine" : 33
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/feature/AIAgentPipelineTest.kt",
        "extension" : "kt",
        "linesOfCode" : 736,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 595,
      "startLine" : 149,
      "endLine" : 157,
      "cleanedStartLine" : 68,
      "cleanedEndLine" : 74
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryNodeExecuteSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 307,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 276,
      "startLine" : 133,
      "endLine" : 139,
      "cleanedStartLine" : 96,
      "cleanedEndLine" : 102
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetrySpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 256,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 224,
      "startLine" : 215,
      "endLine" : 221,
      "cleanedStartLine" : 155,
      "cleanedEndLine" : 161
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/SubgraphCheckpointsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 183,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 146,
      "startLine" : 123,
      "endLine" : 133,
      "cleanedStartLine" : 82,
      "cleanedEndLine" : 88
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/SubgraphSetExecutionPointTest.kt",
        "extension" : "kt",
        "linesOfCode" : 176,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 143,
      "startLine" : 33,
      "endLine" : 42,
      "cleanedStartLine" : 17,
      "cleanedEndLine" : 23
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/feature/message/FeatureMessageProcessorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 313,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 270,
      "startLine" : 284,
      "endLine" : 290,
      "cleanedStartLine" : 181,
      "cleanedEndLine" : 187
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/feature/message/FeatureMessageProcessorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 313,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 270,
      "startLine" : 296,
      "endLine" : 302,
      "cleanedStartLine" : 191,
      "cleanedEndLine" : 197
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 328,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 286,
      "startLine" : 215,
      "endLine" : 221,
      "cleanedStartLine" : 139,
      "cleanedEndLine" : 145
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 846,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 674,
      "startLine" : 444,
      "endLine" : 450,
      "cleanedStartLine" : 276,
      "cleanedEndLine" : 282
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentGraphPipeline.kt",
        "extension" : "kt",
        "linesOfCode" : 107,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 90,
      "startLine" : 85,
      "endLine" : 91,
      "cleanedStartLine" : 22,
      "cleanedEndLine" : 28
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentGraphPipelineImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 181,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 142,
      "startLine" : 65,
      "endLine" : 71,
      "cleanedStartLine" : 24,
      "cleanedEndLine" : 30
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/TraceStructureTestBase.kt",
        "extension" : "kt",
        "linesOfCode" : 802,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 688,
      "startLine" : 632,
      "endLine" : 638,
      "cleanedStartLine" : 443,
      "cleanedEndLine" : 449
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/weave/WeaveTraceStructureTest.kt",
        "extension" : "kt",
        "linesOfCode" : 270,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 257,
      "startLine" : 208,
      "endLine" : 214,
      "cleanedStartLine" : 178,
      "cleanedEndLine" : 184
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/TraceStructureTestBase.kt",
        "extension" : "kt",
        "linesOfCode" : 802,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 688,
      "startLine" : 632,
      "endLine" : 638,
      "cleanedStartLine" : 443,
      "cleanedEndLine" : 449
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/weave/WeaveTraceStructureTest.kt",
        "extension" : "kt",
        "linesOfCode" : 270,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 257,
      "startLine" : 150,
      "endLine" : 156,
      "cleanedStartLine" : 125,
      "cleanedEndLine" : 131
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-test/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 31,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 1,
      "endLine" : 9,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 7
    }, {
      "file" : {
        "relativePath" : "agents/agents-utils/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 28,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 6,
      "endLine" : 14,
      "cleanedStartLine" : 3,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 328,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 286,
      "startLine" : 140,
      "endLine" : 146,
      "cleanedStartLine" : 74,
      "cleanedEndLine" : 80
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 846,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 674,
      "startLine" : 294,
      "endLine" : 300,
      "cleanedStartLine" : 146,
      "cleanedEndLine" : 152
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/agent/SingleRunStrategyTests.kt",
        "extension" : "kt",
        "linesOfCode" : 234,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 186,
      "startLine" : 240,
      "endLine" : 250,
      "cleanedStartLine" : 153,
      "cleanedEndLine" : 159
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/agent/SingleRunStrategyTests.kt",
        "extension" : "kt",
        "linesOfCode" : 234,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 186,
      "startLine" : 280,
      "endLine" : 290,
      "cleanedStartLine" : 180,
      "cleanedEndLine" : 186
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 456,
      "endLine" : 462,
      "cleanedStartLine" : 243,
      "cleanedEndLine" : 249
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 579,
      "endLine" : 585,
      "cleanedStartLine" : 317,
      "cleanedEndLine" : 323
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 196,
      "endLine" : 202,
      "cleanedStartLine" : 84,
      "cleanedEndLine" : 90
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 547,
      "endLine" : 553,
      "cleanedStartLine" : 297,
      "cleanedEndLine" : 303
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-memory/src/jvmTest/kotlin/ai/koog/agents/memory/feature/RetrieveFactsFromHistoryTest.kt",
        "extension" : "kt",
        "linesOfCode" : 194,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 152,
      "startLine" : 104,
      "endLine" : 110,
      "cleanedStartLine" : 49,
      "cleanedEndLine" : 55
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-memory/src/jvmTest/kotlin/ai/koog/agents/memory/feature/RetrieveFactsFromHistoryTest.kt",
        "extension" : "kt",
        "linesOfCode" : 194,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 152,
      "startLine" : 237,
      "endLine" : 243,
      "cleanedStartLine" : 128,
      "cleanedEndLine" : 134
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/androidMain/kotlin/ai/koog/agents/core/agent/context/AIAgentFunctionalContext.kt",
        "extension" : "kt",
        "linesOfCode" : 100,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 87,
      "startLine" : 60,
      "endLine" : 66,
      "cleanedStartLine" : 42,
      "cleanedEndLine" : 48
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/context/AIAgentFunctionalContext.kt",
        "extension" : "kt",
        "linesOfCode" : 179,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 153,
      "startLine" : 229,
      "endLine" : 235,
      "cleanedStartLine" : 123,
      "cleanedEndLine" : 129
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 456,
      "endLine" : 462,
      "cleanedStartLine" : 243,
      "cleanedEndLine" : 249
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 610,
      "endLine" : 616,
      "cleanedStartLine" : 336,
      "cleanedEndLine" : 342
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetrySpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 256,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 224,
      "startLine" : 121,
      "endLine" : 127,
      "cleanedStartLine" : 67,
      "cleanedEndLine" : 73
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetrySpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 256,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 224,
      "startLine" : 215,
      "endLine" : 221,
      "cleanedStartLine" : 155,
      "cleanedEndLine" : 161
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-mcp/src/commonTest/kotlin/ai/koog/agents/mcp/DefaultMcpToolDescriptorParserTest.kt",
        "extension" : "kt",
        "linesOfCode" : 726,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 614,
      "startLine" : 33,
      "endLine" : 43,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "agents/agents-mcp/src/commonTest/kotlin/ai/koog/agents/mcp/DefaultMcpToolDescriptorParserTest.kt",
        "extension" : "kt",
        "linesOfCode" : 726,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 614,
      "startLine" : 713,
      "endLine" : 723,
      "cleanedStartLine" : 513,
      "cleanedEndLine" : 519
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/SubgraphCheckpointsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 183,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 146,
      "startLine" : 123,
      "endLine" : 133,
      "cleanedStartLine" : 82,
      "cleanedEndLine" : 88
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/SubgraphSetExecutionPointTest.kt",
        "extension" : "kt",
        "linesOfCode" : 176,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 143,
      "startLine" : 137,
      "endLine" : 146,
      "cleanedStartLine" : 101,
      "cleanedEndLine" : 107
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/agent/FunctionalAIAgentTest.kt",
        "extension" : "kt",
        "linesOfCode" : 674,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 581,
      "startLine" : 119,
      "endLine" : 128,
      "cleanedStartLine" : 68,
      "cleanedEndLine" : 74
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/agent/SingleRunStrategyTests.kt",
        "extension" : "kt",
        "linesOfCode" : 234,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 186,
      "startLine" : 137,
      "endLine" : 146,
      "cleanedStartLine" : 83,
      "cleanedEndLine" : 89
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/SubgraphCheckpointsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 183,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 146,
      "startLine" : 123,
      "endLine" : 133,
      "cleanedStartLine" : 82,
      "cleanedEndLine" : 88
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/SubgraphSetExecutionPointTest.kt",
        "extension" : "kt",
        "linesOfCode" : 176,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 143,
      "startLine" : 164,
      "endLine" : 173,
      "cleanedStartLine" : 123,
      "cleanedEndLine" : 129
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 486,
      "endLine" : 492,
      "cleanedStartLine" : 262,
      "cleanedEndLine" : 268
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 577,
      "endLine" : 583,
      "cleanedStartLine" : 315,
      "cleanedEndLine" : 321
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-memory/src/jvmTest/kotlin/ai/koog/agents/memory/feature/RetrieveFactsFromHistoryTest.kt",
        "extension" : "kt",
        "linesOfCode" : 194,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 152,
      "startLine" : 60,
      "endLine" : 66,
      "cleanedStartLine" : 21,
      "cleanedEndLine" : 27
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-memory/src/jvmTest/kotlin/ai/koog/agents/memory/feature/RetrieveFactsFromHistoryTest.kt",
        "extension" : "kt",
        "linesOfCode" : 194,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 152,
      "startLine" : 237,
      "endLine" : 243,
      "cleanedStartLine" : 128,
      "cleanedEndLine" : 134
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 486,
      "endLine" : 492,
      "cleanedStartLine" : 262,
      "cleanedEndLine" : 268
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 608,
      "endLine" : 614,
      "cleanedStartLine" : 334,
      "cleanedEndLine" : 340
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rag/vector-storage/src/commonTest/kotlin/ai/koog/rag/vector/FileDocumentEmbeddingStorageTest.kt",
        "extension" : "kt",
        "linesOfCode" : 114,
        "components" : [ "primary::rag" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 90,
      "startLine" : 67,
      "endLine" : 75,
      "cleanedStartLine" : 34,
      "cleanedEndLine" : 40
    }, {
      "file" : {
        "relativePath" : "rag/vector-storage/src/jvmTest/kotlin/ai/koog/rag/vector/JVMFileDocumentEmbeddingStorageTest.kt",
        "extension" : "kt",
        "linesOfCode" : 184,
        "components" : [ "primary::rag" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 148,
      "startLine" : 76,
      "endLine" : 84,
      "cleanedStartLine" : 42,
      "cleanedEndLine" : 48
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerTest.kt",
        "extension" : "kt",
        "linesOfCode" : 521,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 437,
      "startLine" : 370,
      "endLine" : 376,
      "cleanedStartLine" : 254,
      "cleanedEndLine" : 260
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerTest.kt",
        "extension" : "kt",
        "linesOfCode" : 521,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 437,
      "startLine" : 405,
      "endLine" : 411,
      "cleanedStartLine" : 289,
      "cleanedEndLine" : 295
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/context/AIAgentFunctionalContextImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 483,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 365,
      "startLine" : 461,
      "endLine" : 467,
      "cleanedStartLine" : 300,
      "cleanedEndLine" : 306
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/context/AIAgentFunctionalContextImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 483,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 365,
      "startLine" : 535,
      "endLine" : 541,
      "cleanedStartLine" : 354,
      "cleanedEndLine" : 360
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerSubgraphTest.kt",
        "extension" : "kt",
        "linesOfCode" : 262,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 194,
      "startLine" : 225,
      "endLine" : 231,
      "cleanedStartLine" : 122,
      "cleanedEndLine" : 128
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerTest.kt",
        "extension" : "kt",
        "linesOfCode" : 521,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 437,
      "startLine" : 167,
      "endLine" : 173,
      "cleanedStartLine" : 72,
      "cleanedEndLine" : 78
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/context/AIAgentLLMContext.kt",
        "extension" : "kt",
        "linesOfCode" : 86,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 72,
      "startLine" : 165,
      "endLine" : 171,
      "cleanedStartLine" : 65,
      "cleanedEndLine" : 71
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jsMain/kotlin/ai/koog/agents/core/agent/context/AIAgentLLMContext.kt",
        "extension" : "kt",
        "linesOfCode" : 32,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 23,
      "endLine" : 29,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 16
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/appleMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 142,
      "endLine" : 148,
      "cleanedStartLine" : 121,
      "cleanedEndLine" : 127
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 156,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 141,
      "startLine" : 131,
      "endLine" : 137,
      "cleanedStartLine" : 80,
      "cleanedEndLine" : 86
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/dsl/extension/HistoryCompressionStrategiesTest.kt",
        "extension" : "kt",
        "linesOfCode" : 419,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 379,
      "startLine" : 278,
      "endLine" : 284,
      "cleanedStartLine" : 230,
      "cleanedEndLine" : 236
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/dsl/extension/HistoryCompressionStrategiesTest.kt",
        "extension" : "kt",
        "linesOfCode" : 419,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 379,
      "startLine" : 313,
      "endLine" : 319,
      "cleanedStartLine" : 264,
      "cleanedEndLine" : 270
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 196,
      "endLine" : 202,
      "cleanedStartLine" : 84,
      "cleanedEndLine" : 90
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 610,
      "endLine" : 616,
      "cleanedStartLine" : 336,
      "cleanedEndLine" : 342
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 196,
      "endLine" : 202,
      "cleanedStartLine" : 84,
      "cleanedEndLine" : 90
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 579,
      "endLine" : 585,
      "cleanedStartLine" : 317,
      "cleanedEndLine" : 323
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/mistralai/models/MistralAISerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 146,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 114,
      "startLine" : 73,
      "endLine" : 83,
      "cleanedStartLine" : 39,
      "cleanedEndLine" : 45
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-ollama-client/src/commonTest/kotlin/ai/koog/prompt/executor/ollama/client/dto/OllamaSerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 154,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 131,
      "startLine" : 76,
      "endLine" : 86,
      "cleanedStartLine" : 47,
      "cleanedEndLine" : 53
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipeline.kt",
        "extension" : "kt",
        "linesOfCode" : 448,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 394,
      "startLine" : 358,
      "endLine" : 364,
      "cleanedStartLine" : 112,
      "cleanedEndLine" : 118
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 328,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 286,
      "startLine" : 154,
      "endLine" : 160,
      "cleanedStartLine" : 85,
      "cleanedEndLine" : 91
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-event-handler/src/commonMain/kotlin/ai/koog/agents/features/eventHandler/feature/EventHandlerConfig.kt",
        "extension" : "kt",
        "linesOfCode" : 196,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 156,
      "startLine" : 199,
      "endLine" : 205,
      "cleanedStartLine" : 73,
      "cleanedEndLine" : 79
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-event-handler/src/commonMain/kotlin/ai/koog/agents/features/eventHandler/feature/EventHandlerConfigImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 425,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 305,
      "startLine" : 387,
      "endLine" : 393,
      "cleanedStartLine" : 186,
      "cleanedEndLine" : 192
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openrouter-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/openrouter/models/OpenRouterSerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 670,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 554,
      "startLine" : 85,
      "endLine" : 95,
      "cleanedStartLine" : 43,
      "cleanedEndLine" : 49
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openrouter-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/openrouter/models/OpenRouterSerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 670,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 554,
      "startLine" : 598,
      "endLine" : 608,
      "cleanedStartLine" : 429,
      "cleanedEndLine" : 435
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/context/AIAgentFunctionalContext.kt",
        "extension" : "kt",
        "linesOfCode" : 179,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 153,
      "startLine" : 229,
      "endLine" : 235,
      "cleanedStartLine" : 123,
      "cleanedEndLine" : 129
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jsMain/kotlin/ai/koog/agents/core/agent/context/AIAgentFunctionalContext.kt",
        "extension" : "kt",
        "linesOfCode" : 100,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 87,
      "startLine" : 60,
      "endLine" : 66,
      "cleanedStartLine" : 42,
      "cleanedEndLine" : 48
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/langfuse/LangfuseTraceStructureTest.kt",
        "extension" : "kt",
        "linesOfCode" : 249,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 236,
      "startLine" : 150,
      "endLine" : 156,
      "cleanedStartLine" : 124,
      "cleanedEndLine" : 130
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/langfuse/LangfuseTraceStructureTest.kt",
        "extension" : "kt",
        "linesOfCode" : 249,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 236,
      "startLine" : 202,
      "endLine" : 208,
      "cleanedStartLine" : 171,
      "cleanedEndLine" : 177
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client-base/src/commonTest/kotlin/ai/koog/prompt/executor/clients/openai/base/OpenAICompatibleToolDescriptorConverterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 214,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 181,
      "startLine" : 113,
      "endLine" : 122,
      "cleanedStartLine" : 87,
      "cleanedEndLine" : 93
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client-base/src/commonTest/kotlin/ai/koog/prompt/executor/clients/openai/base/OpenAICompatibleToolDescriptorConverterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 214,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 181,
      "startLine" : 155,
      "endLine" : 165,
      "cleanedStartLine" : 120,
      "cleanedEndLine" : 126
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 328,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 286,
      "startLine" : 130,
      "endLine" : 136,
      "cleanedStartLine" : 65,
      "cleanedEndLine" : 71
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 846,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 674,
      "startLine" : 430,
      "endLine" : 436,
      "cleanedStartLine" : 264,
      "cleanedEndLine" : 270
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipeline.kt",
        "extension" : "kt",
        "linesOfCode" : 448,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 394,
      "startLine" : 412,
      "endLine" : 418,
      "cleanedStartLine" : 135,
      "cleanedEndLine" : 141
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 846,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 674,
      "startLine" : 281,
      "endLine" : 287,
      "cleanedStartLine" : 135,
      "cleanedEndLine" : 141
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/models/OpenAIResponsesAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 1134,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1035,
      "startLine" : 1826,
      "endLine" : 1841,
      "cleanedStartLine" : 715,
      "cleanedEndLine" : 721
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/models/OpenAIResponsesAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 1134,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1035,
      "startLine" : 1844,
      "endLine" : 1859,
      "cleanedStartLine" : 724,
      "cleanedEndLine" : 730
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-memory/src/jvmTest/kotlin/ai/koog/agents/memory/AIAgentMemoryTest.kt",
        "extension" : "kt",
        "linesOfCode" : 470,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 399,
      "startLine" : 183,
      "endLine" : 189,
      "cleanedStartLine" : 101,
      "cleanedEndLine" : 107
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-memory/src/jvmTest/kotlin/ai/koog/agents/memory/feature/RetrieveFactsFromHistoryTest.kt",
        "extension" : "kt",
        "linesOfCode" : 194,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 152,
      "startLine" : 145,
      "endLine" : 151,
      "cleanedStartLine" : 74,
      "cleanedEndLine" : 80
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/ext/agent/AIAgentSubgraphExt.kt",
        "extension" : "kt",
        "linesOfCode" : 376,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 310,
      "startLine" : 347,
      "endLine" : 353,
      "cleanedStartLine" : 149,
      "cleanedEndLine" : 155
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/ext/agent/AIAgentSubgraphExt.kt",
        "extension" : "kt",
        "linesOfCode" : 376,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 310,
      "startLine" : 397,
      "endLine" : 403,
      "cleanedStartLine" : 175,
      "cleanedEndLine" : 181
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipeline.kt",
        "extension" : "kt",
        "linesOfCode" : 448,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 394,
      "startLine" : 332,
      "endLine" : 338,
      "cleanedStartLine" : 100,
      "cleanedEndLine" : 106
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 328,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 286,
      "startLine" : 154,
      "endLine" : 160,
      "cleanedStartLine" : 85,
      "cleanedEndLine" : 91
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-test/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 31,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 1,
      "endLine" : 9,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 7
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 29,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 19,
      "startLine" : 6,
      "endLine" : 14,
      "cleanedStartLine" : 3,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-memory/src/jvmTest/kotlin/ai/koog/agents/memory/AIAgentMemoryTest.kt",
        "extension" : "kt",
        "linesOfCode" : 470,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 399,
      "startLine" : 183,
      "endLine" : 189,
      "cleanedStartLine" : 101,
      "cleanedEndLine" : 107
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-memory/src/jvmTest/kotlin/ai/koog/agents/memory/feature/RetrieveFactsFromHistoryTest.kt",
        "extension" : "kt",
        "linesOfCode" : 194,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 152,
      "startLine" : 186,
      "endLine" : 192,
      "cleanedStartLine" : 99,
      "cleanedEndLine" : 105
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-event-handler/src/jvmTest/kotlin/ai/koog/agents/features/eventHandler/feature/EventHandlerTest.kt",
        "extension" : "kt",
        "linesOfCode" : 637,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 548,
      "startLine" : 101,
      "endLine" : 107,
      "cleanedStartLine" : 49,
      "cleanedEndLine" : 55
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-event-handler/src/jvmTest/kotlin/ai/koog/agents/features/eventHandler/feature/EventHandlerTest.kt",
        "extension" : "kt",
        "linesOfCode" : 637,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 548,
      "startLine" : 193,
      "endLine" : 199,
      "cleanedStartLine" : 122,
      "cleanedEndLine" : 128
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/CheckpointsTests.kt",
        "extension" : "kt",
        "linesOfCode" : 793,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 646,
      "startLine" : 469,
      "endLine" : 476,
      "cleanedStartLine" : 298,
      "cleanedEndLine" : 304
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/ai/koog/agents/snapshot/providers/file/FileCheckpointsTests.kt",
        "extension" : "kt",
        "linesOfCode" : 236,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 188,
      "startLine" : 244,
      "endLine" : 251,
      "cleanedStartLine" : 166,
      "cleanedEndLine" : 172
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-test/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 31,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 1,
      "endLine" : 9,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 7
    }, {
      "file" : {
        "relativePath" : "a2a/a2a-transport/a2a-transport-client-jsonrpc-http/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 44,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 6,
      "endLine" : 14,
      "cleanedStartLine" : 3,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client-base/src/commonTest/kotlin/ai/koog/prompt/executor/clients/openai/base/OpenAICompatibleToolDescriptorConverterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 214,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 181,
      "startLine" : 113,
      "endLine" : 122,
      "cleanedStartLine" : 87,
      "cleanedEndLine" : 93
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client-base/src/commonTest/kotlin/ai/koog/prompt/executor/clients/openai/base/OpenAICompatibleToolDescriptorConverterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 214,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 181,
      "startLine" : 206,
      "endLine" : 215,
      "cleanedStartLine" : 160,
      "cleanedEndLine" : 166
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-event-handler/src/jvmTest/kotlin/ai/koog/agents/features/eventHandler/feature/TestLLMExecutor.kt",
        "extension" : "kt",
        "linesOfCode" : 40,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 23,
      "startLine" : 17,
      "endLine" : 25,
      "cleanedStartLine" : 3,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/mock/MockLLMExecutor.kt",
        "extension" : "kt",
        "linesOfCode" : 47,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 28,
      "startLine" : 23,
      "endLine" : 31,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 11
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-memory/src/jvmTest/kotlin/ai/koog/agents/memory/AIAgentMemoryTest.kt",
        "extension" : "kt",
        "linesOfCode" : 470,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 399,
      "startLine" : 183,
      "endLine" : 189,
      "cleanedStartLine" : 101,
      "cleanedEndLine" : 107
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-memory/src/jvmTest/kotlin/ai/koog/agents/memory/feature/RetrieveFactsFromHistoryTest.kt",
        "extension" : "kt",
        "linesOfCode" : 194,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 152,
      "startLine" : 60,
      "endLine" : 66,
      "cleanedStartLine" : 21,
      "cleanedEndLine" : 27
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerTestAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 281,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 212,
      "startLine" : 210,
      "endLine" : 216,
      "cleanedStartLine" : 128,
      "cleanedEndLine" : 134
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageRemoteWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 816,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 671,
      "startLine" : 456,
      "endLine" : 462,
      "cleanedStartLine" : 297,
      "cleanedEndLine" : 303
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jsMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 87,
      "endLine" : 93,
      "cleanedStartLine" : 68,
      "cleanedEndLine" : 74
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/wasmJsMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 142,
      "endLine" : 148,
      "cleanedStartLine" : 121,
      "cleanedEndLine" : 127
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-memory/src/jvmTest/kotlin/ai/koog/agents/memory/AIAgentMemoryTest.kt",
        "extension" : "kt",
        "linesOfCode" : 470,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 399,
      "startLine" : 183,
      "endLine" : 189,
      "cleanedStartLine" : 101,
      "cleanedEndLine" : 107
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-memory/src/jvmTest/kotlin/ai/koog/agents/memory/feature/RetrieveFactsFromHistoryTest.kt",
        "extension" : "kt",
        "linesOfCode" : 194,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 152,
      "startLine" : 104,
      "endLine" : 110,
      "cleanedStartLine" : 49,
      "cleanedEndLine" : 55
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/androidMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 87,
      "endLine" : 93,
      "cleanedStartLine" : 68,
      "cleanedEndLine" : 74
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/wasmJsMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 142,
      "endLine" : 148,
      "cleanedStartLine" : 121,
      "cleanedEndLine" : 127
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerTest.kt",
        "extension" : "kt",
        "linesOfCode" : 521,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 437,
      "startLine" : 290,
      "endLine" : 296,
      "cleanedStartLine" : 174,
      "cleanedEndLine" : 180
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageRemoteWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 816,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 671,
      "startLine" : 426,
      "endLine" : 432,
      "cleanedStartLine" : 267,
      "cleanedEndLine" : 273
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentFunctionalPipeline.kt",
        "extension" : "kt",
        "linesOfCode" : 21,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 15,
      "startLine" : 31,
      "endLine" : 37,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 14
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmMain/kotlin/ai/koog/agents/core/agent/feature/pipeline/AIAgentGraphPipeline.kt",
        "extension" : "kt",
        "linesOfCode" : 100,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 67,
      "startLine" : 29,
      "endLine" : 35,
      "cleanedStartLine" : 12,
      "cleanedEndLine" : 18
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/models/OpenAIResponsesAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 1134,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1035,
      "startLine" : 1674,
      "endLine" : 1689,
      "cleanedStartLine" : 639,
      "cleanedEndLine" : 645
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/models/OpenAIResponsesAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 1134,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1035,
      "startLine" : 1898,
      "endLine" : 1913,
      "cleanedStartLine" : 751,
      "cleanedEndLine" : 757
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/openai/models/OpenAIResponsesAPIResponseTest.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 378,
      "startLine" : 198,
      "endLine" : 204,
      "cleanedStartLine" : 163,
      "cleanedEndLine" : 169
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/openai/models/OpenAISerializersTest.kt",
        "extension" : "kt",
        "linesOfCode" : 390,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 314,
      "startLine" : 78,
      "endLine" : 84,
      "cleanedStartLine" : 46,
      "cleanedEndLine" : 52
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 41,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 31,
      "endLine" : 40,
      "cleanedStartLine" : 18,
      "cleanedEndLine" : 24
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-llms-all/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 50,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 40,
      "startLine" : 37,
      "endLine" : 45,
      "cleanedStartLine" : 29,
      "cleanedEndLine" : 35
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryNodeExecuteSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 307,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 276,
      "startLine" : 145,
      "endLine" : 154,
      "cleanedStartLine" : 108,
      "cleanedEndLine" : 114
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryNodeExecuteSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 307,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 276,
      "startLine" : 278,
      "endLine" : 287,
      "cleanedStartLine" : 222,
      "cleanedEndLine" : 228
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerSubgraphTest.kt",
        "extension" : "kt",
        "linesOfCode" : 262,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 194,
      "startLine" : 85,
      "endLine" : 91,
      "cleanedStartLine" : 27,
      "cleanedEndLine" : 33
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerSubgraphTest.kt",
        "extension" : "kt",
        "linesOfCode" : 262,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 194,
      "startLine" : 225,
      "endLine" : 231,
      "cleanedStartLine" : 122,
      "cleanedEndLine" : 128
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/context/AIAgentLLMContextImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 105,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 85,
      "startLine" : 38,
      "endLine" : 44,
      "cleanedStartLine" : 20,
      "cleanedEndLine" : 26
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmMain/kotlin/ai/koog/agents/core/agent/context/AIAgentLLMContext.kt",
        "extension" : "kt",
        "linesOfCode" : 82,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 59,
      "startLine" : 101,
      "endLine" : 107,
      "cleanedStartLine" : 51,
      "cleanedEndLine" : 57
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/ext/agent/AIAgentSubgraphExt.kt",
        "extension" : "kt",
        "linesOfCode" : 376,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 310,
      "startLine" : 201,
      "endLine" : 207,
      "cleanedStartLine" : 64,
      "cleanedEndLine" : 70
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/ext/agent/AIAgentSubgraphExt.kt",
        "extension" : "kt",
        "linesOfCode" : 376,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 310,
      "startLine" : 285,
      "endLine" : 291,
      "cleanedStartLine" : 111,
      "cleanedEndLine" : 117
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/handler/llm/LLMCallEventContext.kt",
        "extension" : "kt",
        "linesOfCode" : 35,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 24,
      "startLine" : 28,
      "endLine" : 34,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 10
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/handler/streaming/LLMStreamingEventContext.kt",
        "extension" : "kt",
        "linesOfCode" : 54,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 42,
      "startLine" : 97,
      "endLine" : 103,
      "cleanedStartLine" : 34,
      "cleanedEndLine" : 40
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/GenAIAgentSpanUtilsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 329,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 292,
      "startLine" : 103,
      "endLine" : 112,
      "cleanedStartLine" : 64,
      "cleanedEndLine" : 70
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/GenAIAgentSpanUtilsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 329,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 292,
      "startLine" : 208,
      "endLine" : 217,
      "cleanedStartLine" : 139,
      "cleanedEndLine" : 145
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/SubgraphWithTaskTest.kt",
        "extension" : "kt",
        "linesOfCode" : 603,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 509,
      "startLine" : 561,
      "endLine" : 570,
      "cleanedStartLine" : 366,
      "cleanedEndLine" : 372
    }, {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/SubgraphWithTaskTest.kt",
        "extension" : "kt",
        "linesOfCode" : 603,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 509,
      "startLine" : 637,
      "endLine" : 646,
      "cleanedStartLine" : 420,
      "cleanedEndLine" : 426
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-test/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 31,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 1,
      "endLine" : 9,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 7
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 30,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 20,
      "startLine" : 6,
      "endLine" : 14,
      "cleanedStartLine" : 3,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-test/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 31,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 1,
      "endLine" : 9,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 7
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-structure/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 39,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 6,
      "endLine" : 14,
      "cleanedStartLine" : 3,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/agent/session/AIAgentLLMWriteSessionTest.kt",
        "extension" : "kt",
        "linesOfCode" : 376,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 296,
      "startLine" : 44,
      "endLine" : 51,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "agents/agents-test/src/commonMain/kotlin/ai/koog/agents/testing/tools/MockEnvironment.kt",
        "extension" : "kt",
        "linesOfCode" : 55,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 40,
      "startLine" : 97,
      "endLine" : 105,
      "cleanedStartLine" : 27,
      "cleanedEndLine" : 33
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/AIAgentBuilder.kt",
        "extension" : "kt",
        "linesOfCode" : 218,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 168,
      "startLine" : 303,
      "endLine" : 319,
      "cleanedStartLine" : 81,
      "cleanedEndLine" : 87
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/AIAgentServiceBuilder.kt",
        "extension" : "kt",
        "linesOfCode" : 216,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 168,
      "startLine" : 203,
      "endLine" : 218,
      "cleanedStartLine" : 57,
      "cleanedEndLine" : 63
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 328,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 286,
      "startLine" : 130,
      "endLine" : 136,
      "cleanedStartLine" : 65,
      "cleanedEndLine" : 71
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 846,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 674,
      "startLine" : 476,
      "endLine" : 482,
      "cleanedStartLine" : 303,
      "cleanedEndLine" : 309
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/modelfamilies/amazon/BedrockAmazonNovaSerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 311,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 238,
      "startLine" : 257,
      "endLine" : 266,
      "cleanedStartLine" : 154,
      "cleanedEndLine" : 160
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/modelfamilies/amazon/NovaDataModelsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 341,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 280,
      "startLine" : 369,
      "endLine" : 378,
      "cleanedStartLine" : 267,
      "cleanedEndLine" : 273
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/agent/FunctionalAIAgentTest.kt",
        "extension" : "kt",
        "linesOfCode" : 674,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 581,
      "startLine" : 64,
      "endLine" : 74,
      "cleanedStartLine" : 32,
      "cleanedEndLine" : 38
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/agent/SingleRunStrategyTests.kt",
        "extension" : "kt",
        "linesOfCode" : 234,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 186,
      "startLine" : 280,
      "endLine" : 290,
      "cleanedStartLine" : 180,
      "cleanedEndLine" : 186
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-mcp/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 41,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 31,
      "startLine" : 27,
      "endLine" : 39,
      "cleanedStartLine" : 20,
      "cleanedEndLine" : 26
    }, {
      "file" : {
        "relativePath" : "utils/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 31,
        "components" : [ "primary::utils" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 17,
      "endLine" : 29,
      "cleanedStartLine" : 12,
      "cleanedEndLine" : 18
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/GenAIAgentSpanUtilsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 329,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 292,
      "startLine" : 103,
      "endLine" : 112,
      "cleanedStartLine" : 64,
      "cleanedEndLine" : 70
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/GenAIAgentSpanUtilsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 329,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 292,
      "startLine" : 157,
      "endLine" : 166,
      "cleanedStartLine" : 101,
      "cleanedEndLine" : 107
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/AIAgentSimpleStrategies.kt",
        "extension" : "kt",
        "linesOfCode" : 57,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 39,
      "startLine" : 47,
      "endLine" : 53,
      "cleanedStartLine" : 12,
      "cleanedEndLine" : 18
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/ext/agent/SingleRunStrategyWithHistoryCompression.kt",
        "extension" : "kt",
        "linesOfCode" : 90,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 64,
      "startLine" : 74,
      "endLine" : 80,
      "cleanedStartLine" : 25,
      "cleanedEndLine" : 31
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/model/events/toolExecutionEvents.kt",
        "extension" : "kt",
        "linesOfCode" : 176,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 165,
      "startLine" : 83,
      "endLine" : 89,
      "cleanedStartLine" : 36,
      "cleanedEndLine" : 42
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/model/events/toolExecutionEvents.kt",
        "extension" : "kt",
        "linesOfCode" : 176,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 165,
      "startLine" : 204,
      "endLine" : 210,
      "cleanedStartLine" : 111,
      "cleanedEndLine" : 117
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-mcp-server/src/commonMain/kotlin/ai/koog/agents/mcp/server/McpServer.kt",
        "extension" : "kt",
        "linesOfCode" : 163,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 109,
      "startLine" : 161,
      "endLine" : 172,
      "cleanedStartLine" : 84,
      "cleanedEndLine" : 90
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmMain/kotlin/ai/koog/prompt/executor/clients/bedrock/modelfamilies/BedrockToolSerialization.kt",
        "extension" : "kt",
        "linesOfCode" : 59,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 37,
      "startLine" : 25,
      "endLine" : 32,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 16
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipeline.kt",
        "extension" : "kt",
        "linesOfCode" : 448,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 394,
      "startLine" : 358,
      "endLine" : 364,
      "cleanedStartLine" : 112,
      "cleanedEndLine" : 118
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipeline.kt",
        "extension" : "kt",
        "linesOfCode" : 448,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 394,
      "startLine" : 383,
      "endLine" : 389,
      "cleanedStartLine" : 124,
      "cleanedEndLine" : 130
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/dsl/builder/AIAgentNodeBuilderTransformTest.kt",
        "extension" : "kt",
        "linesOfCode" : 86,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 65,
      "startLine" : 42,
      "endLine" : 49,
      "cleanedStartLine" : 20,
      "cleanedEndLine" : 26
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/dsl/builder/AIAgentNodeBuilderTransformTest.kt",
        "extension" : "kt",
        "linesOfCode" : 86,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 65,
      "startLine" : 66,
      "endLine" : 73,
      "cleanedStartLine" : 38,
      "cleanedEndLine" : 44
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/agent/session/AIAgentLLMWriteSessionTest.kt",
        "extension" : "kt",
        "linesOfCode" : 376,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 296,
      "startLine" : 370,
      "endLine" : 380,
      "cleanedStartLine" : 233,
      "cleanedEndLine" : 239
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/agent/session/AIAgentLLMWriteSessionTest.kt",
        "extension" : "kt",
        "linesOfCode" : 376,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 296,
      "startLine" : 397,
      "endLine" : 406,
      "cleanedStartLine" : 250,
      "cleanedEndLine" : 256
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/appleMain/kotlin/ai/koog/agents/core/agent/context/AIAgentLLMContext.kt",
        "extension" : "kt",
        "linesOfCode" : 32,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 23,
      "endLine" : 29,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/context/AIAgentLLMContext.kt",
        "extension" : "kt",
        "linesOfCode" : 86,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 72,
      "startLine" : 54,
      "endLine" : 60,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 16
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerStreamingTest.kt",
        "extension" : "kt",
        "linesOfCode" : 347,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 262,
      "startLine" : 411,
      "endLine" : 423,
      "cleanedStartLine" : 256,
      "cleanedEndLine" : 262
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerSubgraphTest.kt",
        "extension" : "kt",
        "linesOfCode" : 262,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 194,
      "startLine" : 167,
      "endLine" : 179,
      "cleanedStartLine" : 89,
      "cleanedEndLine" : 95
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/appleMain/kotlin/ai/koog/agents/core/agent/context/AIAgentFunctionalContext.kt",
        "extension" : "kt",
        "linesOfCode" : 100,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 87,
      "startLine" : 60,
      "endLine" : 66,
      "cleanedStartLine" : 42,
      "cleanedEndLine" : 48
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/context/AIAgentFunctionalContext.kt",
        "extension" : "kt",
        "linesOfCode" : 179,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 153,
      "startLine" : 229,
      "endLine" : 235,
      "cleanedStartLine" : 123,
      "cleanedEndLine" : 129
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/feature/AIAgentFeatureTestAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 395,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 341,
      "startLine" : 215,
      "endLine" : 221,
      "cleanedStartLine" : 145,
      "cleanedEndLine" : 151
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/feature/AIAgentFeatureTestAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 395,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 341,
      "startLine" : 255,
      "endLine" : 261,
      "cleanedStartLine" : 181,
      "cleanedEndLine" : 187
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentGraphPipeline.kt",
        "extension" : "kt",
        "linesOfCode" : 107,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 90,
      "startLine" : 131,
      "endLine" : 137,
      "cleanedStartLine" : 41,
      "cleanedEndLine" : 47
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentGraphPipelineAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 94,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 81,
      "startLine" : 60,
      "endLine" : 66,
      "cleanedStartLine" : 32,
      "cleanedEndLine" : 38
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/event/ChoiceEventTest.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 120,
      "startLine" : 48,
      "endLine" : 55,
      "cleanedStartLine" : 22,
      "cleanedEndLine" : 28
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/event/ChoiceEventTest.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 120,
      "startLine" : 69,
      "endLine" : 76,
      "cleanedStartLine" : 38,
      "cleanedEndLine" : 44
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerTestAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 281,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 212,
      "startLine" : 198,
      "endLine" : 204,
      "cleanedStartLine" : 116,
      "cleanedEndLine" : 122
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageRemoteWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 816,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 671,
      "startLine" : 426,
      "endLine" : 432,
      "cleanedStartLine" : 267,
      "cleanedEndLine" : 273
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 328,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 286,
      "startLine" : 154,
      "endLine" : 160,
      "cleanedStartLine" : 85,
      "cleanedEndLine" : 91
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 846,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 674,
      "startLine" : 374,
      "endLine" : 380,
      "cleanedStartLine" : 216,
      "cleanedEndLine" : 222
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/event/ChoiceEventTest.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 120,
      "startLine" : 48,
      "endLine" : 55,
      "cleanedStartLine" : 22,
      "cleanedEndLine" : 28
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/event/ChoiceEventTest.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 120,
      "startLine" : 91,
      "endLine" : 98,
      "cleanedStartLine" : 55,
      "cleanedEndLine" : 61
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-memory/src/jvmTest/kotlin/ai/koog/agents/memory/AIAgentMemoryTest.kt",
        "extension" : "kt",
        "linesOfCode" : 470,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 399,
      "startLine" : 550,
      "endLine" : 556,
      "cleanedStartLine" : 379,
      "cleanedEndLine" : 385
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-memory/src/jvmTest/kotlin/ai/koog/agents/memory/feature/RetrieveFactsFromHistoryTest.kt",
        "extension" : "kt",
        "linesOfCode" : 194,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 152,
      "startLine" : 60,
      "endLine" : 66,
      "cleanedStartLine" : 21,
      "cleanedEndLine" : 27
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/mistralai/MistralAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 132,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 123,
      "startLine" : 39,
      "endLine" : 45,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 14
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/mistralai/MistralAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 132,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 123,
      "startLine" : 115,
      "endLine" : 121,
      "cleanedStartLine" : 54,
      "cleanedEndLine" : 60
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 328,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 286,
      "startLine" : 154,
      "endLine" : 160,
      "cleanedStartLine" : 85,
      "cleanedEndLine" : 91
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 846,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 674,
      "startLine" : 401,
      "endLine" : 407,
      "cleanedStartLine" : 241,
      "cleanedEndLine" : 247
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-memory/src/jvmTest/kotlin/ai/koog/agents/memory/AIAgentMemoryTest.kt",
        "extension" : "kt",
        "linesOfCode" : 470,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 399,
      "startLine" : 550,
      "endLine" : 556,
      "cleanedStartLine" : 379,
      "cleanedEndLine" : 385
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-memory/src/jvmTest/kotlin/ai/koog/agents/memory/feature/RetrieveFactsFromHistoryTest.kt",
        "extension" : "kt",
        "linesOfCode" : 194,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 152,
      "startLine" : 104,
      "endLine" : 110,
      "cleanedStartLine" : 49,
      "cleanedEndLine" : 55
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/mistralai/MistralAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 132,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 123,
      "startLine" : 39,
      "endLine" : 45,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 14
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/mistralai/MistralAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 132,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 123,
      "startLine" : 66,
      "endLine" : 72,
      "cleanedStartLine" : 25,
      "cleanedEndLine" : 31
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/appleMain/kotlin/ai/koog/agents/core/agent/context/AIAgentLLMContext.kt",
        "extension" : "kt",
        "linesOfCode" : 32,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 23,
      "endLine" : 29,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/context/AIAgentLLMContext.kt",
        "extension" : "kt",
        "linesOfCode" : 86,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 72,
      "startLine" : 165,
      "endLine" : 171,
      "cleanedStartLine" : 65,
      "cleanedEndLine" : 71
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/context/AIAgentFunctionalContext.kt",
        "extension" : "kt",
        "linesOfCode" : 179,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 153,
      "startLine" : 229,
      "endLine" : 235,
      "cleanedStartLine" : 123,
      "cleanedEndLine" : 129
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmMain/kotlin/ai/koog/agents/core/agent/context/AIAgentFunctionalContext.kt",
        "extension" : "kt",
        "linesOfCode" : 302,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 250,
      "startLine" : 83,
      "endLine" : 89,
      "cleanedStartLine" : 46,
      "cleanedEndLine" : 52
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/mistralai/MistralAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 132,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 123,
      "startLine" : 46,
      "endLine" : 62,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 21
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/mistralai/MistralAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 132,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 123,
      "startLine" : 123,
      "endLine" : 140,
      "cleanedStartLine" : 62,
      "cleanedEndLine" : 68
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/feature/AIAgentFeatureTestAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 395,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 341,
      "startLine" : 173,
      "endLine" : 179,
      "cleanedStartLine" : 109,
      "cleanedEndLine" : 115
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/feature/AIAgentFeatureTestAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 395,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 341,
      "startLine" : 255,
      "endLine" : 261,
      "cleanedStartLine" : 181,
      "cleanedEndLine" : 187
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-tools/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 38,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 28,
      "endLine" : 37,
      "cleanedStartLine" : 17,
      "cleanedEndLine" : 23
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-llms-all/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 50,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 40,
      "startLine" : 37,
      "endLine" : 45,
      "cleanedStartLine" : 29,
      "cleanedEndLine" : 35
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/dsl/extension/ParallelNodesMergeContextTest.kt",
        "extension" : "kt",
        "linesOfCode" : 133,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 95,
      "startLine" : 98,
      "endLine" : 108,
      "cleanedStartLine" : 56,
      "cleanedEndLine" : 62
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/dsl/extension/ParallelNodesMergeContextTest.kt",
        "extension" : "kt",
        "linesOfCode" : 133,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 95,
      "startLine" : 150,
      "endLine" : 160,
      "cleanedStartLine" : 88,
      "cleanedEndLine" : 94
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/feature/AIAgentPipelineTest.kt",
        "extension" : "kt",
        "linesOfCode" : 736,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 595,
      "startLine" : 480,
      "endLine" : 489,
      "cleanedStartLine" : 302,
      "cleanedEndLine" : 308
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/feature/AIAgentPipelineTest.kt",
        "extension" : "kt",
        "linesOfCode" : 736,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 595,
      "startLine" : 812,
      "endLine" : 821,
      "cleanedStartLine" : 536,
      "cleanedEndLine" : 542
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/langfuse/LangfuseSpanAdapterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 261,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 227,
      "startLine" : 65,
      "endLine" : 71,
      "cleanedStartLine" : 30,
      "cleanedEndLine" : 36
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/langfuse/LangfuseSpanAdapterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 261,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 227,
      "startLine" : 204,
      "endLine" : 210,
      "cleanedStartLine" : 135,
      "cleanedEndLine" : 141
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/ext/agent/AIAgentSubgraphExt.kt",
        "extension" : "kt",
        "linesOfCode" : 376,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 310,
      "startLine" : 211,
      "endLine" : 217,
      "cleanedStartLine" : 74,
      "cleanedEndLine" : 80
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/ext/agent/AIAgentSubgraphExt.kt",
        "extension" : "kt",
        "linesOfCode" : 376,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 310,
      "startLine" : 347,
      "endLine" : 353,
      "cleanedStartLine" : 149,
      "cleanedEndLine" : 155
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerStreamingTest.kt",
        "extension" : "kt",
        "linesOfCode" : 347,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 262,
      "startLine" : 319,
      "endLine" : 325,
      "cleanedStartLine" : 184,
      "cleanedEndLine" : 190
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerSubgraphTest.kt",
        "extension" : "kt",
        "linesOfCode" : 262,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 194,
      "startLine" : 85,
      "endLine" : 91,
      "cleanedStartLine" : 27,
      "cleanedEndLine" : 33
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-test/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 31,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 1,
      "endLine" : 9,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 7
    }, {
      "file" : {
        "relativePath" : "embeddings/embeddings-base/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 33,
        "components" : [ "primary::embeddings" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 6,
      "endLine" : 14,
      "cleanedStartLine" : 3,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageRemoteWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 816,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 671,
      "startLine" : 239,
      "endLine" : 247,
      "cleanedStartLine" : 109,
      "cleanedEndLine" : 115
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageRemoteWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 816,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 671,
      "startLine" : 810,
      "endLine" : 818,
      "cleanedStartLine" : 576,
      "cleanedEndLine" : 582
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/context/AIAgentLLMContext.kt",
        "extension" : "kt",
        "linesOfCode" : 86,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 72,
      "startLine" : 165,
      "endLine" : 171,
      "cleanedStartLine" : 65,
      "cleanedEndLine" : 71
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/wasmJsMain/kotlin/ai/koog/agents/core/agent/context/AIAgentLLMContext.kt",
        "extension" : "kt",
        "linesOfCode" : 32,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 23,
      "endLine" : 29,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 16
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-a2a-core/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 31,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 22,
      "endLine" : 31,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-llms-all/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 50,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 40,
      "startLine" : 37,
      "endLine" : 45,
      "cleanedStartLine" : 29,
      "cleanedEndLine" : 35
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-memory/src/jvmTest/kotlin/ai/koog/agents/memory/MemoryNodesTest.kt",
        "extension" : "kt",
        "linesOfCode" : 418,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 327,
      "startLine" : 238,
      "endLine" : 245,
      "cleanedStartLine" : 140,
      "cleanedEndLine" : 146
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-memory/src/jvmTest/kotlin/ai/koog/agents/memory/MemoryNodesTest.kt",
        "extension" : "kt",
        "linesOfCode" : 418,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 327,
      "startLine" : 390,
      "endLine" : 397,
      "cleanedStartLine" : 252,
      "cleanedEndLine" : 258
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/ext/agent/AIAgentSubgraphExt.kt",
        "extension" : "kt",
        "linesOfCode" : 376,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 310,
      "startLine" : 211,
      "endLine" : 217,
      "cleanedStartLine" : 74,
      "cleanedEndLine" : 80
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/ext/agent/AIAgentSubgraphExt.kt",
        "extension" : "kt",
        "linesOfCode" : 376,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 310,
      "startLine" : 397,
      "endLine" : 403,
      "cleanedStartLine" : 175,
      "cleanedEndLine" : 181
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/langfuse/LangfuseSpanAdapterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 261,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 227,
      "startLine" : 65,
      "endLine" : 71,
      "cleanedStartLine" : 30,
      "cleanedEndLine" : 36
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/langfuse/LangfuseSpanAdapterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 261,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 227,
      "startLine" : 279,
      "endLine" : 285,
      "cleanedStartLine" : 195,
      "cleanedEndLine" : 201
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 301,
      "endLine" : 307,
      "cleanedStartLine" : 150,
      "cleanedEndLine" : 156
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 461,
      "endLine" : 467,
      "cleanedStartLine" : 248,
      "cleanedEndLine" : 254
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-memory/src/jvmTest/kotlin/ai/koog/agents/memory/AIAgentMemoryTest.kt",
        "extension" : "kt",
        "linesOfCode" : 470,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 399,
      "startLine" : 550,
      "endLine" : 556,
      "cleanedStartLine" : 379,
      "cleanedEndLine" : 385
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-memory/src/jvmTest/kotlin/ai/koog/agents/memory/feature/RetrieveFactsFromHistoryTest.kt",
        "extension" : "kt",
        "linesOfCode" : 194,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 152,
      "startLine" : 186,
      "endLine" : 192,
      "cleanedStartLine" : 99,
      "cleanedEndLine" : 105
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-memory/src/jvmTest/kotlin/ai/koog/agents/memory/AIAgentMemoryTest.kt",
        "extension" : "kt",
        "linesOfCode" : 470,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 399,
      "startLine" : 550,
      "endLine" : 556,
      "cleanedStartLine" : 379,
      "cleanedEndLine" : 385
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-memory/src/jvmTest/kotlin/ai/koog/agents/memory/feature/RetrieveFactsFromHistoryTest.kt",
        "extension" : "kt",
        "linesOfCode" : 194,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 152,
      "startLine" : 145,
      "endLine" : 151,
      "cleanedStartLine" : 74,
      "cleanedEndLine" : 80
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/CheckpointsTests.kt",
        "extension" : "kt",
        "linesOfCode" : 793,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 646,
      "startLine" : 295,
      "endLine" : 304,
      "cleanedStartLine" : 171,
      "cleanedEndLine" : 177
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/SubgraphCheckpointsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 183,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 146,
      "startLine" : 41,
      "endLine" : 51,
      "cleanedStartLine" : 18,
      "cleanedEndLine" : 24
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryNodeExecuteSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 307,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 276,
      "startLine" : 266,
      "endLine" : 272,
      "cleanedStartLine" : 210,
      "cleanedEndLine" : 216
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetrySpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 256,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 224,
      "startLine" : 215,
      "endLine" : 221,
      "cleanedStartLine" : 155,
      "cleanedEndLine" : 161
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/GenAIAgentSpanUtilsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 329,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 292,
      "startLine" : 157,
      "endLine" : 166,
      "cleanedStartLine" : 101,
      "cleanedEndLine" : 107
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/GenAIAgentSpanUtilsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 329,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 292,
      "startLine" : 255,
      "endLine" : 264,
      "cleanedStartLine" : 173,
      "cleanedEndLine" : 179
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-test/src/commonMain/kotlin/ai/koog/agents/testing/tools/MockLLMBuilder.kt",
        "extension" : "kt",
        "linesOfCode" : 495,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 414,
      "startLine" : 266,
      "endLine" : 272,
      "cleanedStartLine" : 99,
      "cleanedEndLine" : 105
    }, {
      "file" : {
        "relativePath" : "agents/agents-test/src/commonMain/kotlin/ai/koog/agents/testing/tools/MockLLMBuilder.kt",
        "extension" : "kt",
        "linesOfCode" : 495,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 414,
      "startLine" : 399,
      "endLine" : 405,
      "cleanedStartLine" : 176,
      "cleanedEndLine" : 182
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetrySubgraphTest.kt",
        "extension" : "kt",
        "linesOfCode" : 334,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 313,
      "startLine" : 159,
      "endLine" : 166,
      "cleanedStartLine" : 122,
      "cleanedEndLine" : 128
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetrySubgraphTest.kt",
        "extension" : "kt",
        "linesOfCode" : 334,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 313,
      "startLine" : 275,
      "endLine" : 282,
      "cleanedStartLine" : 221,
      "cleanedEndLine" : 227
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/weave/WeaveTraceStructureTest.kt",
        "extension" : "kt",
        "linesOfCode" : 270,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 257,
      "startLine" : 46,
      "endLine" : 52,
      "cleanedStartLine" : 31,
      "cleanedEndLine" : 37
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/weave/WeaveTraceStructureTest.kt",
        "extension" : "kt",
        "linesOfCode" : 270,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 257,
      "startLine" : 260,
      "endLine" : 266,
      "cleanedStartLine" : 227,
      "cleanedEndLine" : 233
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/entity/AIAgentSubgraph.kt",
        "extension" : "kt",
        "linesOfCode" : 237,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 178,
      "startLine" : 238,
      "endLine" : 245,
      "cleanedStartLine" : 119,
      "cleanedEndLine" : 125
    }, {
      "file" : {
        "relativePath" : "agents/agents-planner/src/commonMain/kotlin/ai/koog/agents/planner/AIAgentPlanner.kt",
        "extension" : "kt",
        "linesOfCode" : 58,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 46,
      "startLine" : 75,
      "endLine" : 82,
      "cleanedStartLine" : 31,
      "cleanedEndLine" : 37
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetrySpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 256,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 224,
      "startLine" : 121,
      "endLine" : 127,
      "cleanedStartLine" : 67,
      "cleanedEndLine" : 73
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetrySubgraphTest.kt",
        "extension" : "kt",
        "linesOfCode" : 334,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 313,
      "startLine" : 354,
      "endLine" : 360,
      "cleanedStartLine" : 296,
      "cleanedEndLine" : 302
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 301,
      "endLine" : 307,
      "cleanedStartLine" : 150,
      "cleanedEndLine" : 156
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 398,
      "endLine" : 404,
      "cleanedStartLine" : 208,
      "cleanedEndLine" : 214
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/androidMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 87,
      "endLine" : 93,
      "cleanedStartLine" : 68,
      "cleanedEndLine" : 74
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 156,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 141,
      "startLine" : 186,
      "endLine" : 192,
      "cleanedStartLine" : 133,
      "cleanedEndLine" : 139
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 301,
      "endLine" : 307,
      "cleanedStartLine" : 150,
      "cleanedEndLine" : 156
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 429,
      "endLine" : 435,
      "cleanedStartLine" : 228,
      "cleanedEndLine" : 234
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-a2a-server/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 32,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 23,
      "endLine" : 32,
      "cleanedStartLine" : 14,
      "cleanedEndLine" : 20
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-llms-all/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 50,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 40,
      "startLine" : 37,
      "endLine" : 45,
      "cleanedStartLine" : 29,
      "cleanedEndLine" : 35
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 328,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 286,
      "startLine" : 154,
      "endLine" : 160,
      "cleanedStartLine" : 85,
      "cleanedEndLine" : 91
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 846,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 674,
      "startLine" : 347,
      "endLine" : 353,
      "cleanedStartLine" : 191,
      "cleanedEndLine" : 197
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/SubgraphWithTaskTest.kt",
        "extension" : "kt",
        "linesOfCode" : 603,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 509,
      "startLine" : 109,
      "endLine" : 120,
      "cleanedStartLine" : 55,
      "cleanedEndLine" : 61
    }, {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/SubgraphWithTaskTest.kt",
        "extension" : "kt",
        "linesOfCode" : 603,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 509,
      "startLine" : 207,
      "endLine" : 218,
      "cleanedStartLine" : 123,
      "cleanedEndLine" : 129
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-event-handler/src/commonMain/kotlin/ai/koog/agents/features/eventHandler/feature/EventHandlerConfigAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 195,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 156,
      "startLine" : 343,
      "endLine" : 349,
      "cleanedStartLine" : 73,
      "cleanedEndLine" : 79
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-event-handler/src/commonMain/kotlin/ai/koog/agents/features/eventHandler/feature/EventHandlerConfigImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 425,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 305,
      "startLine" : 387,
      "endLine" : 393,
      "cleanedStartLine" : 186,
      "cleanedEndLine" : 192
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetrySubgraphTest.kt",
        "extension" : "kt",
        "linesOfCode" : 334,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 313,
      "startLine" : 237,
      "endLine" : 244,
      "cleanedStartLine" : 196,
      "cleanedEndLine" : 202
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetrySubgraphTest.kt",
        "extension" : "kt",
        "linesOfCode" : 334,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 313,
      "startLine" : 365,
      "endLine" : 372,
      "cleanedStartLine" : 307,
      "cleanedEndLine" : 313
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentGraphPipeline.kt",
        "extension" : "kt",
        "linesOfCode" : 107,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 90,
      "startLine" : 107,
      "endLine" : 113,
      "cleanedStartLine" : 32,
      "cleanedEndLine" : 38
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentGraphPipelineImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 181,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 142,
      "startLine" : 80,
      "endLine" : 86,
      "cleanedStartLine" : 37,
      "cleanedEndLine" : 43
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/llm/choice/ChoiceSelectionStrategyTest.kt",
        "extension" : "kt",
        "linesOfCode" : 94,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 65,
      "startLine" : 64,
      "endLine" : 72,
      "cleanedStartLine" : 30,
      "cleanedEndLine" : 36
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-llms/src/commonTest/kotlin/ai/koog/prompt/executor/llms/MockOpenAILLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 49,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 30,
      "startLine" : 38,
      "endLine" : 47,
      "cleanedStartLine" : 20,
      "cleanedEndLine" : 26
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-ollama-client/src/commonTest/kotlin/ai/koog/prompt/executor/ollama/client/ContextWindowStrategyTest.kt",
        "extension" : "kt",
        "linesOfCode" : 196,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 162,
      "startLine" : 83,
      "endLine" : 90,
      "cleanedStartLine" : 44,
      "cleanedEndLine" : 50
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-ollama-client/src/commonTest/kotlin/ai/koog/prompt/executor/ollama/client/ContextWindowStrategyTest.kt",
        "extension" : "kt",
        "linesOfCode" : 196,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 162,
      "startLine" : 174,
      "endLine" : 181,
      "cleanedStartLine" : 117,
      "cleanedEndLine" : 123
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/SubgraphCheckpointsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 183,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 146,
      "startLine" : 41,
      "endLine" : 51,
      "cleanedStartLine" : 18,
      "cleanedEndLine" : 24
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/SubgraphCheckpointsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 183,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 146,
      "startLine" : 68,
      "endLine" : 78,
      "cleanedStartLine" : 39,
      "cleanedEndLine" : 45
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/src/jvmTest/kotlin/dashscope/DashscopeLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 255,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 196,
      "startLine" : 210,
      "endLine" : 217,
      "cleanedStartLine" : 138,
      "cleanedEndLine" : 144
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/mistralai/MistralAILLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 295,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 232,
      "startLine" : 234,
      "endLine" : 241,
      "cleanedStartLine" : 158,
      "cleanedEndLine" : 164
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-memory/src/jvmTest/kotlin/ai/koog/agents/memory/MemoryNodesTest.kt",
        "extension" : "kt",
        "linesOfCode" : 418,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 327,
      "startLine" : 238,
      "endLine" : 245,
      "cleanedStartLine" : 140,
      "cleanedEndLine" : 146
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-memory/src/jvmTest/kotlin/ai/koog/agents/memory/MemoryNodesTest.kt",
        "extension" : "kt",
        "linesOfCode" : 418,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 327,
      "startLine" : 313,
      "endLine" : 320,
      "cleanedStartLine" : 194,
      "cleanedEndLine" : 200
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 328,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 286,
      "startLine" : 235,
      "endLine" : 241,
      "cleanedStartLine" : 157,
      "cleanedEndLine" : 163
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 846,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 674,
      "startLine" : 430,
      "endLine" : 436,
      "cleanedStartLine" : 264,
      "cleanedEndLine" : 270
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/SubgraphWithRetryTest.kt",
        "extension" : "kt",
        "linesOfCode" : 429,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 348,
      "startLine" : 111,
      "endLine" : 121,
      "cleanedStartLine" : 63,
      "cleanedEndLine" : 69
    }, {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/SubgraphWithRetryTest.kt",
        "extension" : "kt",
        "linesOfCode" : 429,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 348,
      "startLine" : 337,
      "endLine" : 347,
      "cleanedStartLine" : 228,
      "cleanedEndLine" : 234
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-test/src/commonMain/kotlin/ai/koog/agents/testing/tools/MockLLMBuilder.kt",
        "extension" : "kt",
        "linesOfCode" : 495,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 414,
      "startLine" : 358,
      "endLine" : 364,
      "cleanedStartLine" : 155,
      "cleanedEndLine" : 161
    }, {
      "file" : {
        "relativePath" : "agents/agents-test/src/commonMain/kotlin/ai/koog/agents/testing/tools/MockLLMBuilder.kt",
        "extension" : "kt",
        "linesOfCode" : 495,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 414,
      "startLine" : 399,
      "endLine" : 405,
      "cleanedStartLine" : 176,
      "cleanedEndLine" : 182
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerStreamingTest.kt",
        "extension" : "kt",
        "linesOfCode" : 347,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 262,
      "startLine" : 319,
      "endLine" : 325,
      "cleanedStartLine" : 184,
      "cleanedEndLine" : 190
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerTest.kt",
        "extension" : "kt",
        "linesOfCode" : 521,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 437,
      "startLine" : 167,
      "endLine" : 173,
      "cleanedStartLine" : 72,
      "cleanedEndLine" : 78
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-core/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 40,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 27,
      "endLine" : 36,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 22
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-a2a-server/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 32,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 23,
      "endLine" : 32,
      "cleanedStartLine" : 14,
      "cleanedEndLine" : 20
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 328,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 286,
      "startLine" : 235,
      "endLine" : 241,
      "cleanedStartLine" : 157,
      "cleanedEndLine" : 163
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 846,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 674,
      "startLine" : 476,
      "endLine" : 482,
      "cleanedStartLine" : 303,
      "cleanedEndLine" : 309
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-test/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 31,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 1,
      "endLine" : 9,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 7
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client-base/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 40,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 28,
      "startLine" : 6,
      "endLine" : 13,
      "cleanedStartLine" : 3,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetrySpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 256,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 224,
      "startLine" : 121,
      "endLine" : 127,
      "cleanedStartLine" : 67,
      "cleanedEndLine" : 73
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetrySubgraphTest.kt",
        "extension" : "kt",
        "linesOfCode" : 334,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 313,
      "startLine" : 226,
      "endLine" : 232,
      "cleanedStartLine" : 185,
      "cleanedEndLine" : 191
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/context/AIAgentLLMContext.kt",
        "extension" : "kt",
        "linesOfCode" : 86,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 72,
      "startLine" : 54,
      "endLine" : 60,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/wasmJsMain/kotlin/ai/koog/agents/core/agent/context/AIAgentLLMContext.kt",
        "extension" : "kt",
        "linesOfCode" : 32,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 23,
      "endLine" : 29,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 16
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-structure/src/commonTest/kotlin/ai/koog/prompt/structure/json/generator/JsonSchemaGeneratorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 819,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 713,
      "startLine" : 244,
      "endLine" : 250,
      "cleanedStartLine" : 190,
      "cleanedEndLine" : 196
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-structure/src/commonTest/kotlin/ai/koog/prompt/structure/json/generator/JsonSchemaGeneratorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 819,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 713,
      "startLine" : 358,
      "endLine" : 364,
      "cleanedStartLine" : 282,
      "cleanedEndLine" : 288
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageTestWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 623,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 501,
      "startLine" : 528,
      "endLine" : 534,
      "cleanedStartLine" : 348,
      "cleanedEndLine" : 354
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageTestWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 623,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 501,
      "startLine" : 546,
      "endLine" : 552,
      "cleanedStartLine" : 366,
      "cleanedEndLine" : 372
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/SubgraphCheckpointsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 183,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 146,
      "startLine" : 41,
      "endLine" : 51,
      "cleanedStartLine" : 18,
      "cleanedEndLine" : 24
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/SubgraphCheckpointsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 183,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 146,
      "startLine" : 95,
      "endLine" : 105,
      "cleanedStartLine" : 60,
      "cleanedEndLine" : 66
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 846,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 674,
      "startLine" : 374,
      "endLine" : 380,
      "cleanedStartLine" : 216,
      "cleanedEndLine" : 222
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 846,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 674,
      "startLine" : 401,
      "endLine" : 407,
      "cleanedStartLine" : 241,
      "cleanedEndLine" : 247
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/context/AIAgentFunctionalContext.kt",
        "extension" : "kt",
        "linesOfCode" : 179,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 153,
      "startLine" : 219,
      "endLine" : 225,
      "cleanedStartLine" : 114,
      "cleanedEndLine" : 120
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/context/AIAgentFunctionalContextImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 483,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 365,
      "startLine" : 421,
      "endLine" : 427,
      "cleanedStartLine" : 266,
      "cleanedEndLine" : 272
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/context/AIAgentFunctionalContextImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 483,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 365,
      "startLine" : 296,
      "endLine" : 302,
      "cleanedStartLine" : 170,
      "cleanedEndLine" : 176
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmMain/kotlin/ai/koog/agents/core/agent/context/AIAgentFunctionalContext.kt",
        "extension" : "kt",
        "linesOfCode" : 302,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 250,
      "startLine" : 83,
      "endLine" : 89,
      "cleanedStartLine" : 46,
      "cleanedEndLine" : 52
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/SubgraphCheckpointsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 183,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 146,
      "startLine" : 41,
      "endLine" : 51,
      "cleanedStartLine" : 18,
      "cleanedEndLine" : 24
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/SubgraphCheckpointsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 183,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 146,
      "startLine" : 123,
      "endLine" : 133,
      "cleanedStartLine" : 82,
      "cleanedEndLine" : 88
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipeline.kt",
        "extension" : "kt",
        "linesOfCode" : 448,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 394,
      "startLine" : 332,
      "endLine" : 338,
      "cleanedStartLine" : 100,
      "cleanedEndLine" : 106
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 328,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 286,
      "startLine" : 191,
      "endLine" : 197,
      "cleanedStartLine" : 119,
      "cleanedEndLine" : 125
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/context/AIAgentLLMContext.kt",
        "extension" : "kt",
        "linesOfCode" : 86,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 72,
      "startLine" : 165,
      "endLine" : 171,
      "cleanedStartLine" : 65,
      "cleanedEndLine" : 71
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmMain/kotlin/ai/koog/agents/core/agent/context/AIAgentLLMContext.kt",
        "extension" : "kt",
        "linesOfCode" : 82,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 59,
      "startLine" : 46,
      "endLine" : 52,
      "cleanedStartLine" : 26,
      "cleanedEndLine" : 32
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/context/AIAgentLLMContext.kt",
        "extension" : "kt",
        "linesOfCode" : 86,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 72,
      "startLine" : 165,
      "endLine" : 171,
      "cleanedStartLine" : 65,
      "cleanedEndLine" : 71
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmMain/kotlin/ai/koog/agents/core/agent/context/AIAgentLLMContext.kt",
        "extension" : "kt",
        "linesOfCode" : 82,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 59,
      "startLine" : 29,
      "endLine" : 35,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 16
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/agent/FunctionalAIAgentTest.kt",
        "extension" : "kt",
        "linesOfCode" : 674,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 581,
      "startLine" : 590,
      "endLine" : 596,
      "cleanedStartLine" : 437,
      "cleanedEndLine" : 443
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/agent/FunctionalAIAgentTest.kt",
        "extension" : "kt",
        "linesOfCode" : 674,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 581,
      "startLine" : 750,
      "endLine" : 756,
      "cleanedStartLine" : 552,
      "cleanedEndLine" : 558
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/langfuse/LangfuseTraceStructureTest.kt",
        "extension" : "kt",
        "linesOfCode" : 249,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 236,
      "startLine" : 243,
      "endLine" : 249,
      "cleanedStartLine" : 210,
      "cleanedEndLine" : 216
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/weave/WeaveTraceStructureTest.kt",
        "extension" : "kt",
        "linesOfCode" : 270,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 257,
      "startLine" : 46,
      "endLine" : 52,
      "cleanedStartLine" : 31,
      "cleanedEndLine" : 37
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/feature/AIAgentPipelineTest.kt",
        "extension" : "kt",
        "linesOfCode" : 736,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 595,
      "startLine" : 93,
      "endLine" : 101,
      "cleanedStartLine" : 27,
      "cleanedEndLine" : 33
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/feature/AIAgentPipelineTest.kt",
        "extension" : "kt",
        "linesOfCode" : 736,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 595,
      "startLine" : 203,
      "endLine" : 211,
      "cleanedStartLine" : 106,
      "cleanedEndLine" : 112
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-memory/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 37,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 25,
      "endLine" : 34,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 22
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-llms-all/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 50,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 40,
      "startLine" : 37,
      "endLine" : 45,
      "cleanedStartLine" : 29,
      "cleanedEndLine" : 35
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-ollama-client/src/commonTest/kotlin/ai/koog/prompt/executor/ollama/client/OllamaToolCallTest.kt",
        "extension" : "kt",
        "linesOfCode" : 210,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 189,
      "startLine" : 64,
      "endLine" : 71,
      "cleanedStartLine" : 37,
      "cleanedEndLine" : 43
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-ollama-client/src/commonTest/kotlin/ai/koog/prompt/executor/ollama/client/OllamaToolCallTest.kt",
        "extension" : "kt",
        "linesOfCode" : 210,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 189,
      "startLine" : 238,
      "endLine" : 245,
      "cleanedStartLine" : 181,
      "cleanedEndLine" : 187
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/CheckpointsTests.kt",
        "extension" : "kt",
        "linesOfCode" : 793,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 646,
      "startLine" : 392,
      "endLine" : 398,
      "cleanedStartLine" : 236,
      "cleanedEndLine" : 242
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/CheckpointsTests.kt",
        "extension" : "kt",
        "linesOfCode" : 793,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 646,
      "startLine" : 434,
      "endLine" : 440,
      "cleanedStartLine" : 269,
      "cleanedEndLine" : 275
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client-base/src/commonTest/kotlin/ai/koog/prompt/executor/clients/openai/base/OpenAICompatibleToolDescriptorConverterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 214,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 181,
      "startLine" : 73,
      "endLine" : 82,
      "cleanedStartLine" : 55,
      "cleanedEndLine" : 61
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client-base/src/commonTest/kotlin/ai/koog/prompt/executor/clients/openai/base/OpenAICompatibleToolDescriptorConverterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 214,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 181,
      "startLine" : 113,
      "endLine" : 122,
      "cleanedStartLine" : 87,
      "cleanedEndLine" : 93
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-ollama-client/src/commonTest/kotlin/ai/koog/prompt/executor/ollama/client/dto/OllamaSerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 154,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 131,
      "startLine" : 48,
      "endLine" : 54,
      "cleanedStartLine" : 25,
      "cleanedEndLine" : 31
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openrouter-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/openrouter/models/OpenRouterSerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 670,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 554,
      "startLine" : 72,
      "endLine" : 78,
      "cleanedStartLine" : 31,
      "cleanedEndLine" : 37
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryInferenceSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 556,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 517,
      "startLine" : 126,
      "endLine" : 135,
      "cleanedStartLine" : 82,
      "cleanedEndLine" : 88
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryInferenceSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 556,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 517,
      "startLine" : 273,
      "endLine" : 282,
      "cleanedStartLine" : 215,
      "cleanedEndLine" : 221
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jsMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentGraphPipeline.kt",
        "extension" : "kt",
        "linesOfCode" : 26,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 19,
      "startLine" : 21,
      "endLine" : 27,
      "cleanedStartLine" : 12,
      "cleanedEndLine" : 18
    }, {
      "file" : {
        "relativePath" : "agents/agents-planner/src/commonMain/kotlin/ai/koog/agents/planner/AIAgentPlannerPipeline.kt",
        "extension" : "kt",
        "linesOfCode" : 19,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 13,
      "startLine" : 25,
      "endLine" : 31,
      "cleanedStartLine" : 6,
      "cleanedEndLine" : 12
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipeline.kt",
        "extension" : "kt",
        "linesOfCode" : 448,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 394,
      "startLine" : 308,
      "endLine" : 314,
      "cleanedStartLine" : 90,
      "cleanedEndLine" : 96
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipeline.kt",
        "extension" : "kt",
        "linesOfCode" : 448,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 394,
      "startLine" : 358,
      "endLine" : 364,
      "cleanedStartLine" : 112,
      "cleanedEndLine" : 118
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageRemoteWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 816,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 671,
      "startLine" : 397,
      "endLine" : 403,
      "cleanedStartLine" : 238,
      "cleanedEndLine" : 244
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageRemoteWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 816,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 671,
      "startLine" : 426,
      "endLine" : 432,
      "cleanedStartLine" : 267,
      "cleanedEndLine" : 273
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipeline.kt",
        "extension" : "kt",
        "linesOfCode" : 448,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 394,
      "startLine" : 308,
      "endLine" : 314,
      "cleanedStartLine" : 90,
      "cleanedEndLine" : 96
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipeline.kt",
        "extension" : "kt",
        "linesOfCode" : 448,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 394,
      "startLine" : 383,
      "endLine" : 389,
      "cleanedStartLine" : 124,
      "cleanedEndLine" : 130
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 62,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 47,
      "startLine" : 35,
      "endLine" : 44,
      "cleanedStartLine" : 22,
      "cleanedEndLine" : 28
    }, {
      "file" : {
        "relativePath" : "agents/agents-tools/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 38,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 28,
      "endLine" : 37,
      "cleanedStartLine" : 17,
      "cleanedEndLine" : 23
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryInferenceSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 556,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 517,
      "startLine" : 97,
      "endLine" : 106,
      "cleanedStartLine" : 59,
      "cleanedEndLine" : 65
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryInferenceSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 556,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 517,
      "startLine" : 520,
      "endLine" : 529,
      "cleanedStartLine" : 436,
      "cleanedEndLine" : 442
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/modelfamilies/amazon/BedrockAmazonNovaSerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 311,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 238,
      "startLine" : 290,
      "endLine" : 296,
      "cleanedStartLine" : 180,
      "cleanedEndLine" : 186
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/modelfamilies/anthropic/BedrockAnthropicClaudeSerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 437,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 346,
      "startLine" : 102,
      "endLine" : 108,
      "cleanedStartLine" : 57,
      "cleanedEndLine" : 63
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-structure/src/commonTest/kotlin/ai/koog/prompt/structure/StructureFixingParserTest.kt",
        "extension" : "kt",
        "linesOfCode" : 107,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 79,
      "startLine" : 48,
      "endLine" : 55,
      "cleanedStartLine" : 27,
      "cleanedEndLine" : 33
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-structure/src/commonTest/kotlin/ai/koog/prompt/structure/StructureFixingParserTest.kt",
        "extension" : "kt",
        "linesOfCode" : 107,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 79,
      "startLine" : 71,
      "endLine" : 78,
      "cleanedStartLine" : 43,
      "cleanedEndLine" : 49
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipeline.kt",
        "extension" : "kt",
        "linesOfCode" : 448,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 394,
      "startLine" : 308,
      "endLine" : 314,
      "cleanedStartLine" : 90,
      "cleanedEndLine" : 96
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipeline.kt",
        "extension" : "kt",
        "linesOfCode" : 448,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 394,
      "startLine" : 332,
      "endLine" : 338,
      "cleanedStartLine" : 100,
      "cleanedEndLine" : 106
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 328,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 286,
      "startLine" : 178,
      "endLine" : 184,
      "cleanedStartLine" : 107,
      "cleanedEndLine" : 113
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 328,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 286,
      "startLine" : 191,
      "endLine" : 197,
      "cleanedStartLine" : 119,
      "cleanedEndLine" : 125
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentGraphPipelineAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 94,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 81,
      "startLine" : 37,
      "endLine" : 43,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentGraphPipelineImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 181,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 142,
      "startLine" : 65,
      "endLine" : 71,
      "cleanedStartLine" : 24,
      "cleanedEndLine" : 30
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/androidMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 142,
      "endLine" : 148,
      "cleanedStartLine" : 121,
      "cleanedEndLine" : 127
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 156,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 141,
      "startLine" : 131,
      "endLine" : 137,
      "cleanedStartLine" : 80,
      "cleanedEndLine" : 86
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/agent/context/AIAgentLLMContextTest.kt",
        "extension" : "kt",
        "linesOfCode" : 177,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 136,
      "startLine" : 76,
      "endLine" : 82,
      "cleanedStartLine" : 37,
      "cleanedEndLine" : 43
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/agent/context/AIAgentLLMContextTest.kt",
        "extension" : "kt",
        "linesOfCode" : 177,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 136,
      "startLine" : 103,
      "endLine" : 109,
      "cleanedStartLine" : 58,
      "cleanedEndLine" : 64
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmMain/kotlin/ai/koog/prompt/executor/clients/bedrock/modelfamilies/BedrockToolSerialization.kt",
        "extension" : "kt",
        "linesOfCode" : 59,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 37,
      "startLine" : 25,
      "endLine" : 32,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/google/GoogleLLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 653,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 482,
      "startLine" : 562,
      "endLine" : 569,
      "cleanedStartLine" : 313,
      "cleanedEndLine" : 319
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 328,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 286,
      "startLine" : 191,
      "endLine" : 197,
      "cleanedStartLine" : 119,
      "cleanedEndLine" : 125
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 846,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 674,
      "startLine" : 324,
      "endLine" : 330,
      "cleanedStartLine" : 170,
      "cleanedEndLine" : 176
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/google/GoogleSerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 177,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 143,
      "startLine" : 158,
      "endLine" : 164,
      "cleanedStartLine" : 107,
      "cleanedEndLine" : 113
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/google/ThinkingConfigTest.kt",
        "extension" : "kt",
        "linesOfCode" : 93,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 68,
      "startLine" : 27,
      "endLine" : 33,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 328,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 286,
      "startLine" : 191,
      "endLine" : 197,
      "cleanedStartLine" : 119,
      "cleanedEndLine" : 125
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 846,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 674,
      "startLine" : 347,
      "endLine" : 353,
      "cleanedStartLine" : 191,
      "cleanedEndLine" : 197
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-test/src/commonMain/kotlin/ai/koog/agents/testing/tools/MockLLMBuilder.kt",
        "extension" : "kt",
        "linesOfCode" : 495,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 414,
      "startLine" : 296,
      "endLine" : 302,
      "cleanedStartLine" : 117,
      "cleanedEndLine" : 123
    }, {
      "file" : {
        "relativePath" : "agents/agents-test/src/commonMain/kotlin/ai/koog/agents/testing/tools/MockLLMBuilder.kt",
        "extension" : "kt",
        "linesOfCode" : 495,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 414,
      "startLine" : 399,
      "endLine" : 405,
      "cleanedStartLine" : 176,
      "cleanedEndLine" : 182
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 846,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 674,
      "startLine" : 386,
      "endLine" : 392,
      "cleanedStartLine" : 228,
      "cleanedEndLine" : 234
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 846,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 674,
      "startLine" : 412,
      "endLine" : 418,
      "cleanedStartLine" : 252,
      "cleanedEndLine" : 258
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 328,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 286,
      "startLine" : 205,
      "endLine" : 211,
      "cleanedStartLine" : 130,
      "cleanedEndLine" : 136
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 846,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 674,
      "startLine" : 430,
      "endLine" : 436,
      "cleanedStartLine" : 264,
      "cleanedEndLine" : 270
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryNodeExecuteSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 307,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 276,
      "startLine" : 210,
      "endLine" : 216,
      "cleanedStartLine" : 154,
      "cleanedEndLine" : 160
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetrySubgraphTest.kt",
        "extension" : "kt",
        "linesOfCode" : 334,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 313,
      "startLine" : 67,
      "endLine" : 73,
      "cleanedStartLine" : 41,
      "cleanedEndLine" : 47
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipeline.kt",
        "extension" : "kt",
        "linesOfCode" : 448,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 394,
      "startLine" : 481,
      "endLine" : 487,
      "cleanedStartLine" : 162,
      "cleanedEndLine" : 168
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 846,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 674,
      "startLine" : 430,
      "endLine" : 436,
      "cleanedStartLine" : 264,
      "cleanedEndLine" : 270
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 424,
      "endLine" : 430,
      "cleanedStartLine" : 223,
      "cleanedEndLine" : 229
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 579,
      "endLine" : 585,
      "cleanedStartLine" : 317,
      "cleanedEndLine" : 323
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-test/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 31,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 1,
      "endLine" : 9,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 7
    }, {
      "file" : {
        "relativePath" : "rag/rag-base/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 32,
        "components" : [ "primary::rag" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 6,
      "endLine" : 14,
      "cleanedStartLine" : 3,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/context/AIAgentFunctionalContextImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 483,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 365,
      "startLine" : 296,
      "endLine" : 302,
      "cleanedStartLine" : 170,
      "cleanedEndLine" : 176
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/wasmJsMain/kotlin/ai/koog/agents/core/agent/context/AIAgentFunctionalContext.kt",
        "extension" : "kt",
        "linesOfCode" : 100,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 87,
      "startLine" : 60,
      "endLine" : 66,
      "cleanedStartLine" : 42,
      "cleanedEndLine" : 48
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 234,
      "endLine" : 240,
      "cleanedStartLine" : 110,
      "cleanedEndLine" : 116
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 301,
      "endLine" : 307,
      "cleanedStartLine" : 150,
      "cleanedEndLine" : 156
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/androidMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 87,
      "endLine" : 93,
      "cleanedStartLine" : 68,
      "cleanedEndLine" : 74
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/appleMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 142,
      "endLine" : 148,
      "cleanedStartLine" : 121,
      "cleanedEndLine" : 127
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/wasmJsMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 87,
      "endLine" : 93,
      "cleanedStartLine" : 68,
      "cleanedEndLine" : 74
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/wasmJsMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 142,
      "endLine" : 148,
      "cleanedStartLine" : 121,
      "cleanedEndLine" : 127
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerTest.kt",
        "extension" : "kt",
        "linesOfCode" : 521,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 437,
      "startLine" : 354,
      "endLine" : 360,
      "cleanedStartLine" : 238,
      "cleanedEndLine" : 244
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerTestAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 281,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 212,
      "startLine" : 210,
      "endLine" : 216,
      "cleanedStartLine" : 128,
      "cleanedEndLine" : 134
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 234,
      "endLine" : 240,
      "cleanedStartLine" : 110,
      "cleanedEndLine" : 116
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 267,
      "endLine" : 273,
      "cleanedStartLine" : 130,
      "cleanedEndLine" : 136
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-test/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 31,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 1,
      "endLine" : 9,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 7
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-tokenizer/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 44,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 6,
      "endLine" : 14,
      "cleanedStartLine" : 3,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 424,
      "endLine" : 430,
      "cleanedStartLine" : 223,
      "cleanedEndLine" : 229
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 610,
      "endLine" : 616,
      "cleanedStartLine" : 336,
      "cleanedEndLine" : 342
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 261,
      "endLine" : 267,
      "cleanedStartLine" : 124,
      "cleanedEndLine" : 130
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 517,
      "endLine" : 523,
      "cleanedStartLine" : 278,
      "cleanedEndLine" : 284
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-memory/src/jvmTest/kotlin/ai/koog/agents/memory/AIAgentMemoryTest.kt",
        "extension" : "kt",
        "linesOfCode" : 470,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 399,
      "startLine" : 106,
      "endLine" : 112,
      "cleanedStartLine" : 41,
      "cleanedEndLine" : 47
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-memory/src/jvmTest/kotlin/ai/koog/agents/memory/feature/RetrieveFactsFromHistoryTest.kt",
        "extension" : "kt",
        "linesOfCode" : 194,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 152,
      "startLine" : 145,
      "endLine" : 151,
      "cleanedStartLine" : 74,
      "cleanedEndLine" : 80
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/dsl/extension/HistoryCompressionStrategiesTest.kt",
        "extension" : "kt",
        "linesOfCode" : 419,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 379,
      "startLine" : 200,
      "endLine" : 206,
      "cleanedStartLine" : 154,
      "cleanedEndLine" : 160
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/dsl/extension/HistoryCompressionStrategiesTest.kt",
        "extension" : "kt",
        "linesOfCode" : 419,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 379,
      "startLine" : 298,
      "endLine" : 304,
      "cleanedStartLine" : 250,
      "cleanedEndLine" : 256
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipeline.kt",
        "extension" : "kt",
        "linesOfCode" : 448,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 394,
      "startLine" : 164,
      "endLine" : 170,
      "cleanedStartLine" : 34,
      "cleanedEndLine" : 40
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 846,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 674,
      "startLine" : 218,
      "endLine" : 224,
      "cleanedStartLine" : 91,
      "cleanedEndLine" : 97
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/event/ChoiceEventTest.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 120,
      "startLine" : 69,
      "endLine" : 76,
      "cleanedStartLine" : 38,
      "cleanedEndLine" : 44
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/event/ChoiceEventTest.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 120,
      "startLine" : 91,
      "endLine" : 98,
      "cleanedStartLine" : 55,
      "cleanedEndLine" : 61
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/dsl/extension/HistoryCompressionStrategiesTest.kt",
        "extension" : "kt",
        "linesOfCode" : 419,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 379,
      "startLine" : 200,
      "endLine" : 206,
      "cleanedStartLine" : 154,
      "cleanedEndLine" : 160
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/dsl/extension/HistoryCompressionStrategiesTest.kt",
        "extension" : "kt",
        "linesOfCode" : 419,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 379,
      "startLine" : 322,
      "endLine" : 328,
      "cleanedStartLine" : 273,
      "cleanedEndLine" : 279
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryInferenceSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 556,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 517,
      "startLine" : 131,
      "endLine" : 139,
      "cleanedStartLine" : 85,
      "cleanedEndLine" : 91
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryInferenceSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 556,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 517,
      "startLine" : 421,
      "endLine" : 429,
      "cleanedStartLine" : 343,
      "cleanedEndLine" : 349
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-memory/src/jvmTest/kotlin/ai/koog/agents/memory/AIAgentMemoryTest.kt",
        "extension" : "kt",
        "linesOfCode" : 470,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 399,
      "startLine" : 106,
      "endLine" : 112,
      "cleanedStartLine" : 41,
      "cleanedEndLine" : 47
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-memory/src/jvmTest/kotlin/ai/koog/agents/memory/feature/RetrieveFactsFromHistoryTest.kt",
        "extension" : "kt",
        "linesOfCode" : 194,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 152,
      "startLine" : 104,
      "endLine" : 110,
      "cleanedStartLine" : 49,
      "cleanedEndLine" : 55
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/session/AIAgentLLMReadSession.kt",
        "extension" : "kt",
        "linesOfCode" : 78,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 60,
      "startLine" : 80,
      "endLine" : 86,
      "cleanedStartLine" : 40,
      "cleanedEndLine" : 46
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/session/AIAgentLLMWriteSessionAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 61,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 170,
      "endLine" : 223,
      "cleanedStartLine" : 22,
      "cleanedEndLine" : 28
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-event-handler/src/commonMain/kotlin/ai/koog/agents/features/eventHandler/feature/EventHandlerConfig.kt",
        "extension" : "kt",
        "linesOfCode" : 196,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 156,
      "startLine" : 232,
      "endLine" : 238,
      "cleanedStartLine" : 101,
      "cleanedEndLine" : 107
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-event-handler/src/commonMain/kotlin/ai/koog/agents/features/eventHandler/feature/EventHandlerConfigImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 425,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 305,
      "startLine" : 430,
      "endLine" : 436,
      "cleanedStartLine" : 219,
      "cleanedEndLine" : 225
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/GraphAIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 120,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 91,
      "startLine" : 106,
      "endLine" : 112,
      "cleanedStartLine" : 35,
      "cleanedEndLine" : 41
    }, {
      "file" : {
        "relativePath" : "agents/agents-planner/src/commonMain/kotlin/ai/koog/agents/planner/PlannerAIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 101,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 76,
      "startLine" : 86,
      "endLine" : 92,
      "cleanedStartLine" : 33,
      "cleanedEndLine" : 39
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-memory/src/jvmTest/kotlin/ai/koog/agents/memory/AIAgentMemoryTest.kt",
        "extension" : "kt",
        "linesOfCode" : 470,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 399,
      "startLine" : 106,
      "endLine" : 112,
      "cleanedStartLine" : 41,
      "cleanedEndLine" : 47
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-memory/src/jvmTest/kotlin/ai/koog/agents/memory/feature/RetrieveFactsFromHistoryTest.kt",
        "extension" : "kt",
        "linesOfCode" : 194,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 152,
      "startLine" : 186,
      "endLine" : 192,
      "cleanedStartLine" : 99,
      "cleanedEndLine" : 105
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 328,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 286,
      "startLine" : 225,
      "endLine" : 231,
      "cleanedStartLine" : 148,
      "cleanedEndLine" : 154
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 846,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 674,
      "startLine" : 462,
      "endLine" : 468,
      "cleanedStartLine" : 291,
      "cleanedEndLine" : 297
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageLogWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 480,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 396,
      "startLine" : 449,
      "endLine" : 457,
      "cleanedStartLine" : 309,
      "cleanedEndLine" : 315
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageRemoteWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 816,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 671,
      "startLine" : 810,
      "endLine" : 818,
      "cleanedStartLine" : 576,
      "cleanedEndLine" : 582
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-test/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 31,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 1,
      "endLine" : 9,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 7
    }, {
      "file" : {
        "relativePath" : "agents/agents-tools/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 38,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 6,
      "endLine" : 14,
      "cleanedStartLine" : 3,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerTest.kt",
        "extension" : "kt",
        "linesOfCode" : 521,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 437,
      "startLine" : 149,
      "endLine" : 157,
      "cleanedStartLine" : 58,
      "cleanedEndLine" : 64
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageLogWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 480,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 396,
      "startLine" : 109,
      "endLine" : 117,
      "cleanedStartLine" : 39,
      "cleanedEndLine" : 45
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-memory/src/jvmTest/kotlin/ai/koog/agents/memory/AIAgentMemoryTest.kt",
        "extension" : "kt",
        "linesOfCode" : 470,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 399,
      "startLine" : 106,
      "endLine" : 112,
      "cleanedStartLine" : 41,
      "cleanedEndLine" : 47
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-memory/src/jvmTest/kotlin/ai/koog/agents/memory/feature/RetrieveFactsFromHistoryTest.kt",
        "extension" : "kt",
        "linesOfCode" : 194,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 152,
      "startLine" : 60,
      "endLine" : 66,
      "cleanedStartLine" : 21,
      "cleanedEndLine" : 27
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipeline.kt",
        "extension" : "kt",
        "linesOfCode" : 448,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 394,
      "startLine" : 358,
      "endLine" : 364,
      "cleanedStartLine" : 112,
      "cleanedEndLine" : 118
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 846,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 674,
      "startLine" : 401,
      "endLine" : 407,
      "cleanedStartLine" : 241,
      "cleanedEndLine" : 247
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-core/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 40,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 27,
      "endLine" : 36,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 22
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-memory/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 37,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 25,
      "endLine" : 34,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 22
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerTestAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 281,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 212,
      "startLine" : 236,
      "endLine" : 242,
      "cleanedStartLine" : 154,
      "cleanedEndLine" : 160
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageRemoteWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 816,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 671,
      "startLine" : 599,
      "endLine" : 605,
      "cleanedStartLine" : 439,
      "cleanedEndLine" : 445
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentGraphPipeline.kt",
        "extension" : "kt",
        "linesOfCode" : 107,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 90,
      "startLine" : 64,
      "endLine" : 70,
      "cleanedStartLine" : 14,
      "cleanedEndLine" : 20
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentGraphPipelineAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 94,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 81,
      "startLine" : 28,
      "endLine" : 34,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 11
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-a2a-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 32,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 23,
      "endLine" : 32,
      "cleanedStartLine" : 14,
      "cleanedEndLine" : 20
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 62,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 47,
      "startLine" : 35,
      "endLine" : 44,
      "cleanedStartLine" : 22,
      "cleanedEndLine" : 28
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/CheckpointsTests.kt",
        "extension" : "kt",
        "linesOfCode" : 793,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 646,
      "startLine" : 154,
      "endLine" : 163,
      "cleanedStartLine" : 69,
      "cleanedEndLine" : 75
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/SubgraphSetExecutionPointTest.kt",
        "extension" : "kt",
        "linesOfCode" : 176,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 143,
      "startLine" : 137,
      "endLine" : 146,
      "cleanedStartLine" : 101,
      "cleanedEndLine" : 107
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/FunctionalAIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 110,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 84,
      "startLine" : 69,
      "endLine" : 78,
      "cleanedStartLine" : 20,
      "cleanedEndLine" : 26
    }, {
      "file" : {
        "relativePath" : "agents/agents-planner/src/commonMain/kotlin/ai/koog/agents/planner/PlannerAIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 101,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 76,
      "startLine" : 67,
      "endLine" : 76,
      "cleanedStartLine" : 20,
      "cleanedEndLine" : 26
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 328,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 286,
      "startLine" : 205,
      "endLine" : 211,
      "cleanedStartLine" : 130,
      "cleanedEndLine" : 136
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 846,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 674,
      "startLine" : 281,
      "endLine" : 287,
      "cleanedStartLine" : 135,
      "cleanedEndLine" : 141
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-a2a-server/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 32,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 23,
      "endLine" : 32,
      "cleanedStartLine" : 14,
      "cleanedEndLine" : 20
    }, {
      "file" : {
        "relativePath" : "agents/agents-tools/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 38,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 28,
      "endLine" : 37,
      "cleanedStartLine" : 17,
      "cleanedEndLine" : 23
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 328,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 286,
      "startLine" : 235,
      "endLine" : 241,
      "cleanedStartLine" : 157,
      "cleanedEndLine" : 163
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 846,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 674,
      "startLine" : 281,
      "endLine" : 287,
      "cleanedStartLine" : 135,
      "cleanedEndLine" : 141
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-a2a-core/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 31,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 22,
      "endLine" : 31,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 41,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 31,
      "endLine" : 40,
      "cleanedStartLine" : 18,
      "cleanedEndLine" : 24
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/feature/remote/client/FeatureMessageRemoteClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 388,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 293,
      "startLine" : 92,
      "endLine" : 100,
      "cleanedStartLine" : 35,
      "cleanedEndLine" : 41
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/feature/remote/client/FeatureMessageRemoteClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 388,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 293,
      "startLine" : 266,
      "endLine" : 274,
      "cleanedStartLine" : 147,
      "cleanedEndLine" : 153
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/CheckpointsTests.kt",
        "extension" : "kt",
        "linesOfCode" : 793,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 646,
      "startLine" : 154,
      "endLine" : 163,
      "cleanedStartLine" : 69,
      "cleanedEndLine" : 75
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/SubgraphSetExecutionPointTest.kt",
        "extension" : "kt",
        "linesOfCode" : 176,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 143,
      "startLine" : 164,
      "endLine" : 173,
      "cleanedStartLine" : 123,
      "cleanedEndLine" : 129
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryNodeExecuteSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 307,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 276,
      "startLine" : 121,
      "endLine" : 127,
      "cleanedStartLine" : 84,
      "cleanedEndLine" : 90
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetrySpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 256,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 224,
      "startLine" : 203,
      "endLine" : 209,
      "cleanedStartLine" : 143,
      "cleanedEndLine" : 149
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/mistralai/MistralAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 132,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 123,
      "startLine" : 66,
      "endLine" : 72,
      "cleanedStartLine" : 25,
      "cleanedEndLine" : 31
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/mistralai/MistralAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 132,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 123,
      "startLine" : 115,
      "endLine" : 121,
      "cleanedStartLine" : 54,
      "cleanedEndLine" : 60
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/feature/AIAgentPipelineTest.kt",
        "extension" : "kt",
        "linesOfCode" : 736,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 595,
      "startLine" : 746,
      "endLine" : 755,
      "cleanedStartLine" : 487,
      "cleanedEndLine" : 493
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/feature/AIAgentPipelineTest.kt",
        "extension" : "kt",
        "linesOfCode" : 736,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 595,
      "startLine" : 812,
      "endLine" : 821,
      "cleanedStartLine" : 536,
      "cleanedEndLine" : 542
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerTest.kt",
        "extension" : "kt",
        "linesOfCode" : 521,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 437,
      "startLine" : 149,
      "endLine" : 157,
      "cleanedStartLine" : 58,
      "cleanedEndLine" : 64
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageFileWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 509,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 418,
      "startLine" : 483,
      "endLine" : 491,
      "cleanedStartLine" : 334,
      "cleanedEndLine" : 340
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/TraceStructureTestBase.kt",
        "extension" : "kt",
        "linesOfCode" : 802,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 688,
      "startLine" : 724,
      "endLine" : 730,
      "cleanedStartLine" : 514,
      "cleanedEndLine" : 520
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/TraceStructureTestBase.kt",
        "extension" : "kt",
        "linesOfCode" : 802,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 688,
      "startLine" : 743,
      "endLine" : 749,
      "cleanedStartLine" : 532,
      "cleanedEndLine" : 538
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 424,
      "endLine" : 430,
      "cleanedStartLine" : 223,
      "cleanedEndLine" : 229
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 547,
      "endLine" : 553,
      "cleanedStartLine" : 297,
      "cleanedEndLine" : 303
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/ext/agent/SingleRunStrategyWithHistoryCompression.kt",
        "extension" : "kt",
        "linesOfCode" : 90,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 64,
      "startLine" : 74,
      "endLine" : 80,
      "cleanedStartLine" : 25,
      "cleanedEndLine" : 31
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryExecuteToolSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 184,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 154,
      "startLine" : 121,
      "endLine" : 127,
      "cleanedStartLine" : 79,
      "cleanedEndLine" : 85
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/feature/AIAgentFeatureTestAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 395,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 341,
      "startLine" : 248,
      "endLine" : 254,
      "cleanedStartLine" : 174,
      "cleanedEndLine" : 180
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/feature/AIAgentFeatureTestAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 395,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 341,
      "startLine" : 264,
      "endLine" : 270,
      "cleanedStartLine" : 189,
      "cleanedEndLine" : 195
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-tools/src/jvmMain/kotlin/ai/koog/agents/core/tools/reflect/java/javaIUtils.kt",
        "extension" : "kt",
        "linesOfCode" : 260,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 198,
      "startLine" : 325,
      "endLine" : 332,
      "cleanedStartLine" : 155,
      "cleanedEndLine" : 161
    }, {
      "file" : {
        "relativePath" : "agents/agents-tools/src/jvmMain/kotlin/ai/koog/agents/core/tools/reflect/util.kt",
        "extension" : "kt",
        "linesOfCode" : 210,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 156,
      "startLine" : 279,
      "endLine" : 286,
      "cleanedStartLine" : 79,
      "cleanedEndLine" : 85
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/agent/SingleRunStrategyTests.kt",
        "extension" : "kt",
        "linesOfCode" : 234,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 186,
      "startLine" : 46,
      "endLine" : 55,
      "cleanedStartLine" : 25,
      "cleanedEndLine" : 31
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/agent/SingleRunStrategyTests.kt",
        "extension" : "kt",
        "linesOfCode" : 234,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 186,
      "startLine" : 176,
      "endLine" : 185,
      "cleanedStartLine" : 109,
      "cleanedEndLine" : 115
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipeline.kt",
        "extension" : "kt",
        "linesOfCode" : 448,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 394,
      "startLine" : 358,
      "endLine" : 364,
      "cleanedStartLine" : 112,
      "cleanedEndLine" : 118
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 846,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 674,
      "startLine" : 324,
      "endLine" : 330,
      "cleanedStartLine" : 170,
      "cleanedEndLine" : 176
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipeline.kt",
        "extension" : "kt",
        "linesOfCode" : 448,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 394,
      "startLine" : 481,
      "endLine" : 487,
      "cleanedStartLine" : 162,
      "cleanedEndLine" : 168
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 846,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 674,
      "startLine" : 281,
      "endLine" : 287,
      "cleanedStartLine" : 135,
      "cleanedEndLine" : 141
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jsMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 87,
      "endLine" : 93,
      "cleanedStartLine" : 68,
      "cleanedEndLine" : 74
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 156,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 141,
      "startLine" : 186,
      "endLine" : 192,
      "cleanedStartLine" : 133,
      "cleanedEndLine" : 139
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-transport/a2a-transport-client-jsonrpc-http/src/commonTest/kotlin/ai/koog/a2a/transport/client/jsonrpc/http/HttpJSONRPCClientTransportTest.kt",
        "extension" : "kt",
        "linesOfCode" : 389,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 327,
      "startLine" : 312,
      "endLine" : 318,
      "cleanedStartLine" : 212,
      "cleanedEndLine" : 218
    }, {
      "file" : {
        "relativePath" : "a2a/a2a-transport/a2a-transport-server-jsonrpc-http/src/jvmTest/kotlin/ai/koog/a2a/transport/server/jsonrpc/http/HttpJSONRPCServerTransportTest.kt",
        "extension" : "kt",
        "linesOfCode" : 547,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 452,
      "startLine" : 488,
      "endLine" : 494,
      "cleanedStartLine" : 341,
      "cleanedEndLine" : 347
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentGraphPipelineAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 94,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 81,
      "startLine" : 48,
      "endLine" : 54,
      "cleanedStartLine" : 23,
      "cleanedEndLine" : 29
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentGraphPipelineImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 181,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 142,
      "startLine" : 80,
      "endLine" : 86,
      "cleanedStartLine" : 37,
      "cleanedEndLine" : 43
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/debugger/Debugger.kt",
        "extension" : "kt",
        "linesOfCode" : 399,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 318,
      "startLine" : 344,
      "endLine" : 350,
      "cleanedStartLine" : 189,
      "cleanedEndLine" : 195
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/commonMain/kotlin/ai/koog/agents/features/tracing/feature/Tracing.kt",
        "extension" : "kt",
        "linesOfCode" : 335,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 266,
      "startLine" : 407,
      "endLine" : 413,
      "cleanedStartLine" : 234,
      "cleanedEndLine" : 240
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/debugger/Debugger.kt",
        "extension" : "kt",
        "linesOfCode" : 399,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 318,
      "startLine" : 344,
      "endLine" : 350,
      "cleanedStartLine" : 189,
      "cleanedEndLine" : 195
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/commonMain/kotlin/ai/koog/agents/features/tracing/feature/Tracing.kt",
        "extension" : "kt",
        "linesOfCode" : 335,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 266,
      "startLine" : 422,
      "endLine" : 428,
      "cleanedStartLine" : 247,
      "cleanedEndLine" : 253
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 62,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 47,
      "startLine" : 35,
      "endLine" : 44,
      "cleanedStartLine" : 22,
      "cleanedEndLine" : 28
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-llms-all/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 50,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 40,
      "startLine" : 37,
      "endLine" : 45,
      "cleanedStartLine" : 29,
      "cleanedEndLine" : 35
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/androidMain/kotlin/ai/koog/agents/core/agent/context/AIAgentLLMContext.kt",
        "extension" : "kt",
        "linesOfCode" : 32,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 23,
      "endLine" : 29,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmMain/kotlin/ai/koog/agents/core/agent/context/AIAgentLLMContext.kt",
        "extension" : "kt",
        "linesOfCode" : 82,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 59,
      "startLine" : 101,
      "endLine" : 107,
      "cleanedStartLine" : 51,
      "cleanedEndLine" : 57
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetrySpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 256,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 224,
      "startLine" : 215,
      "endLine" : 221,
      "cleanedStartLine" : 155,
      "cleanedEndLine" : 161
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetrySubgraphTest.kt",
        "extension" : "kt",
        "linesOfCode" : 334,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 313,
      "startLine" : 354,
      "endLine" : 360,
      "cleanedStartLine" : 296,
      "cleanedEndLine" : 302
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-a2a-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 32,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 23,
      "endLine" : 32,
      "cleanedStartLine" : 14,
      "cleanedEndLine" : 20
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-llms-all/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 50,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 40,
      "startLine" : 37,
      "endLine" : 45,
      "cleanedStartLine" : 29,
      "cleanedEndLine" : 35
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/context/AIAgentLLMContext.kt",
        "extension" : "kt",
        "linesOfCode" : 86,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 72,
      "startLine" : 54,
      "endLine" : 60,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/context/AIAgentLLMContextImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 105,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 85,
      "startLine" : 38,
      "endLine" : 44,
      "cleanedStartLine" : 20,
      "cleanedEndLine" : 26
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-memory/src/jvmTest/kotlin/ai/koog/agents/memory/feature/RetrieveFactsFromHistoryTest.kt",
        "extension" : "kt",
        "linesOfCode" : 194,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 152,
      "startLine" : 145,
      "endLine" : 151,
      "cleanedStartLine" : 74,
      "cleanedEndLine" : 80
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-memory/src/jvmTest/kotlin/ai/koog/agents/memory/feature/RetrieveFactsFromHistoryTest.kt",
        "extension" : "kt",
        "linesOfCode" : 194,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 152,
      "startLine" : 237,
      "endLine" : 243,
      "cleanedStartLine" : 128,
      "cleanedEndLine" : 134
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-a2a-core/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 31,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 22,
      "endLine" : 31,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "agents/agents-tools/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 38,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 28,
      "endLine" : 37,
      "cleanedStartLine" : 17,
      "cleanedEndLine" : 23
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicModelsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 50,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 36,
      "startLine" : 50,
      "endLine" : 57,
      "cleanedStartLine" : 30,
      "cleanedEndLine" : 36
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/modelfamilies/ai21/JambaDataModelsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 369,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 304,
      "startLine" : 73,
      "endLine" : 80,
      "cleanedStartLine" : 46,
      "cleanedEndLine" : 52
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 328,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 286,
      "startLine" : 154,
      "endLine" : 160,
      "cleanedStartLine" : 85,
      "cleanedEndLine" : 91
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 328,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 286,
      "startLine" : 178,
      "endLine" : 184,
      "cleanedStartLine" : 107,
      "cleanedEndLine" : 113
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipeline.kt",
        "extension" : "kt",
        "linesOfCode" : 448,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 394,
      "startLine" : 383,
      "endLine" : 389,
      "cleanedStartLine" : 124,
      "cleanedEndLine" : 130
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 846,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 674,
      "startLine" : 347,
      "endLine" : 353,
      "cleanedStartLine" : 191,
      "cleanedEndLine" : 197
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-transport/a2a-transport-client-jsonrpc-http/src/commonTest/kotlin/ai/koog/a2a/transport/client/jsonrpc/http/HttpJSONRPCClientTransportTest.kt",
        "extension" : "kt",
        "linesOfCode" : 389,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 327,
      "startLine" : 189,
      "endLine" : 196,
      "cleanedStartLine" : 111,
      "cleanedEndLine" : 117
    }, {
      "file" : {
        "relativePath" : "a2a/a2a-transport/a2a-transport-client-jsonrpc-http/src/commonTest/kotlin/ai/koog/a2a/transport/client/jsonrpc/http/HttpJSONRPCClientTransportTest.kt",
        "extension" : "kt",
        "linesOfCode" : 389,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 327,
      "startLine" : 232,
      "endLine" : 239,
      "cleanedStartLine" : 148,
      "cleanedEndLine" : 154
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/dsl/extension/ParallelNodesTest.kt",
        "extension" : "kt",
        "linesOfCode" : 380,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 299,
      "startLine" : 270,
      "endLine" : 280,
      "cleanedStartLine" : 173,
      "cleanedEndLine" : 179
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/dsl/extension/ParallelNodesTest.kt",
        "extension" : "kt",
        "linesOfCode" : 380,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 299,
      "startLine" : 311,
      "endLine" : 321,
      "cleanedStartLine" : 200,
      "cleanedEndLine" : 206
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipeline.kt",
        "extension" : "kt",
        "linesOfCode" : 448,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 394,
      "startLine" : 383,
      "endLine" : 389,
      "cleanedStartLine" : 124,
      "cleanedEndLine" : 130
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 846,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 674,
      "startLine" : 324,
      "endLine" : 330,
      "cleanedStartLine" : 170,
      "cleanedEndLine" : 176
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-llms/src/commonMain/kotlin/ai/koog/prompt/executor/llms/MultiLLMPromptExecutor.kt",
        "extension" : "kt",
        "linesOfCode" : 110,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 80,
      "startLine" : 150,
      "endLine" : 166,
      "cleanedStartLine" : 42,
      "cleanedEndLine" : 48
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-llms/src/commonMain/kotlin/ai/koog/prompt/executor/llms/SingleLLMPromptExecutor.kt",
        "extension" : "kt",
        "linesOfCode" : 52,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 39,
      "endLine" : 48,
      "cleanedStartLine" : 14,
      "cleanedEndLine" : 20
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-test/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 31,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 1,
      "endLine" : 9,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 7
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 51,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 6,
      "endLine" : 14,
      "cleanedStartLine" : 3,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipeline.kt",
        "extension" : "kt",
        "linesOfCode" : 448,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 394,
      "startLine" : 308,
      "endLine" : 314,
      "cleanedStartLine" : 90,
      "cleanedEndLine" : 96
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 328,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 286,
      "startLine" : 191,
      "endLine" : 197,
      "cleanedStartLine" : 119,
      "cleanedEndLine" : 125
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/dsl/extension/ParallelNodesMergeContextTest.kt",
        "extension" : "kt",
        "linesOfCode" : 133,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 95,
      "startLine" : 124,
      "endLine" : 134,
      "cleanedStartLine" : 72,
      "cleanedEndLine" : 78
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/dsl/extension/ParallelNodesMergeContextTest.kt",
        "extension" : "kt",
        "linesOfCode" : 133,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 95,
      "startLine" : 150,
      "endLine" : 160,
      "cleanedStartLine" : 88,
      "cleanedEndLine" : 94
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipeline.kt",
        "extension" : "kt",
        "linesOfCode" : 448,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 394,
      "startLine" : 308,
      "endLine" : 314,
      "cleanedStartLine" : 90,
      "cleanedEndLine" : 96
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 328,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 286,
      "startLine" : 178,
      "endLine" : 184,
      "cleanedStartLine" : 107,
      "cleanedEndLine" : 113
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-server/src/commonTest/kotlin/ai/koog/a2a/server/session/SessionEventProcessorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 287,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 234,
      "startLine" : 234,
      "endLine" : 240,
      "cleanedStartLine" : 143,
      "cleanedEndLine" : 149
    }, {
      "file" : {
        "relativePath" : "a2a/a2a-server/src/commonTest/kotlin/ai/koog/a2a/server/session/SessionEventProcessorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 287,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 234,
      "startLine" : 272,
      "endLine" : 278,
      "cleanedStartLine" : 170,
      "cleanedEndLine" : 176
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-deepseek-client/src/jvmTest/kotlin/deepseek/DeepSeekLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 247,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 191,
      "startLine" : 155,
      "endLine" : 163,
      "cleanedStartLine" : 96,
      "cleanedEndLine" : 102
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/mistralai/MistralAILLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 295,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 232,
      "startLine" : 180,
      "endLine" : 188,
      "cleanedStartLine" : 117,
      "cleanedEndLine" : 123
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/langfuse/LangfuseTraceStructureTest.kt",
        "extension" : "kt",
        "linesOfCode" : 249,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 236,
      "startLine" : 202,
      "endLine" : 208,
      "cleanedStartLine" : 171,
      "cleanedEndLine" : 177
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/weave/WeaveTraceStructureTest.kt",
        "extension" : "kt",
        "linesOfCode" : 270,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 257,
      "startLine" : 150,
      "endLine" : 156,
      "cleanedStartLine" : 125,
      "cleanedEndLine" : 131
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerTestAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 281,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 212,
      "startLine" : 181,
      "endLine" : 187,
      "cleanedStartLine" : 99,
      "cleanedEndLine" : 105
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageRemoteWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 816,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 671,
      "startLine" : 456,
      "endLine" : 462,
      "cleanedStartLine" : 297,
      "cleanedEndLine" : 303
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 267,
      "endLine" : 273,
      "cleanedStartLine" : 130,
      "cleanedEndLine" : 136
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 461,
      "endLine" : 467,
      "cleanedStartLine" : 248,
      "cleanedEndLine" : 254
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 328,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 286,
      "startLine" : 154,
      "endLine" : 160,
      "cleanedStartLine" : 85,
      "cleanedEndLine" : 91
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 328,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 286,
      "startLine" : 191,
      "endLine" : 197,
      "cleanedStartLine" : 119,
      "cleanedEndLine" : 125
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 99,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 84,
      "startLine" : 91,
      "endLine" : 97,
      "cleanedStartLine" : 14,
      "cleanedEndLine" : 20
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/AIAgentHelper.kt",
        "extension" : "kt",
        "linesOfCode" : 190,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 171,
      "startLine" : 51,
      "endLine" : 57,
      "cleanedStartLine" : 12,
      "cleanedEndLine" : 18
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/handler/tool/ToolCallEventContext.kt",
        "extension" : "kt",
        "linesOfCode" : 62,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 51,
      "startLine" : 26,
      "endLine" : 32,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 10
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/handler/tool/ToolCallEventContext.kt",
        "extension" : "kt",
        "linesOfCode" : 62,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 51,
      "startLine" : 104,
      "endLine" : 110,
      "cleanedStartLine" : 41,
      "cleanedEndLine" : 47
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 267,
      "endLine" : 273,
      "cleanedStartLine" : 130,
      "cleanedEndLine" : 136
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 398,
      "endLine" : 404,
      "cleanedStartLine" : 208,
      "cleanedEndLine" : 214
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 156,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 141,
      "startLine" : 131,
      "endLine" : 137,
      "cleanedStartLine" : 80,
      "cleanedEndLine" : 86
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/wasmJsMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 142,
      "endLine" : 148,
      "cleanedStartLine" : 121,
      "cleanedEndLine" : 127
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/androidMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 142,
      "endLine" : 148,
      "cleanedStartLine" : 121,
      "cleanedEndLine" : 127
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jsMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 87,
      "endLine" : 93,
      "cleanedStartLine" : 68,
      "cleanedEndLine" : 74
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/handler/tool/ToolCallEventContext.kt",
        "extension" : "kt",
        "linesOfCode" : 62,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 51,
      "startLine" : 26,
      "endLine" : 32,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 10
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/handler/tool/ToolCallEventContext.kt",
        "extension" : "kt",
        "linesOfCode" : 62,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 51,
      "startLine" : 78,
      "endLine" : 84,
      "cleanedStartLine" : 28,
      "cleanedEndLine" : 34
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 105,
      "endLine" : 111,
      "cleanedStartLine" : 26,
      "cleanedEndLine" : 32
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 461,
      "endLine" : 467,
      "cleanedStartLine" : 248,
      "cleanedEndLine" : 254
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 267,
      "endLine" : 273,
      "cleanedStartLine" : 130,
      "cleanedEndLine" : 136
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 429,
      "endLine" : 435,
      "cleanedStartLine" : 228,
      "cleanedEndLine" : 234
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-memory/src/jvmTest/kotlin/ai/koog/agents/memory/feature/RetrieveFactsFromHistoryTest.kt",
        "extension" : "kt",
        "linesOfCode" : 194,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 152,
      "startLine" : 186,
      "endLine" : 192,
      "cleanedStartLine" : 99,
      "cleanedEndLine" : 105
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-memory/src/jvmTest/kotlin/ai/koog/agents/memory/feature/RetrieveFactsFromHistoryTest.kt",
        "extension" : "kt",
        "linesOfCode" : 194,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 152,
      "startLine" : 237,
      "endLine" : 243,
      "cleanedStartLine" : 128,
      "cleanedEndLine" : 134
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 105,
      "endLine" : 111,
      "cleanedStartLine" : 26,
      "cleanedEndLine" : 32
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 429,
      "endLine" : 435,
      "cleanedStartLine" : 228,
      "cleanedEndLine" : 234
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/handler/tool/ToolCallEventContext.kt",
        "extension" : "kt",
        "linesOfCode" : 62,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 51,
      "startLine" : 26,
      "endLine" : 32,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 10
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/handler/tool/ToolCallEventContext.kt",
        "extension" : "kt",
        "linesOfCode" : 62,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 51,
      "startLine" : 51,
      "endLine" : 57,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 21
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 105,
      "endLine" : 111,
      "cleanedStartLine" : 26,
      "cleanedEndLine" : 32
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 398,
      "endLine" : 404,
      "cleanedStartLine" : 208,
      "cleanedEndLine" : 214
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-transport/a2a-transport-client-jsonrpc-http/src/commonTest/kotlin/ai/koog/a2a/transport/client/jsonrpc/http/HttpJSONRPCClientTransportTest.kt",
        "extension" : "kt",
        "linesOfCode" : 389,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 327,
      "startLine" : 269,
      "endLine" : 275,
      "cleanedStartLine" : 177,
      "cleanedEndLine" : 183
    }, {
      "file" : {
        "relativePath" : "a2a/a2a-transport/a2a-transport-client-jsonrpc-http/src/commonTest/kotlin/ai/koog/a2a/transport/client/jsonrpc/http/HttpJSONRPCClientTransportTest.kt",
        "extension" : "kt",
        "linesOfCode" : 389,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 327,
      "startLine" : 312,
      "endLine" : 318,
      "cleanedStartLine" : 212,
      "cleanedEndLine" : 218
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerTest.kt",
        "extension" : "kt",
        "linesOfCode" : 521,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 437,
      "startLine" : 302,
      "endLine" : 308,
      "cleanedStartLine" : 186,
      "cleanedEndLine" : 192
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerTest.kt",
        "extension" : "kt",
        "linesOfCode" : 521,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 437,
      "startLine" : 354,
      "endLine" : 360,
      "cleanedStartLine" : 238,
      "cleanedEndLine" : 244
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-llm/src/commonMain/kotlin/ai/koog/prompt/llm/OllamaModels.kt",
        "extension" : "kt",
        "linesOfCode" : 137,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 131,
      "startLine" : 198,
      "endLine" : 204,
      "cleanedStartLine" : 76,
      "cleanedEndLine" : 82
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-llm/src/commonMain/kotlin/ai/koog/prompt/llm/OllamaModels.kt",
        "extension" : "kt",
        "linesOfCode" : 137,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 131,
      "startLine" : 287,
      "endLine" : 293,
      "cleanedStartLine" : 111,
      "cleanedEndLine" : 117
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/mistralai/models/MistralAISerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 146,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 114,
      "startLine" : 50,
      "endLine" : 56,
      "cleanedStartLine" : 22,
      "cleanedEndLine" : 28
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openrouter-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/openrouter/models/OpenRouterSerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 670,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 554,
      "startLine" : 72,
      "endLine" : 78,
      "cleanedStartLine" : 31,
      "cleanedEndLine" : 37
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetrySpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 256,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 224,
      "startLine" : 215,
      "endLine" : 221,
      "cleanedStartLine" : 155,
      "cleanedEndLine" : 161
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetrySubgraphTest.kt",
        "extension" : "kt",
        "linesOfCode" : 334,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 313,
      "startLine" : 226,
      "endLine" : 232,
      "cleanedStartLine" : 185,
      "cleanedEndLine" : 191
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentGraphPipeline.kt",
        "extension" : "kt",
        "linesOfCode" : 107,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 90,
      "startLine" : 174,
      "endLine" : 180,
      "cleanedStartLine" : 59,
      "cleanedEndLine" : 65
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentGraphPipelineImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 181,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 142,
      "startLine" : 138,
      "endLine" : 144,
      "cleanedStartLine" : 84,
      "cleanedEndLine" : 90
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rag/vector-storage/src/commonTest/kotlin/ai/koog/rag/vector/TextFileDocumentEmbeddingStorageTest.kt",
        "extension" : "kt",
        "linesOfCode" : 141,
        "components" : [ "primary::rag" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 112,
      "startLine" : 64,
      "endLine" : 72,
      "cleanedStartLine" : 32,
      "cleanedEndLine" : 38
    }, {
      "file" : {
        "relativePath" : "rag/vector-storage/src/jvmTest/kotlin/ai/koog/rag/vector/JVMTextFileDocumentEmbeddingStorageTest.kt",
        "extension" : "kt",
        "linesOfCode" : 234,
        "components" : [ "primary::rag" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 193,
      "startLine" : 75,
      "endLine" : 83,
      "cleanedStartLine" : 42,
      "cleanedEndLine" : 48
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/appleMain/kotlin/ai/koog/agents/core/agent/context/AIAgentFunctionalContext.kt",
        "extension" : "kt",
        "linesOfCode" : 100,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 87,
      "startLine" : 60,
      "endLine" : 66,
      "cleanedStartLine" : 42,
      "cleanedEndLine" : 48
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/context/AIAgentFunctionalContextImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 483,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 365,
      "startLine" : 296,
      "endLine" : 302,
      "cleanedStartLine" : 170,
      "cleanedEndLine" : 176
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerTest.kt",
        "extension" : "kt",
        "linesOfCode" : 521,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 437,
      "startLine" : 354,
      "endLine" : 360,
      "cleanedStartLine" : 238,
      "cleanedEndLine" : 244
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerTestAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 281,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 212,
      "startLine" : 181,
      "endLine" : 187,
      "cleanedStartLine" : 99,
      "cleanedEndLine" : 105
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/langfuse/LangfuseTraceStructureTest.kt",
        "extension" : "kt",
        "linesOfCode" : 249,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 236,
      "startLine" : 182,
      "endLine" : 188,
      "cleanedStartLine" : 154,
      "cleanedEndLine" : 160
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/weave/WeaveTraceStructureTest.kt",
        "extension" : "kt",
        "linesOfCode" : 270,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 257,
      "startLine" : 268,
      "endLine" : 274,
      "cleanedStartLine" : 235,
      "cleanedEndLine" : 241
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/modelfamilies/ai21/BedrockAI21JambaSerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 224,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 176,
      "startLine" : 115,
      "endLine" : 121,
      "cleanedStartLine" : 62,
      "cleanedEndLine" : 68
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/modelfamilies/amazon/BedrockAmazonNovaSerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 311,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 238,
      "startLine" : 290,
      "endLine" : 296,
      "cleanedStartLine" : 180,
      "cleanedEndLine" : 186
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 328,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 286,
      "startLine" : 191,
      "endLine" : 197,
      "cleanedStartLine" : 119,
      "cleanedEndLine" : 125
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 846,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 674,
      "startLine" : 374,
      "endLine" : 380,
      "cleanedStartLine" : 216,
      "cleanedEndLine" : 222
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryNodeExecuteSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 307,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 276,
      "startLine" : 56,
      "endLine" : 62,
      "cleanedStartLine" : 29,
      "cleanedEndLine" : 35
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetrySpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 256,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 224,
      "startLine" : 203,
      "endLine" : 209,
      "cleanedStartLine" : 143,
      "cleanedEndLine" : 149
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 99,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 84,
      "startLine" : 137,
      "endLine" : 143,
      "cleanedStartLine" : 33,
      "cleanedEndLine" : 39
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/AIAgentHelper.kt",
        "extension" : "kt",
        "linesOfCode" : 190,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 171,
      "startLine" : 118,
      "endLine" : 124,
      "cleanedStartLine" : 52,
      "cleanedEndLine" : 58
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/CheckpointsTests.kt",
        "extension" : "kt",
        "linesOfCode" : 793,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 646,
      "startLine" : 469,
      "endLine" : 476,
      "cleanedStartLine" : 298,
      "cleanedEndLine" : 304
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/ai/koog/agents/snapshot/providers/file/FileCheckpointsTests.kt",
        "extension" : "kt",
        "linesOfCode" : 236,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 188,
      "startLine" : 148,
      "endLine" : 155,
      "cleanedStartLine" : 89,
      "cleanedEndLine" : 95
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/context/AIAgentLLMContext.kt",
        "extension" : "kt",
        "linesOfCode" : 86,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 72,
      "startLine" : 54,
      "endLine" : 60,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmMain/kotlin/ai/koog/agents/core/agent/context/AIAgentLLMContext.kt",
        "extension" : "kt",
        "linesOfCode" : 82,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 59,
      "startLine" : 29,
      "endLine" : 35,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 16
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryInferenceSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 556,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 517,
      "startLine" : 416,
      "endLine" : 425,
      "cleanedStartLine" : 340,
      "cleanedEndLine" : 346
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryInferenceSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 556,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 517,
      "startLine" : 556,
      "endLine" : 565,
      "cleanedStartLine" : 462,
      "cleanedEndLine" : 468
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 105,
      "endLine" : 111,
      "cleanedStartLine" : 26,
      "cleanedEndLine" : 32
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 267,
      "endLine" : 273,
      "cleanedStartLine" : 130,
      "cleanedEndLine" : 136
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/context/AIAgentLLMContext.kt",
        "extension" : "kt",
        "linesOfCode" : 86,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 72,
      "startLine" : 54,
      "endLine" : 60,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmMain/kotlin/ai/koog/agents/core/agent/context/AIAgentLLMContext.kt",
        "extension" : "kt",
        "linesOfCode" : 82,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 59,
      "startLine" : 46,
      "endLine" : 52,
      "cleanedStartLine" : 26,
      "cleanedEndLine" : 32
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 105,
      "endLine" : 111,
      "cleanedStartLine" : 26,
      "cleanedEndLine" : 32
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 234,
      "endLine" : 240,
      "cleanedStartLine" : 110,
      "cleanedEndLine" : 116
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-test/src/commonMain/kotlin/ai/koog/agents/testing/tools/MockLLMExecutor.kt",
        "extension" : "kt",
        "linesOfCode" : 160,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 119,
      "startLine" : 208,
      "endLine" : 214,
      "cleanedStartLine" : 78,
      "cleanedEndLine" : 84
    }, {
      "file" : {
        "relativePath" : "agents/agents-test/src/commonMain/kotlin/ai/koog/agents/testing/tools/MockLLMExecutor.kt",
        "extension" : "kt",
        "linesOfCode" : 160,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 119,
      "startLine" : 219,
      "endLine" : 225,
      "cleanedStartLine" : 87,
      "cleanedEndLine" : 93
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/SubgraphCheckpointsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 183,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 146,
      "startLine" : 68,
      "endLine" : 78,
      "cleanedStartLine" : 39,
      "cleanedEndLine" : 45
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/SubgraphSetExecutionPointTest.kt",
        "extension" : "kt",
        "linesOfCode" : 176,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 143,
      "startLine" : 137,
      "endLine" : 146,
      "cleanedStartLine" : 101,
      "cleanedEndLine" : 107
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipeline.kt",
        "extension" : "kt",
        "linesOfCode" : 448,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 394,
      "startLine" : 165,
      "endLine" : 171,
      "cleanedStartLine" : 35,
      "cleanedEndLine" : 41
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 328,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 286,
      "startLine" : 88,
      "endLine" : 94,
      "cleanedStartLine" : 32,
      "cleanedEndLine" : 38
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/SubgraphCheckpointsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 183,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 146,
      "startLine" : 68,
      "endLine" : 78,
      "cleanedStartLine" : 39,
      "cleanedEndLine" : 45
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/SubgraphSetExecutionPointTest.kt",
        "extension" : "kt",
        "linesOfCode" : 176,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 143,
      "startLine" : 164,
      "endLine" : 173,
      "cleanedStartLine" : 123,
      "cleanedEndLine" : 129
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 105,
      "endLine" : 111,
      "cleanedStartLine" : 26,
      "cleanedEndLine" : 32
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 367,
      "endLine" : 373,
      "cleanedStartLine" : 188,
      "cleanedEndLine" : 194
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/langfuse/LangfuseTraceStructureTest.kt",
        "extension" : "kt",
        "linesOfCode" : 249,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 236,
      "startLine" : 251,
      "endLine" : 257,
      "cleanedStartLine" : 218,
      "cleanedEndLine" : 224
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/weave/WeaveTraceStructureTest.kt",
        "extension" : "kt",
        "linesOfCode" : 270,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 257,
      "startLine" : 185,
      "endLine" : 191,
      "cleanedStartLine" : 159,
      "cleanedEndLine" : 165
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipeline.kt",
        "extension" : "kt",
        "linesOfCode" : 448,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 394,
      "startLine" : 383,
      "endLine" : 389,
      "cleanedStartLine" : 124,
      "cleanedEndLine" : 130
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 846,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 674,
      "startLine" : 374,
      "endLine" : 380,
      "cleanedStartLine" : 216,
      "cleanedEndLine" : 222
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/context/AIAgentLLMContext.kt",
        "extension" : "kt",
        "linesOfCode" : 86,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 72,
      "startLine" : 54,
      "endLine" : 60,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmMain/kotlin/ai/koog/agents/core/agent/context/AIAgentLLMContext.kt",
        "extension" : "kt",
        "linesOfCode" : 82,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 59,
      "startLine" : 101,
      "endLine" : 107,
      "cleanedStartLine" : 51,
      "cleanedEndLine" : 57
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/NodeUniquenessCheckpointTest.kt",
        "extension" : "kt",
        "linesOfCode" : 99,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 71,
      "startLine" : 27,
      "endLine" : 34,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 8
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-sql/src/jvmTest/kotlin/ai/koog/agents/features/sql/providers/PostgresPersistenceAgentRunTest.kt",
        "extension" : "kt",
        "linesOfCode" : 243,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 182,
      "startLine" : 98,
      "endLine" : 105,
      "cleanedStartLine" : 46,
      "cleanedEndLine" : 52
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rag/vector-storage/src/commonTest/kotlin/ai/koog/rag/vector/TextFileDocumentEmbeddingStorageTest.kt",
        "extension" : "kt",
        "linesOfCode" : 141,
        "components" : [ "primary::rag" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 112,
      "startLine" : 19,
      "endLine" : 29,
      "cleanedStartLine" : 3,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "rag/vector-storage/src/jvmTest/kotlin/ai/koog/rag/vector/JVMTextFileDocumentEmbeddingStorageTest.kt",
        "extension" : "kt",
        "linesOfCode" : 234,
        "components" : [ "primary::rag" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 193,
      "startLine" : 17,
      "endLine" : 27,
      "cleanedStartLine" : 3,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-acp/src/jvmMain/kotlin/ai/koog/agents/features/acp/MessageConverters.kt",
        "extension" : "kt",
        "linesOfCode" : 201,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 153,
      "startLine" : 107,
      "endLine" : 114,
      "cleanedStartLine" : 55,
      "cleanedEndLine" : 61
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-acp/src/jvmMain/kotlin/ai/koog/agents/features/acp/MessageConverters.kt",
        "extension" : "kt",
        "linesOfCode" : 201,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 153,
      "startLine" : 126,
      "endLine" : 134,
      "cleanedStartLine" : 70,
      "cleanedEndLine" : 76
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 105,
      "endLine" : 111,
      "cleanedStartLine" : 26,
      "cleanedEndLine" : 32
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 301,
      "endLine" : 307,
      "cleanedStartLine" : 150,
      "cleanedEndLine" : 156
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/TraceStructureTestBase.kt",
        "extension" : "kt",
        "linesOfCode" : 802,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 688,
      "startLine" : 632,
      "endLine" : 638,
      "cleanedStartLine" : 443,
      "cleanedEndLine" : 449
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/TraceStructureTestBase.kt",
        "extension" : "kt",
        "linesOfCode" : 802,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 688,
      "startLine" : 643,
      "endLine" : 649,
      "cleanedStartLine" : 453,
      "cleanedEndLine" : 459
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 132,
      "endLine" : 138,
      "cleanedStartLine" : 42,
      "cleanedEndLine" : 48
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 610,
      "endLine" : 616,
      "cleanedStartLine" : 336,
      "cleanedEndLine" : 342
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rag/rag-base/src/jvmMain/kotlin/ai/koog/rag/base/files/JVMFileSystemProvider.kt",
        "extension" : "kt",
        "linesOfCode" : 217,
        "components" : [ "primary::rag" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 136,
      "startLine" : 402,
      "endLine" : 410,
      "cleanedStartLine" : 97,
      "cleanedEndLine" : 103
    }, {
      "file" : {
        "relativePath" : "rag/rag-base/src/jvmMain/kotlin/ai/koog/rag/base/files/JVMFileSystemProvider.kt",
        "extension" : "kt",
        "linesOfCode" : 217,
        "components" : [ "primary::rag" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 136,
      "startLine" : 439,
      "endLine" : 447,
      "cleanedStartLine" : 115,
      "cleanedEndLine" : 121
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/context/AIAgentLLMContext.kt",
        "extension" : "kt",
        "linesOfCode" : 86,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 72,
      "startLine" : 135,
      "endLine" : 141,
      "cleanedStartLine" : 51,
      "cleanedEndLine" : 57
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmMain/kotlin/ai/koog/agents/core/agent/context/AIAgentLLMContext.kt",
        "extension" : "kt",
        "linesOfCode" : 82,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 59,
      "startLine" : 101,
      "endLine" : 107,
      "cleanedStartLine" : 51,
      "cleanedEndLine" : 57
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 132,
      "endLine" : 138,
      "cleanedStartLine" : 42,
      "cleanedEndLine" : 48
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 579,
      "endLine" : 585,
      "cleanedStartLine" : 317,
      "cleanedEndLine" : 323
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/TraceStructureTestBase.kt",
        "extension" : "kt",
        "linesOfCode" : 802,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 688,
      "startLine" : 276,
      "endLine" : 282,
      "cleanedStartLine" : 171,
      "cleanedEndLine" : 177
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/TraceStructureTestBase.kt",
        "extension" : "kt",
        "linesOfCode" : 802,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 688,
      "startLine" : 362,
      "endLine" : 368,
      "cleanedStartLine" : 234,
      "cleanedEndLine" : 240
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-test/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 31,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 1,
      "endLine" : 9,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 7
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-a2a-server/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 32,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 6,
      "endLine" : 14,
      "cleanedStartLine" : 3,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-deepseek-client/src/jvmTest/kotlin/deepseek/DeepSeekLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 247,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 191,
      "startLine" : 202,
      "endLine" : 209,
      "cleanedStartLine" : 133,
      "cleanedEndLine" : 139
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/mistralai/MistralAILLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 295,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 232,
      "startLine" : 234,
      "endLine" : 241,
      "cleanedStartLine" : 158,
      "cleanedEndLine" : 164
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/debugger/Debugger.kt",
        "extension" : "kt",
        "linesOfCode" : 399,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 318,
      "startLine" : 360,
      "endLine" : 366,
      "cleanedStartLine" : 203,
      "cleanedEndLine" : 209
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/commonMain/kotlin/ai/koog/agents/features/tracing/feature/Tracing.kt",
        "extension" : "kt",
        "linesOfCode" : 335,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 266,
      "startLine" : 391,
      "endLine" : 397,
      "cleanedStartLine" : 220,
      "cleanedEndLine" : 226
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/debugger/Debugger.kt",
        "extension" : "kt",
        "linesOfCode" : 399,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 318,
      "startLine" : 360,
      "endLine" : 366,
      "cleanedStartLine" : 203,
      "cleanedEndLine" : 209
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/commonMain/kotlin/ai/koog/agents/features/tracing/feature/Tracing.kt",
        "extension" : "kt",
        "linesOfCode" : 335,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 266,
      "startLine" : 422,
      "endLine" : 428,
      "cleanedStartLine" : 247,
      "cleanedEndLine" : 253
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/SubgraphCheckpointsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 183,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 146,
      "startLine" : 95,
      "endLine" : 105,
      "cleanedStartLine" : 60,
      "cleanedEndLine" : 66
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/SubgraphSetExecutionPointTest.kt",
        "extension" : "kt",
        "linesOfCode" : 176,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 143,
      "startLine" : 164,
      "endLine" : 173,
      "cleanedStartLine" : 123,
      "cleanedEndLine" : 129
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/SubgraphCheckpointsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 183,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 146,
      "startLine" : 95,
      "endLine" : 105,
      "cleanedStartLine" : 60,
      "cleanedEndLine" : 66
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/SubgraphSetExecutionPointTest.kt",
        "extension" : "kt",
        "linesOfCode" : 176,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 143,
      "startLine" : 137,
      "endLine" : 146,
      "cleanedStartLine" : 101,
      "cleanedEndLine" : 107
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/event/SystemMessageEventTest.kt",
        "extension" : "kt",
        "linesOfCode" : 44,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 44,
      "endLine" : 51,
      "cleanedStartLine" : 21,
      "cleanedEndLine" : 27
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/event/UserMessageEventTest.kt",
        "extension" : "kt",
        "linesOfCode" : 44,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 44,
      "endLine" : 51,
      "cleanedStartLine" : 21,
      "cleanedEndLine" : 27
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/context/AIAgentLLMContext.kt",
        "extension" : "kt",
        "linesOfCode" : 86,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 72,
      "startLine" : 54,
      "endLine" : 60,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jsMain/kotlin/ai/koog/agents/core/agent/context/AIAgentLLMContext.kt",
        "extension" : "kt",
        "linesOfCode" : 32,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 23,
      "endLine" : 29,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 16
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/commonTest/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicSerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 335,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 278,
      "startLine" : 44,
      "endLine" : 54,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 21
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/commonTest/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicSerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 335,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 278,
      "startLine" : 81,
      "endLine" : 91,
      "cleanedStartLine" : 44,
      "cleanedEndLine" : 50
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-test/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 31,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 1,
      "endLine" : 9,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 7
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-deepseek-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 29,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 19,
      "startLine" : 6,
      "endLine" : 14,
      "cleanedStartLine" : 3,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 328,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 286,
      "startLine" : 165,
      "endLine" : 171,
      "cleanedStartLine" : 95,
      "cleanedEndLine" : 101
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 328,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 286,
      "startLine" : 191,
      "endLine" : 197,
      "cleanedStartLine" : 119,
      "cleanedEndLine" : 125
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/session/AIAgentLLMWriteSession.kt",
        "extension" : "kt",
        "linesOfCode" : 188,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 155,
      "startLine" : 142,
      "endLine" : 154,
      "cleanedStartLine" : 66,
      "cleanedEndLine" : 72
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/session/AIAgentLLMWriteSessionAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 61,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 170,
      "endLine" : 223,
      "cleanedStartLine" : 22,
      "cleanedEndLine" : 28
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-test/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 31,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 1,
      "endLine" : 9,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 7
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-tokenizer/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 36,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 24,
      "startLine" : 6,
      "endLine" : 14,
      "cleanedStartLine" : 3,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 156,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 141,
      "startLine" : 131,
      "endLine" : 137,
      "cleanedStartLine" : 80,
      "cleanedEndLine" : 86
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 156,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 141,
      "startLine" : 186,
      "endLine" : 192,
      "cleanedStartLine" : 133,
      "cleanedEndLine" : 139
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-event-handler/src/commonMain/kotlin/ai/koog/agents/features/eventHandler/feature/EventHandlerConfigAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 195,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 156,
      "startLine" : 291,
      "endLine" : 297,
      "cleanedStartLine" : 42,
      "cleanedEndLine" : 48
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-event-handler/src/commonMain/kotlin/ai/koog/agents/features/eventHandler/feature/EventHandlerConfigImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 425,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 305,
      "startLine" : 341,
      "endLine" : 347,
      "cleanedStartLine" : 150,
      "cleanedEndLine" : 156
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 137,
      "endLine" : 143,
      "cleanedStartLine" : 47,
      "cleanedEndLine" : 53
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 267,
      "endLine" : 273,
      "cleanedStartLine" : 130,
      "cleanedEndLine" : 136
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 137,
      "endLine" : 143,
      "cleanedStartLine" : 47,
      "cleanedEndLine" : 53
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 301,
      "endLine" : 307,
      "cleanedStartLine" : 150,
      "cleanedEndLine" : 156
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-acp/src/jvmMain/kotlin/ai/koog/agents/features/acp/MessageConverters.kt",
        "extension" : "kt",
        "linesOfCode" : 201,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 153,
      "startLine" : 66,
      "endLine" : 74,
      "cleanedStartLine" : 24,
      "cleanedEndLine" : 30
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-acp/src/jvmMain/kotlin/ai/koog/agents/features/acp/MessageConverters.kt",
        "extension" : "kt",
        "linesOfCode" : 201,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 153,
      "startLine" : 107,
      "endLine" : 114,
      "cleanedStartLine" : 55,
      "cleanedEndLine" : 61
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryNodeExecuteSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 307,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 276,
      "startLine" : 133,
      "endLine" : 139,
      "cleanedStartLine" : 96,
      "cleanedEndLine" : 102
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetrySpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 256,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 224,
      "startLine" : 121,
      "endLine" : 127,
      "cleanedStartLine" : 67,
      "cleanedEndLine" : 73
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-test/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 31,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 1,
      "endLine" : 9,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 7
    }, {
      "file" : {
        "relativePath" : "a2a/a2a-transport/a2a-transport-server-jsonrpc-http/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 41,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 6,
      "endLine" : 14,
      "cleanedStartLine" : 3,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-test/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 31,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 1,
      "endLine" : 9,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 7
    }, {
      "file" : {
        "relativePath" : "agents/agents-ext/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 36,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 6,
      "endLine" : 14,
      "cleanedStartLine" : 3,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/SubgraphCheckpointsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 183,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 146,
      "startLine" : 68,
      "endLine" : 78,
      "cleanedStartLine" : 39,
      "cleanedEndLine" : 45
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/SubgraphSetExecutionPointTest.kt",
        "extension" : "kt",
        "linesOfCode" : 176,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 143,
      "startLine" : 85,
      "endLine" : 94,
      "cleanedStartLine" : 59,
      "cleanedEndLine" : 65
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/SubgraphCheckpointsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 183,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 146,
      "startLine" : 68,
      "endLine" : 78,
      "cleanedStartLine" : 39,
      "cleanedEndLine" : 45
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/SubgraphSetExecutionPointTest.kt",
        "extension" : "kt",
        "linesOfCode" : 176,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 143,
      "startLine" : 57,
      "endLine" : 66,
      "cleanedStartLine" : 36,
      "cleanedEndLine" : 42
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-a2a-server/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 32,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 23,
      "endLine" : 32,
      "cleanedStartLine" : 14,
      "cleanedEndLine" : 20
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 62,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 47,
      "startLine" : 35,
      "endLine" : 44,
      "cleanedStartLine" : 22,
      "cleanedEndLine" : 28
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipeline.kt",
        "extension" : "kt",
        "linesOfCode" : 448,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 394,
      "startLine" : 308,
      "endLine" : 314,
      "cleanedStartLine" : 90,
      "cleanedEndLine" : 96
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 846,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 674,
      "startLine" : 347,
      "endLine" : 353,
      "cleanedStartLine" : 191,
      "cleanedEndLine" : 197
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jsMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 142,
      "endLine" : 148,
      "cleanedStartLine" : 121,
      "cleanedEndLine" : 127
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/wasmJsMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 87,
      "endLine" : 93,
      "cleanedStartLine" : 68,
      "cleanedEndLine" : 74
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-ollama-client/src/commonTest/kotlin/ai/koog/prompt/executor/ollama/client/OllamaToolDescriptorConverterAdditionalTest.kt",
        "extension" : "kt",
        "linesOfCode" : 129,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 109,
      "startLine" : 97,
      "endLine" : 107,
      "cleanedStartLine" : 74,
      "cleanedEndLine" : 80
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client-base/src/commonTest/kotlin/ai/koog/prompt/executor/clients/openai/base/OpenAICompatibleToolDescriptorConverterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 214,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 181,
      "startLine" : 92,
      "endLine" : 102,
      "cleanedStartLine" : 70,
      "cleanedEndLine" : 76
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/GenAIAgentSpanUtilsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 329,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 292,
      "startLine" : 54,
      "endLine" : 63,
      "cleanedStartLine" : 29,
      "cleanedEndLine" : 35
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/GenAIAgentSpanUtilsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 329,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 292,
      "startLine" : 206,
      "endLine" : 215,
      "cleanedStartLine" : 138,
      "cleanedEndLine" : 144
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-memory/src/jvmTest/kotlin/ai/koog/agents/memory/AIAgentMemoryTest.kt",
        "extension" : "kt",
        "linesOfCode" : 470,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 399,
      "startLine" : 106,
      "endLine" : 112,
      "cleanedStartLine" : 41,
      "cleanedEndLine" : 47
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-memory/src/jvmTest/kotlin/ai/koog/agents/memory/feature/RetrieveFactsFromHistoryTest.kt",
        "extension" : "kt",
        "linesOfCode" : 194,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 152,
      "startLine" : 237,
      "endLine" : 243,
      "cleanedStartLine" : 128,
      "cleanedEndLine" : 134
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/SubgraphCheckpointsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 183,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 146,
      "startLine" : 68,
      "endLine" : 78,
      "cleanedStartLine" : 39,
      "cleanedEndLine" : 45
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/SubgraphSetExecutionPointTest.kt",
        "extension" : "kt",
        "linesOfCode" : 176,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 143,
      "startLine" : 110,
      "endLine" : 119,
      "cleanedStartLine" : 79,
      "cleanedEndLine" : 85
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageFileWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 509,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 418,
      "startLine" : 120,
      "endLine" : 128,
      "cleanedStartLine" : 42,
      "cleanedEndLine" : 48
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageRemoteWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 816,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 671,
      "startLine" : 810,
      "endLine" : 818,
      "cleanedStartLine" : 576,
      "cleanedEndLine" : 582
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-test/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 31,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 1,
      "endLine" : 9,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 7
    }, {
      "file" : {
        "relativePath" : "koog-ktor/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 58,
        "components" : [ "primary::koog-ktor" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 40,
      "startLine" : 6,
      "endLine" : 14,
      "cleanedStartLine" : 3,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/dsl/extension/HistoryCompressionStrategiesTest.kt",
        "extension" : "kt",
        "linesOfCode" : 419,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 379,
      "startLine" : 214,
      "endLine" : 220,
      "cleanedStartLine" : 167,
      "cleanedEndLine" : 173
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/dsl/extension/HistoryCompressionStrategiesTest.kt",
        "extension" : "kt",
        "linesOfCode" : 419,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 379,
      "startLine" : 278,
      "endLine" : 284,
      "cleanedStartLine" : 230,
      "cleanedEndLine" : 236
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/dsl/extension/HistoryCompressionStrategiesTest.kt",
        "extension" : "kt",
        "linesOfCode" : 419,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 379,
      "startLine" : 214,
      "endLine" : 220,
      "cleanedStartLine" : 167,
      "cleanedEndLine" : 173
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/dsl/extension/HistoryCompressionStrategiesTest.kt",
        "extension" : "kt",
        "linesOfCode" : 419,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 379,
      "startLine" : 313,
      "endLine" : 319,
      "cleanedStartLine" : 264,
      "cleanedEndLine" : 270
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-test/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 31,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 1,
      "endLine" : 9,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 7
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-a2a-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 32,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 6,
      "endLine" : 14,
      "cleanedStartLine" : 3,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryNodeExecuteSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 307,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 276,
      "startLine" : 80,
      "endLine" : 89,
      "cleanedStartLine" : 53,
      "cleanedEndLine" : 59
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryNodeExecuteSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 307,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 276,
      "startLine" : 278,
      "endLine" : 287,
      "cleanedStartLine" : 222,
      "cleanedEndLine" : 228
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-transport/a2a-transport-server-jsonrpc-http/src/jvmTest/kotlin/ai/koog/a2a/transport/server/jsonrpc/http/HttpJSONRPCServerTransportTest.kt",
        "extension" : "kt",
        "linesOfCode" : 547,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 452,
      "startLine" : 440,
      "endLine" : 448,
      "cleanedStartLine" : 305,
      "cleanedEndLine" : 311
    }, {
      "file" : {
        "relativePath" : "a2a/a2a-transport/a2a-transport-server-jsonrpc-http/src/jvmTest/kotlin/ai/koog/a2a/transport/server/jsonrpc/http/HttpJSONRPCServerTransportTest.kt",
        "extension" : "kt",
        "linesOfCode" : 547,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 452,
      "startLine" : 542,
      "endLine" : 550,
      "cleanedStartLine" : 384,
      "cleanedEndLine" : 390
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/context/AIAgentLLMContext.kt",
        "extension" : "kt",
        "linesOfCode" : 86,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 72,
      "startLine" : 54,
      "endLine" : 60,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/context/AIAgentLLMContext.kt",
        "extension" : "kt",
        "linesOfCode" : 86,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 72,
      "startLine" : 135,
      "endLine" : 141,
      "cleanedStartLine" : 51,
      "cleanedEndLine" : 57
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-a2a-core/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 31,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 22,
      "endLine" : 31,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 62,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 47,
      "startLine" : 35,
      "endLine" : 44,
      "cleanedStartLine" : 22,
      "cleanedEndLine" : 28
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/appleMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 142,
      "endLine" : 148,
      "cleanedStartLine" : 121,
      "cleanedEndLine" : 127
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jsMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 87,
      "endLine" : 93,
      "cleanedStartLine" : 68,
      "cleanedEndLine" : 74
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipeline.kt",
        "extension" : "kt",
        "linesOfCode" : 448,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 394,
      "startLine" : 308,
      "endLine" : 314,
      "cleanedStartLine" : 90,
      "cleanedEndLine" : 96
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 846,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 674,
      "startLine" : 401,
      "endLine" : 407,
      "cleanedStartLine" : 241,
      "cleanedEndLine" : 247
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/context/AIAgentLLMContext.kt",
        "extension" : "kt",
        "linesOfCode" : 86,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 72,
      "startLine" : 54,
      "endLine" : 60,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/context/AIAgentLLMContext.kt",
        "extension" : "kt",
        "linesOfCode" : 86,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 72,
      "startLine" : 165,
      "endLine" : 171,
      "cleanedStartLine" : 65,
      "cleanedEndLine" : 71
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipeline.kt",
        "extension" : "kt",
        "linesOfCode" : 448,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 394,
      "startLine" : 308,
      "endLine" : 314,
      "cleanedStartLine" : 90,
      "cleanedEndLine" : 96
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 846,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 674,
      "startLine" : 374,
      "endLine" : 380,
      "cleanedStartLine" : 216,
      "cleanedEndLine" : 222
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmMain/kotlin/ai/koog/agents/core/agent/context/AIAgentLLMContext.kt",
        "extension" : "kt",
        "linesOfCode" : 82,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 59,
      "startLine" : 101,
      "endLine" : 107,
      "cleanedStartLine" : 51,
      "cleanedEndLine" : 57
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/wasmJsMain/kotlin/ai/koog/agents/core/agent/context/AIAgentLLMContext.kt",
        "extension" : "kt",
        "linesOfCode" : 32,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 23,
      "endLine" : 29,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 16
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-test/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 31,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 1,
      "endLine" : 9,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 7
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 41,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 6,
      "endLine" : 14,
      "cleanedStartLine" : 3,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipeline.kt",
        "extension" : "kt",
        "linesOfCode" : 448,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 394,
      "startLine" : 332,
      "endLine" : 338,
      "cleanedStartLine" : 100,
      "cleanedEndLine" : 106
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipeline.kt",
        "extension" : "kt",
        "linesOfCode" : 448,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 394,
      "startLine" : 383,
      "endLine" : 389,
      "cleanedStartLine" : 124,
      "cleanedEndLine" : 130
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetrySubgraphTest.kt",
        "extension" : "kt",
        "linesOfCode" : 334,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 313,
      "startLine" : 21,
      "endLine" : 28,
      "cleanedStartLine" : 6,
      "cleanedEndLine" : 12
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetrySubgraphTest.kt",
        "extension" : "kt",
        "linesOfCode" : 334,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 313,
      "startLine" : 254,
      "endLine" : 261,
      "cleanedStartLine" : 208,
      "cleanedEndLine" : 214
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/androidMain/kotlin/ai/koog/agents/core/agent/context/AIAgentFunctionalContext.kt",
        "extension" : "kt",
        "linesOfCode" : 100,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 87,
      "startLine" : 60,
      "endLine" : 66,
      "cleanedStartLine" : 42,
      "cleanedEndLine" : 48
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/context/AIAgentFunctionalContextImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 483,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 365,
      "startLine" : 296,
      "endLine" : 302,
      "cleanedStartLine" : 170,
      "cleanedEndLine" : 176
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/agent/SingleRunStrategyTests.kt",
        "extension" : "kt",
        "linesOfCode" : 234,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 186,
      "startLine" : 46,
      "endLine" : 55,
      "cleanedStartLine" : 25,
      "cleanedEndLine" : 31
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/agent/SingleRunStrategyTests.kt",
        "extension" : "kt",
        "linesOfCode" : 234,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 186,
      "startLine" : 137,
      "endLine" : 146,
      "cleanedStartLine" : 83,
      "cleanedEndLine" : 89
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 41,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 31,
      "endLine" : 40,
      "cleanedStartLine" : 18,
      "cleanedEndLine" : 24
    }, {
      "file" : {
        "relativePath" : "agents/agents-tools/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 38,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 28,
      "endLine" : 37,
      "cleanedStartLine" : 17,
      "cleanedEndLine" : 23
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 295,
      "endLine" : 301,
      "cleanedStartLine" : 144,
      "cleanedEndLine" : 150
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 517,
      "endLine" : 523,
      "cleanedStartLine" : 278,
      "cleanedEndLine" : 284
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/langfuse/LangfuseTraceStructureTest.kt",
        "extension" : "kt",
        "linesOfCode" : 249,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 236,
      "startLine" : 182,
      "endLine" : 188,
      "cleanedStartLine" : 154,
      "cleanedEndLine" : 160
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/langfuse/LangfuseTraceStructureTest.kt",
        "extension" : "kt",
        "linesOfCode" : 249,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 236,
      "startLine" : 251,
      "endLine" : 257,
      "cleanedStartLine" : 218,
      "cleanedEndLine" : 224
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-structure/src/commonTest/kotlin/ai/koog/prompt/structure/json/generator/JsonSchemaGeneratorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 819,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 713,
      "startLine" : 190,
      "endLine" : 196,
      "cleanedStartLine" : 146,
      "cleanedEndLine" : 152
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-structure/src/commonTest/kotlin/ai/koog/prompt/structure/json/generator/JsonSchemaGeneratorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 819,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 713,
      "startLine" : 418,
      "endLine" : 424,
      "cleanedStartLine" : 331,
      "cleanedEndLine" : 337
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 393,
      "endLine" : 399,
      "cleanedStartLine" : 203,
      "cleanedEndLine" : 209
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 547,
      "endLine" : 553,
      "cleanedStartLine" : 297,
      "cleanedEndLine" : 303
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/environment/SafeToolTest.kt",
        "extension" : "kt",
        "linesOfCode" : 287,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 239,
      "startLine" : 204,
      "endLine" : 210,
      "cleanedStartLine" : 134,
      "cleanedEndLine" : 140
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/environment/SafeToolTest.kt",
        "extension" : "kt",
        "linesOfCode" : 287,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 239,
      "startLine" : 302,
      "endLine" : 308,
      "cleanedStartLine" : 207,
      "cleanedEndLine" : 213
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipeline.kt",
        "extension" : "kt",
        "linesOfCode" : 448,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 394,
      "startLine" : 146,
      "endLine" : 152,
      "cleanedStartLine" : 26,
      "cleanedEndLine" : 32
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 846,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 674,
      "startLine" : 206,
      "endLine" : 212,
      "cleanedStartLine" : 81,
      "cleanedEndLine" : 87
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/commonTest/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicSerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 335,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 278,
      "startLine" : 50,
      "endLine" : 57,
      "cleanedStartLine" : 18,
      "cleanedEndLine" : 24
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/commonTest/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicSerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 335,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 278,
      "startLine" : 136,
      "endLine" : 143,
      "cleanedStartLine" : 84,
      "cleanedEndLine" : 90
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/context/AIAgentLLMContextImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 105,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 85,
      "startLine" : 97,
      "endLine" : 103,
      "cleanedStartLine" : 66,
      "cleanedEndLine" : 72
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmMain/kotlin/ai/koog/agents/core/agent/context/AIAgentLLMContext.kt",
        "extension" : "kt",
        "linesOfCode" : 82,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 59,
      "startLine" : 100,
      "endLine" : 106,
      "cleanedStartLine" : 50,
      "cleanedEndLine" : 56
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rag/rag-base/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 32,
        "components" : [ "primary::rag" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 27,
      "endLine" : 39,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 22
    }, {
      "file" : {
        "relativePath" : "rag/vector-storage/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 35,
        "components" : [ "primary::rag" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 30,
      "endLine" : 42,
      "cleanedStartLine" : 19,
      "cleanedEndLine" : 25
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipeline.kt",
        "extension" : "kt",
        "linesOfCode" : 448,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 394,
      "startLine" : 383,
      "endLine" : 389,
      "cleanedStartLine" : 124,
      "cleanedEndLine" : 130
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 328,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 286,
      "startLine" : 178,
      "endLine" : 184,
      "cleanedStartLine" : 107,
      "cleanedEndLine" : 113
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/feature/remote/client/FeatureMessageRemoteClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 388,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 293,
      "startLine" : 158,
      "endLine" : 166,
      "cleanedStartLine" : 77,
      "cleanedEndLine" : 83
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/feature/remote/client/FeatureMessageRemoteClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 388,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 293,
      "startLine" : 266,
      "endLine" : 274,
      "cleanedStartLine" : 147,
      "cleanedEndLine" : 153
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client-base/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/base/structure/OpenAIStandardJsonSchemaGenerator.kt",
        "extension" : "kt",
        "linesOfCode" : 90,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 59,
      "startLine" : 35,
      "endLine" : 41,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 10
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-structure/src/commonMain/kotlin/ai/koog/prompt/structure/json/generator/StandardJsonSchemaGenerator.kt",
        "extension" : "kt",
        "linesOfCode" : 206,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 156,
      "startLine" : 38,
      "endLine" : 44,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 10
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmMain/kotlin/ai/koog/prompt/executor/clients/bedrock/modelfamilies/ai21/BedrockAI21JambaSerialization.kt",
        "extension" : "kt",
        "linesOfCode" : 184,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 147,
      "startLine" : 96,
      "endLine" : 104,
      "cleanedStartLine" : 63,
      "cleanedEndLine" : 69
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmMain/kotlin/ai/koog/prompt/executor/clients/bedrock/modelfamilies/anthropic/BedrockAnthropicClaudeSerialization.kt",
        "extension" : "kt",
        "linesOfCode" : 286,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 208,
      "startLine" : 141,
      "endLine" : 149,
      "cleanedStartLine" : 84,
      "cleanedEndLine" : 90
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-test/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 31,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 1,
      "endLine" : 9,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 7
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-sql/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 57,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 45,
      "startLine" : 6,
      "endLine" : 14,
      "cleanedStartLine" : 3,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-structure/src/commonTest/kotlin/ai/koog/prompt/structure/json/generator/JsonSchemaGeneratorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 819,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 713,
      "startLine" : 518,
      "endLine" : 525,
      "cleanedStartLine" : 419,
      "cleanedEndLine" : 425
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-structure/src/commonTest/kotlin/ai/koog/prompt/structure/json/generator/JsonSchemaGeneratorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 819,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 713,
      "startLine" : 618,
      "endLine" : 625,
      "cleanedStartLine" : 506,
      "cleanedEndLine" : 512
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerTest.kt",
        "extension" : "kt",
        "linesOfCode" : 521,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 437,
      "startLine" : 302,
      "endLine" : 308,
      "cleanedStartLine" : 186,
      "cleanedEndLine" : 192
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageRemoteWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 816,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 671,
      "startLine" : 456,
      "endLine" : 462,
      "cleanedStartLine" : 297,
      "cleanedEndLine" : 303
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/ai/koog/agents/snapshot/providers/file/FileAgentCheckpointStorageProviderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 87,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 69,
      "startLine" : 25,
      "endLine" : 36,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 14
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/ai/koog/agents/snapshot/providers/file/FileCheckpointsTests.kt",
        "extension" : "kt",
        "linesOfCode" : 236,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 188,
      "startLine" : 53,
      "endLine" : 64,
      "cleanedStartLine" : 17,
      "cleanedEndLine" : 23
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 393,
      "endLine" : 399,
      "cleanedStartLine" : 203,
      "cleanedEndLine" : 209
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 610,
      "endLine" : 616,
      "cleanedStartLine" : 336,
      "cleanedEndLine" : 342
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-test/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 31,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 1,
      "endLine" : 9,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 7
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openrouter-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 25,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 17,
      "startLine" : 6,
      "endLine" : 14,
      "cleanedStartLine" : 3,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-test/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 31,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 1,
      "endLine" : 9,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 7
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-cache/prompt-cache-model/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 26,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 6,
      "endLine" : 14,
      "cleanedStartLine" : 3,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 393,
      "endLine" : 399,
      "cleanedStartLine" : 203,
      "cleanedEndLine" : 209
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 579,
      "endLine" : 585,
      "cleanedStartLine" : 317,
      "cleanedEndLine" : 323
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 132,
      "endLine" : 138,
      "cleanedStartLine" : 42,
      "cleanedEndLine" : 48
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 547,
      "endLine" : 553,
      "cleanedStartLine" : 297,
      "cleanedEndLine" : 303
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/dsl/extension/HistoryCompressionStrategiesTest.kt",
        "extension" : "kt",
        "linesOfCode" : 419,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 379,
      "startLine" : 157,
      "endLine" : 163,
      "cleanedStartLine" : 111,
      "cleanedEndLine" : 117
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/dsl/extension/HistoryCompressionStrategiesTest.kt",
        "extension" : "kt",
        "linesOfCode" : 419,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 379,
      "startLine" : 278,
      "endLine" : 284,
      "cleanedStartLine" : 230,
      "cleanedEndLine" : 236
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/SubgraphSetExecutionPointTest.kt",
        "extension" : "kt",
        "linesOfCode" : 176,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 143,
      "startLine" : 72,
      "endLine" : 80,
      "cleanedStartLine" : 48,
      "cleanedEndLine" : 54
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/SubgraphSetExecutionPointTest.kt",
        "extension" : "kt",
        "linesOfCode" : 176,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 143,
      "startLine" : 124,
      "endLine" : 132,
      "cleanedStartLine" : 90,
      "cleanedEndLine" : 96
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/dsl/extension/HistoryCompressionStrategiesTest.kt",
        "extension" : "kt",
        "linesOfCode" : 419,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 379,
      "startLine" : 157,
      "endLine" : 163,
      "cleanedStartLine" : 111,
      "cleanedEndLine" : 117
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/dsl/extension/HistoryCompressionStrategiesTest.kt",
        "extension" : "kt",
        "linesOfCode" : 419,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 379,
      "startLine" : 313,
      "endLine" : 319,
      "cleanedStartLine" : 264,
      "cleanedEndLine" : 270
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-event-handler/src/commonMain/kotlin/ai/koog/agents/features/eventHandler/feature/EventHandlerConfigAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 195,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 156,
      "startLine" : 331,
      "endLine" : 337,
      "cleanedStartLine" : 65,
      "cleanedEndLine" : 71
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-event-handler/src/commonMain/kotlin/ai/koog/agents/features/eventHandler/feature/EventHandlerConfigImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 425,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 305,
      "startLine" : 376,
      "endLine" : 382,
      "cleanedStartLine" : 177,
      "cleanedEndLine" : 183
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/langfuse/LangfuseTraceStructureTest.kt",
        "extension" : "kt",
        "linesOfCode" : 249,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 236,
      "startLine" : 150,
      "endLine" : 156,
      "cleanedStartLine" : 124,
      "cleanedEndLine" : 130
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/weave/WeaveTraceStructureTest.kt",
        "extension" : "kt",
        "linesOfCode" : 270,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 257,
      "startLine" : 208,
      "endLine" : 214,
      "cleanedStartLine" : 178,
      "cleanedEndLine" : 184
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerTest.kt",
        "extension" : "kt",
        "linesOfCode" : 521,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 437,
      "startLine" : 161,
      "endLine" : 169,
      "cleanedStartLine" : 68,
      "cleanedEndLine" : 74
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageRemoteWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 816,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 671,
      "startLine" : 251,
      "endLine" : 259,
      "cleanedStartLine" : 119,
      "cleanedEndLine" : 125
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerStreamingTest.kt",
        "extension" : "kt",
        "linesOfCode" : 347,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 262,
      "startLine" : 352,
      "endLine" : 359,
      "cleanedStartLine" : 207,
      "cleanedEndLine" : 213
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerTestAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 281,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 212,
      "startLine" : 113,
      "endLine" : 120,
      "cleanedStartLine" : 39,
      "cleanedEndLine" : 45
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-core/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 40,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 27,
      "endLine" : 36,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 22
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 62,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 47,
      "startLine" : 35,
      "endLine" : 44,
      "cleanedStartLine" : 22,
      "cleanedEndLine" : 28
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-core/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 40,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 27,
      "endLine" : 36,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 22
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-llms-all/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 50,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 40,
      "startLine" : 37,
      "endLine" : 45,
      "cleanedStartLine" : 29,
      "cleanedEndLine" : 35
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/commonMain/kotlin/ai/koog/agents/features/tracing/feature/Tracing.kt",
        "extension" : "kt",
        "linesOfCode" : 335,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 266,
      "startLine" : 407,
      "endLine" : 413,
      "cleanedStartLine" : 234,
      "cleanedEndLine" : 240
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/commonMain/kotlin/ai/koog/agents/features/tracing/feature/Tracing.kt",
        "extension" : "kt",
        "linesOfCode" : 335,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 266,
      "startLine" : 422,
      "endLine" : 428,
      "cleanedStartLine" : 247,
      "cleanedEndLine" : 253
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 328,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 286,
      "startLine" : 205,
      "endLine" : 211,
      "cleanedStartLine" : 130,
      "cleanedEndLine" : 136
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 846,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 674,
      "startLine" : 476,
      "endLine" : 482,
      "cleanedStartLine" : 303,
      "cleanedEndLine" : 309
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/androidMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentGraphPipeline.kt",
        "extension" : "kt",
        "linesOfCode" : 26,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 19,
      "startLine" : 21,
      "endLine" : 27,
      "cleanedStartLine" : 12,
      "cleanedEndLine" : 18
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentFunctionalPipeline.kt",
        "extension" : "kt",
        "linesOfCode" : 21,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 15,
      "startLine" : 31,
      "endLine" : 37,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 14
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rag/vector-storage/src/commonTest/kotlin/ai/koog/rag/vector/TextFileDocumentEmbeddingStorageTest.kt",
        "extension" : "kt",
        "linesOfCode" : 141,
        "components" : [ "primary::rag" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 112,
      "startLine" : 64,
      "endLine" : 72,
      "cleanedStartLine" : 32,
      "cleanedEndLine" : 38
    }, {
      "file" : {
        "relativePath" : "rag/vector-storage/src/jvmTest/kotlin/ai/koog/rag/vector/JVMFileDocumentEmbeddingStorageTest.kt",
        "extension" : "kt",
        "linesOfCode" : 184,
        "components" : [ "primary::rag" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 148,
      "startLine" : 76,
      "endLine" : 84,
      "cleanedStartLine" : 42,
      "cleanedEndLine" : 48
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/androidMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentGraphPipeline.kt",
        "extension" : "kt",
        "linesOfCode" : 26,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 19,
      "startLine" : 21,
      "endLine" : 27,
      "cleanedStartLine" : 12,
      "cleanedEndLine" : 18
    }, {
      "file" : {
        "relativePath" : "agents/agents-planner/src/commonMain/kotlin/ai/koog/agents/planner/AIAgentPlannerPipeline.kt",
        "extension" : "kt",
        "linesOfCode" : 19,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 13,
      "startLine" : 25,
      "endLine" : 31,
      "cleanedStartLine" : 6,
      "cleanedEndLine" : 12
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryNodeExecuteSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 307,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 276,
      "startLine" : 68,
      "endLine" : 74,
      "cleanedStartLine" : 41,
      "cleanedEndLine" : 47
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetrySpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 256,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 224,
      "startLine" : 121,
      "endLine" : 127,
      "cleanedStartLine" : 67,
      "cleanedEndLine" : 73
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-event-handler/src/jvmTest/kotlin/ai/koog/agents/features/eventHandler/feature/EventHandlerTest.kt",
        "extension" : "kt",
        "linesOfCode" : 637,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 548,
      "startLine" : 285,
      "endLine" : 292,
      "cleanedStartLine" : 207,
      "cleanedEndLine" : 213
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-event-handler/src/jvmTest/kotlin/ai/koog/agents/features/eventHandler/feature/EventHandlerTest.kt",
        "extension" : "kt",
        "linesOfCode" : 637,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 548,
      "startLine" : 573,
      "endLine" : 581,
      "cleanedStartLine" : 426,
      "cleanedEndLine" : 432
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-structure/src/commonTest/kotlin/ai/koog/prompt/structure/json/generator/JsonSchemaGeneratorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 819,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 713,
      "startLine" : 497,
      "endLine" : 503,
      "cleanedStartLine" : 398,
      "cleanedEndLine" : 404
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-structure/src/commonTest/kotlin/ai/koog/prompt/structure/json/generator/JsonSchemaGeneratorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 819,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 713,
      "startLine" : 552,
      "endLine" : 558,
      "cleanedStartLine" : 443,
      "cleanedEndLine" : 449
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jsMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 87,
      "endLine" : 93,
      "cleanedStartLine" : 68,
      "cleanedEndLine" : 74
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jsMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 142,
      "endLine" : 148,
      "cleanedStartLine" : 121,
      "cleanedEndLine" : 127
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipeline.kt",
        "extension" : "kt",
        "linesOfCode" : 448,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 394,
      "startLine" : 259,
      "endLine" : 265,
      "cleanedStartLine" : 70,
      "cleanedEndLine" : 76
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 846,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 674,
      "startLine" : 476,
      "endLine" : 482,
      "cleanedStartLine" : 303,
      "cleanedEndLine" : 309
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageFileWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 509,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 418,
      "startLine" : 517,
      "endLine" : 526,
      "cleanedStartLine" : 361,
      "cleanedEndLine" : 367
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageLogWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 480,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 396,
      "startLine" : 143,
      "endLine" : 152,
      "cleanedStartLine" : 66,
      "cleanedEndLine" : 72
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageFileWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 509,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 418,
      "startLine" : 158,
      "endLine" : 167,
      "cleanedStartLine" : 72,
      "cleanedEndLine" : 78
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageLogWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 480,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 396,
      "startLine" : 487,
      "endLine" : 496,
      "cleanedStartLine" : 339,
      "cleanedEndLine" : 345
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/appleMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentGraphPipeline.kt",
        "extension" : "kt",
        "linesOfCode" : 26,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 19,
      "startLine" : 21,
      "endLine" : 27,
      "cleanedStartLine" : 12,
      "cleanedEndLine" : 18
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentFunctionalPipeline.kt",
        "extension" : "kt",
        "linesOfCode" : 21,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 15,
      "startLine" : 31,
      "endLine" : 37,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 14
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerStreamingTest.kt",
        "extension" : "kt",
        "linesOfCode" : 347,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 262,
      "startLine" : 123,
      "endLine" : 129,
      "cleanedStartLine" : 43,
      "cleanedEndLine" : 49
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerSubgraphTest.kt",
        "extension" : "kt",
        "linesOfCode" : 262,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 194,
      "startLine" : 225,
      "endLine" : 231,
      "cleanedStartLine" : 122,
      "cleanedEndLine" : 128
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/androidMain/kotlin/ai/koog/agents/core/agent/context/AIAgentLLMContext.kt",
        "extension" : "kt",
        "linesOfCode" : 32,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 23,
      "endLine" : 29,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/context/AIAgentLLMContext.kt",
        "extension" : "kt",
        "linesOfCode" : 86,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 72,
      "startLine" : 54,
      "endLine" : 60,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 16
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/CheckpointsTests.kt",
        "extension" : "kt",
        "linesOfCode" : 793,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 646,
      "startLine" : 295,
      "endLine" : 304,
      "cleanedStartLine" : 171,
      "cleanedEndLine" : 177
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/SubgraphSetExecutionPointTest.kt",
        "extension" : "kt",
        "linesOfCode" : 176,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 143,
      "startLine" : 137,
      "endLine" : 146,
      "cleanedStartLine" : 101,
      "cleanedEndLine" : 107
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/CheckpointsTests.kt",
        "extension" : "kt",
        "linesOfCode" : 793,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 646,
      "startLine" : 295,
      "endLine" : 304,
      "cleanedStartLine" : 171,
      "cleanedEndLine" : 177
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/SubgraphSetExecutionPointTest.kt",
        "extension" : "kt",
        "linesOfCode" : 176,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 143,
      "startLine" : 164,
      "endLine" : 173,
      "cleanedStartLine" : 123,
      "cleanedEndLine" : 129
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerTest.kt",
        "extension" : "kt",
        "linesOfCode" : 521,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 437,
      "startLine" : 319,
      "endLine" : 325,
      "cleanedStartLine" : 203,
      "cleanedEndLine" : 209
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageRemoteWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 816,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 671,
      "startLine" : 397,
      "endLine" : 403,
      "cleanedStartLine" : 238,
      "cleanedEndLine" : 244
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/androidMain/kotlin/ai/koog/agents/core/agent/context/AIAgentLLMContext.kt",
        "extension" : "kt",
        "linesOfCode" : 32,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 23,
      "endLine" : 29,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/context/AIAgentLLMContext.kt",
        "extension" : "kt",
        "linesOfCode" : 86,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 72,
      "startLine" : 165,
      "endLine" : 171,
      "cleanedStartLine" : 65,
      "cleanedEndLine" : 71
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmMain/kotlin/ai/koog/agents/features/opentelemetry/feature/OpenTelemetry.kt",
        "extension" : "kt",
        "linesOfCode" : 583,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 491,
      "startLine" : 646,
      "endLine" : 652,
      "cleanedStartLine" : 416,
      "cleanedEndLine" : 422
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmMain/kotlin/ai/koog/agents/features/opentelemetry/feature/OpenTelemetry.kt",
        "extension" : "kt",
        "linesOfCode" : 583,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 491,
      "startLine" : 685,
      "endLine" : 691,
      "cleanedStartLine" : 444,
      "cleanedEndLine" : 450
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-memory/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 37,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 25,
      "endLine" : 34,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 22
    }, {
      "file" : {
        "relativePath" : "agents/agents-tools/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 38,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 28,
      "endLine" : 37,
      "cleanedStartLine" : 17,
      "cleanedEndLine" : 23
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 229,
      "endLine" : 235,
      "cleanedStartLine" : 105,
      "cleanedEndLine" : 111
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 547,
      "endLine" : 553,
      "cleanedStartLine" : 297,
      "cleanedEndLine" : 303
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentGraphPipelineAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 94,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 81,
      "startLine" : 80,
      "endLine" : 86,
      "cleanedStartLine" : 50,
      "cleanedEndLine" : 56
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentGraphPipelineImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 181,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 142,
      "startLine" : 138,
      "endLine" : 144,
      "cleanedStartLine" : 84,
      "cleanedEndLine" : 90
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-core/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 40,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 27,
      "endLine" : 36,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 22
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-a2a-core/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 31,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 22,
      "endLine" : 31,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-memory/src/jvmTest/kotlin/ai/koog/agents/memory/AIAgentMemoryTest.kt",
        "extension" : "kt",
        "linesOfCode" : 470,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 399,
      "startLine" : 471,
      "endLine" : 477,
      "cleanedStartLine" : 316,
      "cleanedEndLine" : 322
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-memory/src/jvmTest/kotlin/ai/koog/agents/memory/feature/RetrieveFactsFromHistoryTest.kt",
        "extension" : "kt",
        "linesOfCode" : 194,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 152,
      "startLine" : 237,
      "endLine" : 243,
      "cleanedStartLine" : 128,
      "cleanedEndLine" : 134
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/feature/remote/client/FeatureMessageRemoteClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 388,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 293,
      "startLine" : 48,
      "endLine" : 56,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 14
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/feature/remote/client/FeatureMessageRemoteClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 388,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 293,
      "startLine" : 266,
      "endLine" : 274,
      "cleanedStartLine" : 147,
      "cleanedEndLine" : 153
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 229,
      "endLine" : 235,
      "cleanedStartLine" : 105,
      "cleanedEndLine" : 111
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 579,
      "endLine" : 585,
      "cleanedStartLine" : 317,
      "cleanedEndLine" : 323
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/FunctionalAIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 110,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 84,
      "startLine" : 88,
      "endLine" : 94,
      "cleanedStartLine" : 33,
      "cleanedEndLine" : 39
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/GraphAIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 120,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 91,
      "startLine" : 106,
      "endLine" : 112,
      "cleanedStartLine" : 35,
      "cleanedEndLine" : 41
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-core/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 40,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 27,
      "endLine" : 36,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 22
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 41,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 31,
      "endLine" : 40,
      "cleanedStartLine" : 18,
      "cleanedEndLine" : 24
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryAgentSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 148,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 126,
      "startLine" : 136,
      "endLine" : 142,
      "cleanedStartLine" : 91,
      "cleanedEndLine" : 97
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetrySpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 256,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 224,
      "startLine" : 180,
      "endLine" : 186,
      "cleanedStartLine" : 122,
      "cleanedEndLine" : 128
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-test/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 31,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 1,
      "endLine" : 9,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 7
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-cached/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 35,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 6,
      "endLine" : 14,
      "cleanedStartLine" : 3,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/SingleRunStrategyWithHistoryCompressionTests.kt",
        "extension" : "kt",
        "linesOfCode" : 119,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 93,
      "startLine" : 47,
      "endLine" : 55,
      "cleanedStartLine" : 25,
      "cleanedEndLine" : 31
    }, {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/SingleRunStrategyWithHistoryCompressionTests.kt",
        "extension" : "kt",
        "linesOfCode" : 119,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 93,
      "startLine" : 71,
      "endLine" : 79,
      "cleanedStartLine" : 43,
      "cleanedEndLine" : 49
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetrySubgraphTest.kt",
        "extension" : "kt",
        "linesOfCode" : 334,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 313,
      "startLine" : 122,
      "endLine" : 129,
      "cleanedStartLine" : 96,
      "cleanedEndLine" : 102
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetrySubgraphTest.kt",
        "extension" : "kt",
        "linesOfCode" : 334,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 313,
      "startLine" : 365,
      "endLine" : 372,
      "cleanedStartLine" : 307,
      "cleanedEndLine" : 313
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/src/jvmTest/kotlin/dashscope/DashscopeLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 255,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 196,
      "startLine" : 210,
      "endLine" : 217,
      "cleanedStartLine" : 138,
      "cleanedEndLine" : 144
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-deepseek-client/src/jvmTest/kotlin/deepseek/DeepSeekLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 247,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 191,
      "startLine" : 202,
      "endLine" : 209,
      "cleanedStartLine" : 133,
      "cleanedEndLine" : 139
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 229,
      "endLine" : 235,
      "cleanedStartLine" : 105,
      "cleanedEndLine" : 111
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 610,
      "endLine" : 616,
      "cleanedStartLine" : 336,
      "cleanedEndLine" : 342
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-structure/src/commonTest/kotlin/ai/koog/prompt/structure/json/generator/JsonSchemaGeneratorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 819,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 713,
      "startLine" : 292,
      "endLine" : 298,
      "cleanedStartLine" : 229,
      "cleanedEndLine" : 235
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-structure/src/commonTest/kotlin/ai/koog/prompt/structure/json/generator/JsonSchemaGeneratorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 819,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 713,
      "startLine" : 358,
      "endLine" : 364,
      "cleanedStartLine" : 282,
      "cleanedEndLine" : 288
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/appleMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 87,
      "endLine" : 93,
      "cleanedStartLine" : 68,
      "cleanedEndLine" : 74
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/wasmJsMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 142,
      "endLine" : 148,
      "cleanedStartLine" : 121,
      "cleanedEndLine" : 127
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-test/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 31,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 1,
      "endLine" : 9,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 7
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 31,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 6,
      "endLine" : 14,
      "cleanedStartLine" : 3,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 846,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 674,
      "startLine" : 334,
      "endLine" : 340,
      "cleanedStartLine" : 180,
      "cleanedEndLine" : 186
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 846,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 674,
      "startLine" : 359,
      "endLine" : 365,
      "cleanedStartLine" : 203,
      "cleanedEndLine" : 209
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-test/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 31,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 1,
      "endLine" : 9,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 7
    }, {
      "file" : {
        "relativePath" : "agents/agents-test/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 39,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 6,
      "endLine" : 14,
      "cleanedStartLine" : 3,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 846,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 674,
      "startLine" : 334,
      "endLine" : 340,
      "cleanedStartLine" : 180,
      "cleanedEndLine" : 186
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 846,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 674,
      "startLine" : 386,
      "endLine" : 392,
      "cleanedStartLine" : 228,
      "cleanedEndLine" : 234
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/SubgraphCheckpointsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 183,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 146,
      "startLine" : 68,
      "endLine" : 78,
      "cleanedStartLine" : 39,
      "cleanedEndLine" : 45
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/SubgraphSetExecutionPointTest.kt",
        "extension" : "kt",
        "linesOfCode" : 176,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 143,
      "startLine" : 33,
      "endLine" : 42,
      "cleanedStartLine" : 17,
      "cleanedEndLine" : 23
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/agent/SingleRunStrategyTests.kt",
        "extension" : "kt",
        "linesOfCode" : 234,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 186,
      "startLine" : 29,
      "endLine" : 38,
      "cleanedStartLine" : 14,
      "cleanedEndLine" : 20
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/agent/SingleRunStrategyTests.kt",
        "extension" : "kt",
        "linesOfCode" : 234,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 186,
      "startLine" : 60,
      "endLine" : 69,
      "cleanedStartLine" : 34,
      "cleanedEndLine" : 40
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 846,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 674,
      "startLine" : 334,
      "endLine" : 340,
      "cleanedStartLine" : 180,
      "cleanedEndLine" : 186
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 846,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 674,
      "startLine" : 412,
      "endLine" : 418,
      "cleanedStartLine" : 252,
      "cleanedEndLine" : 258
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/modelfamilies/amazon/BedrockAmazonNovaSerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 311,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 238,
      "startLine" : 144,
      "endLine" : 151,
      "cleanedStartLine" : 83,
      "cleanedEndLine" : 89
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/modelfamilies/amazon/BedrockAmazonNovaSerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 311,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 238,
      "startLine" : 343,
      "endLine" : 350,
      "cleanedStartLine" : 217,
      "cleanedEndLine" : 223
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryNodeExecuteSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 307,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 276,
      "startLine" : 121,
      "endLine" : 127,
      "cleanedStartLine" : 84,
      "cleanedEndLine" : 90
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetrySpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 256,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 224,
      "startLine" : 109,
      "endLine" : 115,
      "cleanedStartLine" : 55,
      "cleanedEndLine" : 61
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/GenAIAgentSpanUtilsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 329,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 292,
      "startLine" : 208,
      "endLine" : 217,
      "cleanedStartLine" : 139,
      "cleanedEndLine" : 145
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/GenAIAgentSpanUtilsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 329,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 292,
      "startLine" : 255,
      "endLine" : 264,
      "cleanedStartLine" : 173,
      "cleanedEndLine" : 179
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-test/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 31,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 1,
      "endLine" : 9,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 7
    }, {
      "file" : {
        "relativePath" : "agents/agents-mcp/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 41,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 31,
      "startLine" : 6,
      "endLine" : 15,
      "cleanedStartLine" : 3,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/feature/AIAgentFeatureTestAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 395,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 341,
      "startLine" : 235,
      "endLine" : 241,
      "cleanedStartLine" : 162,
      "cleanedEndLine" : 168
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/feature/AIAgentFeatureTestAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 395,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 341,
      "startLine" : 248,
      "endLine" : 254,
      "cleanedStartLine" : 174,
      "cleanedEndLine" : 180
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/TraceStructureTestBase.kt",
        "extension" : "kt",
        "linesOfCode" : 802,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 688,
      "startLine" : 632,
      "endLine" : 638,
      "cleanedStartLine" : 443,
      "cleanedEndLine" : 449
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/langfuse/LangfuseTraceStructureTest.kt",
        "extension" : "kt",
        "linesOfCode" : 249,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 236,
      "startLine" : 150,
      "endLine" : 156,
      "cleanedStartLine" : 124,
      "cleanedEndLine" : 130
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/SubgraphWithRetryTest.kt",
        "extension" : "kt",
        "linesOfCode" : 429,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 348,
      "startLine" : 168,
      "endLine" : 178,
      "cleanedStartLine" : 105,
      "cleanedEndLine" : 111
    }, {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/SubgraphWithRetryTest.kt",
        "extension" : "kt",
        "linesOfCode" : 429,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 348,
      "startLine" : 337,
      "endLine" : 347,
      "cleanedStartLine" : 228,
      "cleanedEndLine" : 234
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-memory/src/jvmTest/kotlin/ai/koog/agents/memory/AIAgentMemoryTest.kt",
        "extension" : "kt",
        "linesOfCode" : 470,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 399,
      "startLine" : 550,
      "endLine" : 556,
      "cleanedStartLine" : 379,
      "cleanedEndLine" : 385
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-memory/src/jvmTest/kotlin/ai/koog/agents/memory/feature/RetrieveFactsFromHistoryTest.kt",
        "extension" : "kt",
        "linesOfCode" : 194,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 152,
      "startLine" : 237,
      "endLine" : 243,
      "cleanedStartLine" : 128,
      "cleanedEndLine" : 134
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/TraceStructureTestBase.kt",
        "extension" : "kt",
        "linesOfCode" : 802,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 688,
      "startLine" : 632,
      "endLine" : 638,
      "cleanedStartLine" : 443,
      "cleanedEndLine" : 449
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/langfuse/LangfuseTraceStructureTest.kt",
        "extension" : "kt",
        "linesOfCode" : 249,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 236,
      "startLine" : 202,
      "endLine" : 208,
      "cleanedStartLine" : 171,
      "cleanedEndLine" : 177
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/feature/remote/server/FeatureMessageRemoteServerTest.kt",
        "extension" : "kt",
        "linesOfCode" : 316,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 232,
      "startLine" : 278,
      "endLine" : 285,
      "cleanedStartLine" : 157,
      "cleanedEndLine" : 163
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/feature/remote/server/FeatureMessageRemoteServerTest.kt",
        "extension" : "kt",
        "linesOfCode" : 316,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 232,
      "startLine" : 353,
      "endLine" : 360,
      "cleanedStartLine" : 201,
      "cleanedEndLine" : 207
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryNodeExecuteSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 307,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 276,
      "startLine" : 56,
      "endLine" : 62,
      "cleanedStartLine" : 29,
      "cleanedEndLine" : 35
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetrySpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 256,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 224,
      "startLine" : 109,
      "endLine" : 115,
      "cleanedStartLine" : 55,
      "cleanedEndLine" : 61
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryAgentSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 148,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 126,
      "startLine" : 136,
      "endLine" : 142,
      "cleanedStartLine" : 91,
      "cleanedEndLine" : 97
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetrySpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 256,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 224,
      "startLine" : 274,
      "endLine" : 280,
      "cleanedStartLine" : 210,
      "cleanedEndLine" : 216
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/tool/file/render/TextTest.kt",
        "extension" : "kt",
        "linesOfCode" : 760,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 714,
      "startLine" : 31,
      "endLine" : 37,
      "cleanedStartLine" : 18,
      "cleanedEndLine" : 24
    }, {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/tool/file/render/TextTest.kt",
        "extension" : "kt",
        "linesOfCode" : 760,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 714,
      "startLine" : 54,
      "endLine" : 60,
      "cleanedStartLine" : 37,
      "cleanedEndLine" : 43
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerTest.kt",
        "extension" : "kt",
        "linesOfCode" : 521,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 437,
      "startLine" : 380,
      "endLine" : 386,
      "cleanedStartLine" : 264,
      "cleanedEndLine" : 270
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageRemoteWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 816,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 671,
      "startLine" : 479,
      "endLine" : 485,
      "cleanedStartLine" : 320,
      "cleanedEndLine" : 326
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerTest.kt",
        "extension" : "kt",
        "linesOfCode" : 521,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 437,
      "startLine" : 319,
      "endLine" : 325,
      "cleanedStartLine" : 203,
      "cleanedEndLine" : 209
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerTestAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 281,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 212,
      "startLine" : 198,
      "endLine" : 204,
      "cleanedStartLine" : 116,
      "cleanedEndLine" : 122
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/feature/AIAgentFeatureTestAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 395,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 341,
      "startLine" : 235,
      "endLine" : 241,
      "cleanedStartLine" : 162,
      "cleanedEndLine" : 168
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/feature/AIAgentFeatureTestAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 395,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 341,
      "startLine" : 264,
      "endLine" : 270,
      "cleanedStartLine" : 189,
      "cleanedEndLine" : 195
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipeline.kt",
        "extension" : "kt",
        "linesOfCode" : 448,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 394,
      "startLine" : 147,
      "endLine" : 153,
      "cleanedStartLine" : 27,
      "cleanedEndLine" : 33
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 328,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 286,
      "startLine" : 79,
      "endLine" : 85,
      "cleanedStartLine" : 24,
      "cleanedEndLine" : 30
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-test/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 31,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 1,
      "endLine" : 9,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 7
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 48,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 6,
      "endLine" : 14,
      "cleanedStartLine" : 3,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/model/events/llmStreamingEvents.kt",
        "extension" : "kt",
        "linesOfCode" : 136,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 125,
      "startLine" : 55,
      "endLine" : 61,
      "cleanedStartLine" : 27,
      "cleanedEndLine" : 33
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/model/events/llmStreamingEvents.kt",
        "extension" : "kt",
        "linesOfCode" : 136,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 125,
      "startLine" : 205,
      "endLine" : 211,
      "cleanedStartLine" : 119,
      "cleanedEndLine" : 125
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rag/vector-storage/src/commonTest/kotlin/ai/koog/rag/vector/FileDocumentEmbeddingStorageTest.kt",
        "extension" : "kt",
        "linesOfCode" : 114,
        "components" : [ "primary::rag" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 90,
      "startLine" : 67,
      "endLine" : 75,
      "cleanedStartLine" : 34,
      "cleanedEndLine" : 40
    }, {
      "file" : {
        "relativePath" : "rag/vector-storage/src/jvmTest/kotlin/ai/koog/rag/vector/JVMTextFileDocumentEmbeddingStorageTest.kt",
        "extension" : "kt",
        "linesOfCode" : 234,
        "components" : [ "primary::rag" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 193,
      "startLine" : 75,
      "endLine" : 83,
      "cleanedStartLine" : 42,
      "cleanedEndLine" : 48
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/agent/AIAgentToolTest.kt",
        "extension" : "kt",
        "linesOfCode" : 121,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 98,
      "startLine" : 102,
      "endLine" : 109,
      "cleanedStartLine" : 68,
      "cleanedEndLine" : 74
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/agent/AIAgentToolTest.kt",
        "extension" : "kt",
        "linesOfCode" : 121,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 98,
      "startLine" : 125,
      "endLine" : 132,
      "cleanedStartLine" : 85,
      "cleanedEndLine" : 91
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-test/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 31,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 1,
      "endLine" : 9,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 7
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-event-handler/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 33,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 23,
      "startLine" : 6,
      "endLine" : 15,
      "cleanedStartLine" : 3,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/CheckpointsTests.kt",
        "extension" : "kt",
        "linesOfCode" : 793,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 646,
      "startLine" : 134,
      "endLine" : 143,
      "cleanedStartLine" : 54,
      "cleanedEndLine" : 60
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/CheckpointsTests.kt",
        "extension" : "kt",
        "linesOfCode" : 793,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 646,
      "startLine" : 154,
      "endLine" : 163,
      "cleanedStartLine" : 69,
      "cleanedEndLine" : 75
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "http-client/http-client-okhttp/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 23,
        "components" : [ "primary::http-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 19,
      "startLine" : 3,
      "endLine" : 12,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 7
    }, {
      "file" : {
        "relativePath" : "http-client/http-client-test/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 16,
        "components" : [ "primary::http-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 14,
      "startLine" : 1,
      "endLine" : 10,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 7
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/feature/AIAgentPipelineTest.kt",
        "extension" : "kt",
        "linesOfCode" : 736,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 595,
      "startLine" : 419,
      "endLine" : 428,
      "cleanedStartLine" : 259,
      "cleanedEndLine" : 265
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/feature/AIAgentPipelineTest.kt",
        "extension" : "kt",
        "linesOfCode" : 736,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 595,
      "startLine" : 576,
      "endLine" : 585,
      "cleanedStartLine" : 370,
      "cleanedEndLine" : 376
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipeline.kt",
        "extension" : "kt",
        "linesOfCode" : 448,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 394,
      "startLine" : 259,
      "endLine" : 265,
      "cleanedStartLine" : 70,
      "cleanedEndLine" : 76
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 846,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 674,
      "startLine" : 430,
      "endLine" : 436,
      "cleanedStartLine" : 264,
      "cleanedEndLine" : 270
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-test/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 31,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 1,
      "endLine" : 9,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 7
    }, {
      "file" : {
        "relativePath" : "rag/vector-storage/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 35,
        "components" : [ "primary::rag" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 6,
      "endLine" : 14,
      "cleanedStartLine" : 3,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/feature/AIAgentPipelineTest.kt",
        "extension" : "kt",
        "linesOfCode" : 736,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 595,
      "startLine" : 419,
      "endLine" : 428,
      "cleanedStartLine" : 259,
      "cleanedEndLine" : 265
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/feature/AIAgentPipelineTest.kt",
        "extension" : "kt",
        "linesOfCode" : 736,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 595,
      "startLine" : 528,
      "endLine" : 537,
      "cleanedStartLine" : 336,
      "cleanedEndLine" : 342
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-transport/a2a-transport-client-jsonrpc-http/src/commonTest/kotlin/ai/koog/a2a/transport/client/jsonrpc/http/HttpJSONRPCClientTransportTest.kt",
        "extension" : "kt",
        "linesOfCode" : 389,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 327,
      "startLine" : 107,
      "endLine" : 113,
      "cleanedStartLine" : 44,
      "cleanedEndLine" : 50
    }, {
      "file" : {
        "relativePath" : "a2a/a2a-transport/a2a-transport-server-jsonrpc-http/src/jvmTest/kotlin/ai/koog/a2a/transport/server/jsonrpc/http/HttpJSONRPCServerTransportTest.kt",
        "extension" : "kt",
        "linesOfCode" : 547,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 452,
      "startLine" : 57,
      "endLine" : 63,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 11
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-core/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 40,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 3,
      "endLine" : 11,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-memory/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 37,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 3,
      "endLine" : 11,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/ContextualPromptExecutor.kt",
        "extension" : "kt",
        "linesOfCode" : 161,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 129,
      "startLine" : 173,
      "endLine" : 178,
      "cleanedStartLine" : 104,
      "cleanedEndLine" : 109
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/ContextualPromptExecutor.kt",
        "extension" : "kt",
        "linesOfCode" : 161,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 129,
      "startLine" : 186,
      "endLine" : 191,
      "cleanedStartLine" : 115,
      "cleanedEndLine" : 120
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/openai/models/OpenAIStreamEventsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 722,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 629,
      "startLine" : 22,
      "endLine" : 27,
      "cleanedStartLine" : 12,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/openai/models/OpenAIStreamEventsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 722,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 629,
      "startLine" : 46,
      "endLine" : 51,
      "cleanedStartLine" : 33,
      "cleanedEndLine" : 38
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/androidMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 143,
      "endLine" : 148,
      "cleanedStartLine" : 122,
      "cleanedEndLine" : 127
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jsMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 117,
      "endLine" : 122,
      "cleanedStartLine" : 97,
      "cleanedEndLine" : 102
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-event-handler/src/jsMain/kotlin/ai/koog/agents/features/eventHandler/feature/EventHandlerConfig.kt",
        "extension" : "kt",
        "linesOfCode" : 7,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 6,
      "startLine" : 1,
      "endLine" : 10,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-event-handler/src/wasmJsMain/kotlin/ai/koog/agents/features/eventHandler/feature/EventHandlerConfig.kt",
        "extension" : "kt",
        "linesOfCode" : 7,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 6,
      "startLine" : 1,
      "endLine" : 10,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerSubgraphTest.kt",
        "extension" : "kt",
        "linesOfCode" : 262,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 194,
      "startLine" : 312,
      "endLine" : 320,
      "cleanedStartLine" : 186,
      "cleanedEndLine" : 191
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerTest.kt",
        "extension" : "kt",
        "linesOfCode" : 521,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 437,
      "startLine" : 541,
      "endLine" : 549,
      "cleanedStartLine" : 425,
      "cleanedEndLine" : 430
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-core/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 40,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 3,
      "endLine" : 11,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    }, {
      "file" : {
        "relativePath" : "a2a/a2a-transport/a2a-transport-server-jsonrpc-http/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 41,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 3,
      "endLine" : 11,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/google/GoogleLLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 653,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 482,
      "startLine" : 818,
      "endLine" : 823,
      "cleanedStartLine" : 477,
      "cleanedEndLine" : 482
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAILLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 711,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 554,
      "startLine" : 360,
      "endLine" : 365,
      "cleanedStartLine" : 210,
      "cleanedEndLine" : 215
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/google/GoogleLLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 653,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 482,
      "startLine" : 818,
      "endLine" : 823,
      "cleanedStartLine" : 477,
      "cleanedEndLine" : 482
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAILLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 711,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 554,
      "startLine" : 422,
      "endLine" : 427,
      "cleanedStartLine" : 245,
      "cleanedEndLine" : 250
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/appleMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 88,
      "endLine" : 93,
      "cleanedStartLine" : 69,
      "cleanedEndLine" : 74
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/appleMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 117,
      "endLine" : 122,
      "cleanedStartLine" : 97,
      "cleanedEndLine" : 102
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerTest.kt",
        "extension" : "kt",
        "linesOfCode" : 521,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 437,
      "startLine" : 291,
      "endLine" : 296,
      "cleanedStartLine" : 175,
      "cleanedEndLine" : 180
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerTestAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 281,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 212,
      "startLine" : 216,
      "endLine" : 221,
      "cleanedStartLine" : 134,
      "cleanedEndLine" : 139
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/feature/remote/client/FeatureMessageRemoteClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 388,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 293,
      "startLine" : 122,
      "endLine" : 134,
      "cleanedStartLine" : 56,
      "cleanedEndLine" : 61
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/feature/writer/FeatureMessageRemoteWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 204,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 144,
      "startLine" : 131,
      "endLine" : 147,
      "cleanedStartLine" : 65,
      "cleanedEndLine" : 70
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/commonTest/kotlin/ai/koog/prompt/executor/clients/google/structure/GoogleSimpleJsonSchemaGeneratorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 147,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 130,
      "startLine" : 12,
      "endLine" : 17,
      "cleanedStartLine" : 3,
      "cleanedEndLine" : 8
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client-base/src/commonTest/kotlin/ai/koog/prompt/executor/clients/openai/structure/OpenAIBasicJsonSchemaGeneratorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 152,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 134,
      "startLine" : 13,
      "endLine" : 18,
      "cleanedStartLine" : 3,
      "cleanedEndLine" : 8
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageFileWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 509,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 418,
      "startLine" : 78,
      "endLine" : 84,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 18
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageRemoteWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 816,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 671,
      "startLine" : 734,
      "endLine" : 740,
      "cleanedStartLine" : 520,
      "cleanedEndLine" : 525
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/CheckpointsTests.kt",
        "extension" : "kt",
        "linesOfCode" : 793,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 646,
      "startLine" : 71,
      "endLine" : 76,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/SubgraphCheckpointsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 183,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 146,
      "startLine" : 23,
      "endLine" : 28,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 7
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-core/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 40,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 3,
      "endLine" : 11,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 51,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 3,
      "endLine" : 11,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerTest.kt",
        "extension" : "kt",
        "linesOfCode" : 521,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 437,
      "startLine" : 291,
      "endLine" : 296,
      "cleanedStartLine" : 175,
      "cleanedEndLine" : 180
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerTestAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 281,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 212,
      "startLine" : 187,
      "endLine" : 192,
      "cleanedStartLine" : 105,
      "cleanedEndLine" : 110
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/model/events/toolExecutionEvents.kt",
        "extension" : "kt",
        "linesOfCode" : 176,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 165,
      "startLine" : 44,
      "endLine" : 49,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 20
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/model/events/toolExecutionEvents.kt",
        "extension" : "kt",
        "linesOfCode" : 176,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 165,
      "startLine" : 101,
      "endLine" : 106,
      "cleanedStartLine" : 50,
      "cleanedEndLine" : 55
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/CheckpointsTests.kt",
        "extension" : "kt",
        "linesOfCode" : 793,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 646,
      "startLine" : 71,
      "endLine" : 76,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/SubgraphSetExecutionPointTest.kt",
        "extension" : "kt",
        "linesOfCode" : 176,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 143,
      "startLine" : 16,
      "endLine" : 21,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 7
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/androidMain/kotlin/ai/koog/agents/core/agent/AIAgentService.kt",
        "extension" : "kt",
        "linesOfCode" : 89,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 79,
      "startLine" : 83,
      "endLine" : 88,
      "cleanedStartLine" : 65,
      "cleanedEndLine" : 70
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jsMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 143,
      "endLine" : 148,
      "cleanedStartLine" : 122,
      "cleanedEndLine" : 127
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 46,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 34,
      "startLine" : 37,
      "endLine" : 45,
      "cleanedStartLine" : 26,
      "cleanedEndLine" : 31
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 29,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 19,
      "startLine" : 20,
      "endLine" : 28,
      "cleanedStartLine" : 12,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/feature/remote/client/FeatureMessageRemoteClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 388,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 293,
      "startLine" : 105,
      "endLine" : 113,
      "cleanedStartLine" : 45,
      "cleanedEndLine" : 50
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/feature/writer/FeatureMessageRemoteWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 204,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 144,
      "startLine" : 166,
      "endLine" : 174,
      "cleanedStartLine" : 84,
      "cleanedEndLine" : 89
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageRemoteWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 816,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 671,
      "startLine" : 112,
      "endLine" : 117,
      "cleanedStartLine" : 20,
      "cleanedEndLine" : 25
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageRemoteWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 816,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 671,
      "startLine" : 277,
      "endLine" : 282,
      "cleanedStartLine" : 137,
      "cleanedEndLine" : 142
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/feature/remote/client/FeatureMessageRemoteClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 388,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 293,
      "startLine" : 296,
      "endLine" : 312,
      "cleanedStartLine" : 167,
      "cleanedEndLine" : 172
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/feature/remote/client/FeatureMessageRemoteClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 388,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 293,
      "startLine" : 360,
      "endLine" : 372,
      "cleanedStartLine" : 203,
      "cleanedEndLine" : 208
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerTest.kt",
        "extension" : "kt",
        "linesOfCode" : 521,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 437,
      "startLine" : 308,
      "endLine" : 313,
      "cleanedStartLine" : 192,
      "cleanedEndLine" : 197
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageRemoteWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 816,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 671,
      "startLine" : 427,
      "endLine" : 432,
      "cleanedStartLine" : 268,
      "cleanedEndLine" : 273
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerTest.kt",
        "extension" : "kt",
        "linesOfCode" : 521,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 437,
      "startLine" : 308,
      "endLine" : 313,
      "cleanedStartLine" : 192,
      "cleanedEndLine" : 197
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageRemoteWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 816,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 671,
      "startLine" : 398,
      "endLine" : 403,
      "cleanedStartLine" : 239,
      "cleanedEndLine" : 244
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/dashscope/DashscopeParams.kt",
        "extension" : "kt",
        "linesOfCode" : 159,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 144,
      "startLine" : 113,
      "endLine" : 118,
      "cleanedStartLine" : 71,
      "cleanedEndLine" : 76
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openrouter-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openrouter/OpenRouterParams.kt",
        "extension" : "kt",
        "linesOfCode" : 197,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 177,
      "startLine" : 135,
      "endLine" : 140,
      "cleanedStartLine" : 80,
      "cleanedEndLine" : 85
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/SubgraphWithTaskTest.kt",
        "extension" : "kt",
        "linesOfCode" : 603,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 509,
      "startLine" : 284,
      "endLine" : 293,
      "cleanedStartLine" : 173,
      "cleanedEndLine" : 178
    }, {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/SubgraphWithTaskTest.kt",
        "extension" : "kt",
        "linesOfCode" : 603,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 509,
      "startLine" : 548,
      "endLine" : 557,
      "cleanedStartLine" : 357,
      "cleanedEndLine" : 362
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-ollama-client/src/commonTest/kotlin/ai/koog/prompt/executor/ollama/client/ContextWindowStrategyTest.kt",
        "extension" : "kt",
        "linesOfCode" : 196,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 162,
      "startLine" : 75,
      "endLine" : 81,
      "cleanedStartLine" : 37,
      "cleanedEndLine" : 42
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-ollama-client/src/commonTest/kotlin/ai/koog/prompt/executor/ollama/client/ContextWindowStrategyTest.kt",
        "extension" : "kt",
        "linesOfCode" : 196,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 162,
      "startLine" : 166,
      "endLine" : 172,
      "cleanedStartLine" : 110,
      "cleanedEndLine" : 115
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-server/src/commonTest/kotlin/ai/koog/a2a/server/messages/InMemoryMessageStorageTest.kt",
        "extension" : "kt",
        "linesOfCode" : 79,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 61,
      "startLine" : 93,
      "endLine" : 98,
      "cleanedStartLine" : 56,
      "cleanedEndLine" : 61
    }, {
      "file" : {
        "relativePath" : "a2a/a2a-server/src/commonTest/kotlin/ai/koog/a2a/server/session/SessionManagerTest.kt",
        "extension" : "kt",
        "linesOfCode" : 215,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 175,
      "startLine" : 60,
      "endLine" : 65,
      "cleanedStartLine" : 23,
      "cleanedEndLine" : 28
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerTest.kt",
        "extension" : "kt",
        "linesOfCode" : 521,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 437,
      "startLine" : 498,
      "endLine" : 503,
      "cleanedStartLine" : 382,
      "cleanedEndLine" : 387
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageRemoteWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 816,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 671,
      "startLine" : 579,
      "endLine" : 584,
      "cleanedStartLine" : 419,
      "cleanedEndLine" : 424
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "koog-spring-boot-starter/src/main/kotlin/ai/koog/spring/prompt/executor/clients/anthropic/AnthropicKoogProperties.kt",
        "extension" : "kt",
        "linesOfCode" : 18,
        "components" : [ "primary::koog-spring-boot-starter" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 12,
      "startLine" : 24,
      "endLine" : 32,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "koog-spring-boot-starter/src/main/kotlin/ai/koog/spring/prompt/executor/clients/google/GoogleKoogProperties.kt",
        "extension" : "kt",
        "linesOfCode" : 19,
        "components" : [ "primary::koog-spring-boot-starter" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 12,
      "startLine" : 56,
      "endLine" : 65,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/dsl/extension/AIAgentNodesHistoryCompressionTest.kt",
        "extension" : "kt",
        "linesOfCode" : 151,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 117,
      "startLine" : 61,
      "endLine" : 67,
      "cleanedStartLine" : 26,
      "cleanedEndLine" : 31
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/dsl/extension/AIAgentNodesTest.kt",
        "extension" : "kt",
        "linesOfCode" : 199,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 155,
      "startLine" : 115,
      "endLine" : 121,
      "cleanedStartLine" : 67,
      "cleanedEndLine" : 72
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/dsl/extension/AIAgentNodes.kt",
        "extension" : "kt",
        "linesOfCode" : 313,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 233,
      "startLine" : 452,
      "endLine" : 468,
      "cleanedStartLine" : 186,
      "cleanedEndLine" : 191
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/dsl/extension/AIAgentNodes.kt",
        "extension" : "kt",
        "linesOfCode" : 313,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 233,
      "startLine" : 473,
      "endLine" : 491,
      "cleanedStartLine" : 196,
      "cleanedEndLine" : 201
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/dashscope/DashscopeParams.kt",
        "extension" : "kt",
        "linesOfCode" : 159,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 144,
      "startLine" : 131,
      "endLine" : 136,
      "cleanedStartLine" : 89,
      "cleanedEndLine" : 94
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openrouter-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openrouter/OpenRouterParams.kt",
        "extension" : "kt",
        "linesOfCode" : 197,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 177,
      "startLine" : 158,
      "endLine" : 163,
      "cleanedStartLine" : 103,
      "cleanedEndLine" : 108
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/google/GoogleParams.kt",
        "extension" : "kt",
        "linesOfCode" : 115,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 103,
      "startLine" : 53,
      "endLine" : 58,
      "cleanedStartLine" : 28,
      "cleanedEndLine" : 33
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonMain/kotlin/ai/koog/prompt/params/LLMParams.kt",
        "extension" : "kt",
        "linesOfCode" : 169,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 141,
      "startLine" : 170,
      "endLine" : 175,
      "cleanedStartLine" : 77,
      "cleanedEndLine" : 82
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerTestAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 281,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 212,
      "startLine" : 199,
      "endLine" : 204,
      "cleanedStartLine" : 117,
      "cleanedEndLine" : 122
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerTestAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 281,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 212,
      "startLine" : 216,
      "endLine" : 221,
      "cleanedStartLine" : 134,
      "cleanedEndLine" : 139
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-core/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 40,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 3,
      "endLine" : 11,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    }, {
      "file" : {
        "relativePath" : "a2a/a2a-transport/a2a-transport-client-jsonrpc-http/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 44,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 3,
      "endLine" : 11,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/androidMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 88,
      "endLine" : 93,
      "cleanedStartLine" : 69,
      "cleanedEndLine" : 74
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/appleMain/kotlin/ai/koog/agents/core/agent/AIAgentService.kt",
        "extension" : "kt",
        "linesOfCode" : 89,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 79,
      "startLine" : 83,
      "endLine" : 88,
      "cleanedStartLine" : 65,
      "cleanedEndLine" : 70
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jsMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 143,
      "endLine" : 148,
      "cleanedStartLine" : 122,
      "cleanedEndLine" : 127
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmMain/kotlin/ai/koog/agents/core/agent/AIAgentService.kt",
        "extension" : "kt",
        "linesOfCode" : 176,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 153,
      "startLine" : 269,
      "endLine" : 274,
      "cleanedStartLine" : 139,
      "cleanedEndLine" : 144
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-ollama-client/src/commonTest/kotlin/ai/koog/prompt/executor/ollama/client/ContextWindowStrategyTest.kt",
        "extension" : "kt",
        "linesOfCode" : 196,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 162,
      "startLine" : 62,
      "endLine" : 69,
      "cleanedStartLine" : 28,
      "cleanedEndLine" : 33
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-ollama-client/src/commonTest/kotlin/ai/koog/prompt/executor/ollama/client/ContextWindowStrategyTest.kt",
        "extension" : "kt",
        "linesOfCode" : 196,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 162,
      "startLine" : 153,
      "endLine" : 160,
      "cleanedStartLine" : 101,
      "cleanedEndLine" : 106
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/feature/message/FeatureMessageProcessorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 313,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 270,
      "startLine" : 177,
      "endLine" : 186,
      "cleanedStartLine" : 97,
      "cleanedEndLine" : 102
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/feature/message/FeatureMessageProcessorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 313,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 270,
      "startLine" : 218,
      "endLine" : 227,
      "cleanedStartLine" : 130,
      "cleanedEndLine" : 135
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/context/AIAgentLLMContextImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 105,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 85,
      "startLine" : 98,
      "endLine" : 103,
      "cleanedStartLine" : 67,
      "cleanedEndLine" : 72
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/wasmJsMain/kotlin/ai/koog/agents/core/agent/context/AIAgentLLMContext.kt",
        "extension" : "kt",
        "linesOfCode" : 32,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 23,
      "endLine" : 28,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 15
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/utils/SerializationUtilsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 478,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 413,
      "startLine" : 123,
      "endLine" : 128,
      "cleanedStartLine" : 64,
      "cleanedEndLine" : 69
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/utils/SerializationUtilsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 478,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 413,
      "startLine" : 584,
      "endLine" : 589,
      "cleanedStartLine" : 391,
      "cleanedEndLine" : 396
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/feature/message/FeatureMessageProcessorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 313,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 270,
      "startLine" : 177,
      "endLine" : 186,
      "cleanedStartLine" : 97,
      "cleanedEndLine" : 102
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/feature/message/FeatureMessageProcessorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 313,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 270,
      "startLine" : 301,
      "endLine" : 310,
      "cleanedStartLine" : 196,
      "cleanedEndLine" : 201
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/feature/message/FeatureMessageProcessorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 313,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 270,
      "startLine" : 177,
      "endLine" : 186,
      "cleanedStartLine" : 97,
      "cleanedEndLine" : 102
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/feature/message/FeatureMessageProcessorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 313,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 270,
      "startLine" : 263,
      "endLine" : 272,
      "cleanedStartLine" : 166,
      "cleanedEndLine" : 171
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageRemoteWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 816,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 671,
      "startLine" : 484,
      "endLine" : 489,
      "cleanedStartLine" : 325,
      "cleanedEndLine" : 330
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageRemoteWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 816,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 671,
      "startLine" : 493,
      "endLine" : 498,
      "cleanedStartLine" : 334,
      "cleanedEndLine" : 339
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryStrategyTest.kt",
        "extension" : "kt",
        "linesOfCode" : 75,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 62,
      "startLine" : 26,
      "endLine" : 32,
      "cleanedStartLine" : 12,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetrySubgraphTest.kt",
        "extension" : "kt",
        "linesOfCode" : 334,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 313,
      "startLine" : 33,
      "endLine" : 39,
      "cleanedStartLine" : 14,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-processor/src/commonMain/kotlin/ai/koog/prompt/processor/ManualToolCallFixProcessor.kt",
        "extension" : "kt",
        "linesOfCode" : 34,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 23,
      "startLine" : 31,
      "endLine" : 36,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 14
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-processor/src/commonTest/kotlin/ai/koog/prompt/processor/LLMBasedToolJsonFixTest.kt",
        "extension" : "kt",
        "linesOfCode" : 149,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 120,
      "startLine" : 160,
      "endLine" : 165,
      "cleanedStartLine" : 107,
      "cleanedEndLine" : 112
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/tool/file/render/TextTest.kt",
        "extension" : "kt",
        "linesOfCode" : 760,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 714,
      "startLine" : 329,
      "endLine" : 334,
      "cleanedStartLine" : 261,
      "cleanedEndLine" : 266
    }, {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/tool/file/render/TextTest.kt",
        "extension" : "kt",
        "linesOfCode" : 760,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 714,
      "startLine" : 352,
      "endLine" : 357,
      "cleanedStartLine" : 280,
      "cleanedEndLine" : 285
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmMain/kotlin/ai/koog/agents/features/opentelemetry/feature/OpenTelemetry.kt",
        "extension" : "kt",
        "linesOfCode" : 583,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 491,
      "startLine" : 607,
      "endLine" : 612,
      "cleanedStartLine" : 388,
      "cleanedEndLine" : 393
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmMain/kotlin/ai/koog/agents/features/opentelemetry/feature/OpenTelemetry.kt",
        "extension" : "kt",
        "linesOfCode" : 583,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 491,
      "startLine" : 686,
      "endLine" : 691,
      "cleanedStartLine" : 445,
      "cleanedEndLine" : 450
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryInferenceSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 556,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 517,
      "startLine" : 215,
      "endLine" : 220,
      "cleanedStartLine" : 163,
      "cleanedEndLine" : 168
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryInferenceSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 556,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 517,
      "startLine" : 342,
      "endLine" : 347,
      "cleanedStartLine" : 280,
      "cleanedEndLine" : 285
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openrouter-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/openrouter/models/OpenRouterSerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 670,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 554,
      "startLine" : 50,
      "endLine" : 60,
      "cleanedStartLine" : 18,
      "cleanedEndLine" : 23
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openrouter-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/openrouter/models/OpenRouterSerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 670,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 554,
      "startLine" : 500,
      "endLine" : 510,
      "cleanedStartLine" : 348,
      "cleanedEndLine" : 353
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/appleMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 69,
      "endLine" : 74,
      "cleanedStartLine" : 50,
      "cleanedEndLine" : 55
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmMain/kotlin/ai/koog/agents/core/agent/AIAgentService.kt",
        "extension" : "kt",
        "linesOfCode" : 176,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 153,
      "startLine" : 252,
      "endLine" : 257,
      "cleanedStartLine" : 122,
      "cleanedEndLine" : 127
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmMain/kotlin/ai/koog/agents/features/opentelemetry/feature/OpenTelemetry.kt",
        "extension" : "kt",
        "linesOfCode" : 583,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 491,
      "startLine" : 607,
      "endLine" : 612,
      "cleanedStartLine" : 388,
      "cleanedEndLine" : 393
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmMain/kotlin/ai/koog/agents/features/opentelemetry/feature/OpenTelemetry.kt",
        "extension" : "kt",
        "linesOfCode" : 583,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 491,
      "startLine" : 647,
      "endLine" : 652,
      "cleanedStartLine" : 417,
      "cleanedEndLine" : 422
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-memory/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 37,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 19,
      "endLine" : 27,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 18
    }, {
      "file" : {
        "relativePath" : "embeddings/embeddings-llm/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 44,
        "components" : [ "primary::embeddings" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 19,
      "endLine" : 27,
      "cleanedStartLine" : 14,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-mcp/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 41,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 31,
      "startLine" : 28,
      "endLine" : 39,
      "cleanedStartLine" : 21,
      "cleanedEndLine" : 26
    }, {
      "file" : {
        "relativePath" : "agents/agents-test/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 39,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 27,
      "endLine" : 38,
      "cleanedStartLine" : 20,
      "cleanedEndLine" : 25
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/dsl/extension/AIAgentNodesTest.kt",
        "extension" : "kt",
        "linesOfCode" : 199,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 155,
      "startLine" : 166,
      "endLine" : 173,
      "cleanedStartLine" : 104,
      "cleanedEndLine" : 109
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/dsl/extension/AIAgentNodesTest.kt",
        "extension" : "kt",
        "linesOfCode" : 199,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 155,
      "startLine" : 211,
      "endLine" : 218,
      "cleanedStartLine" : 136,
      "cleanedEndLine" : 141
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/agent/SingleRunStrategyTests.kt",
        "extension" : "kt",
        "linesOfCode" : 234,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 186,
      "startLine" : 200,
      "endLine" : 209,
      "cleanedStartLine" : 126,
      "cleanedEndLine" : 131
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/agent/SingleRunStrategyTests.kt",
        "extension" : "kt",
        "linesOfCode" : 234,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 186,
      "startLine" : 240,
      "endLine" : 249,
      "cleanedStartLine" : 153,
      "cleanedEndLine" : 158
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-deepseek-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/deepseek/models/DeepSeekSerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 327,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 263,
      "startLine" : 36,
      "endLine" : 44,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 20
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-deepseek-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/deepseek/models/DeepSeekSerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 327,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 263,
      "startLine" : 274,
      "endLine" : 282,
      "cleanedStartLine" : 200,
      "cleanedEndLine" : 205
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryInferenceSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 556,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 517,
      "startLine" : 520,
      "endLine" : 526,
      "cleanedStartLine" : 436,
      "cleanedEndLine" : 441
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryInferenceSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 556,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 517,
      "startLine" : 612,
      "endLine" : 618,
      "cleanedStartLine" : 512,
      "cleanedEndLine" : 517
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentGraphPipeline.kt",
        "extension" : "kt",
        "linesOfCode" : 107,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 90,
      "startLine" : 85,
      "endLine" : 90,
      "cleanedStartLine" : 22,
      "cleanedEndLine" : 27
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentGraphPipelineAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 94,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 81,
      "startLine" : 48,
      "endLine" : 53,
      "cleanedStartLine" : 23,
      "cleanedEndLine" : 28
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageFileWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 509,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 418,
      "startLine" : 549,
      "endLine" : 554,
      "cleanedStartLine" : 389,
      "cleanedEndLine" : 394
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageLogWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 480,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 396,
      "startLine" : 157,
      "endLine" : 162,
      "cleanedStartLine" : 76,
      "cleanedEndLine" : 81
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmMain/kotlin/ai/koog/agents/core/agent/context/SubtaskBuilder.kt",
        "extension" : "kt",
        "linesOfCode" : 115,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 98,
      "startLine" : 267,
      "endLine" : 272,
      "cleanedStartLine" : 71,
      "cleanedEndLine" : 76
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmMain/kotlin/ai/koog/agents/core/agent/context/SubtaskBuilder.kt",
        "extension" : "kt",
        "linesOfCode" : 115,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 98,
      "startLine" : 290,
      "endLine" : 295,
      "cleanedStartLine" : 92,
      "cleanedEndLine" : 97
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/context/AIAgentFunctionalContextImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 483,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 365,
      "startLine" : 310,
      "endLine" : 315,
      "cleanedStartLine" : 184,
      "cleanedEndLine" : 189
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/context/AIAgentFunctionalContextImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 483,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 365,
      "startLine" : 342,
      "endLine" : 348,
      "cleanedStartLine" : 212,
      "cleanedEndLine" : 217
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipeline.kt",
        "extension" : "kt",
        "linesOfCode" : 448,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 394,
      "startLine" : 481,
      "endLine" : 486,
      "cleanedStartLine" : 162,
      "cleanedEndLine" : 167
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 328,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 286,
      "startLine" : 140,
      "endLine" : 145,
      "cleanedStartLine" : 74,
      "cleanedEndLine" : 79
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/utils/SerializationUtilsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 478,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 413,
      "startLine" : 123,
      "endLine" : 128,
      "cleanedStartLine" : 64,
      "cleanedEndLine" : 69
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/utils/SerializationUtilsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 478,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 413,
      "startLine" : 196,
      "endLine" : 201,
      "cleanedStartLine" : 113,
      "cleanedEndLine" : 118
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jsMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 143,
      "endLine" : 148,
      "cleanedStartLine" : 122,
      "cleanedEndLine" : 127
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/wasmJsMain/kotlin/ai/koog/agents/core/agent/AIAgentService.kt",
        "extension" : "kt",
        "linesOfCode" : 89,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 79,
      "startLine" : 83,
      "endLine" : 88,
      "cleanedStartLine" : 65,
      "cleanedEndLine" : 70
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/feature/writer/FeatureMessageRemoteWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 204,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 144,
      "startLine" : 115,
      "endLine" : 123,
      "cleanedStartLine" : 55,
      "cleanedEndLine" : 60
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/feature/writer/FeatureMessageRemoteWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 204,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 144,
      "startLine" : 166,
      "endLine" : 174,
      "cleanedStartLine" : 84,
      "cleanedEndLine" : 89
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-event-handler/src/jvmTest/kotlin/ai/koog/agents/features/eventHandler/feature/EventHandlerTest.kt",
        "extension" : "kt",
        "linesOfCode" : 637,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 548,
      "startLine" : 103,
      "endLine" : 108,
      "cleanedStartLine" : 51,
      "cleanedEndLine" : 56
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-event-handler/src/jvmTest/kotlin/ai/koog/agents/features/eventHandler/feature/EventHandlerTest.kt",
        "extension" : "kt",
        "linesOfCode" : 637,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 548,
      "startLine" : 538,
      "endLine" : 543,
      "cleanedStartLine" : 399,
      "cleanedEndLine" : 404
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-tools/src/jvmTest/kotlin/ai/koog/agents/core/tools/JavaAPIToolRegistryTest.kt",
        "extension" : "kt",
        "linesOfCode" : 186,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 156,
      "startLine" : 114,
      "endLine" : 120,
      "cleanedStartLine" : 67,
      "cleanedEndLine" : 72
    }, {
      "file" : {
        "relativePath" : "agents/agents-tools/src/jvmTest/kotlin/ai/koog/agents/core/tools/JavaAPIToolRegistryTest.kt",
        "extension" : "kt",
        "linesOfCode" : 186,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 156,
      "startLine" : 245,
      "endLine" : 251,
      "cleanedStartLine" : 151,
      "cleanedEndLine" : 156
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jsMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 117,
      "endLine" : 122,
      "cleanedStartLine" : 97,
      "cleanedEndLine" : 102
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 156,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 141,
      "startLine" : 132,
      "endLine" : 137,
      "cleanedStartLine" : 81,
      "cleanedEndLine" : 86
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/commonTest/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicSerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 335,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 278,
      "startLine" : 220,
      "endLine" : 226,
      "cleanedStartLine" : 157,
      "cleanedEndLine" : 162
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/commonTest/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicSerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 335,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 278,
      "startLine" : 277,
      "endLine" : 283,
      "cleanedStartLine" : 204,
      "cleanedEndLine" : 209
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-memory/src/jvmTest/kotlin/ai/koog/agents/memory/MemoryNodesTest.kt",
        "extension" : "kt",
        "linesOfCode" : 418,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 327,
      "startLine" : 186,
      "endLine" : 192,
      "cleanedStartLine" : 102,
      "cleanedEndLine" : 107
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-memory/src/jvmTest/kotlin/ai/koog/agents/memory/MemoryNodesTest.kt",
        "extension" : "kt",
        "linesOfCode" : 418,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 327,
      "startLine" : 390,
      "endLine" : 396,
      "cleanedStartLine" : 252,
      "cleanedEndLine" : 257
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/feature/message/FeatureMessageProcessorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 313,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 270,
      "startLine" : 275,
      "endLine" : 281,
      "cleanedStartLine" : 174,
      "cleanedEndLine" : 179
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/feature/message/FeatureMessageProcessorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 313,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 270,
      "startLine" : 313,
      "endLine" : 319,
      "cleanedStartLine" : 204,
      "cleanedEndLine" : 209
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-test/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 39,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 27,
      "endLine" : 38,
      "cleanedStartLine" : 20,
      "cleanedEndLine" : 25
    }, {
      "file" : {
        "relativePath" : "utils/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 31,
        "components" : [ "primary::utils" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 18,
      "endLine" : 29,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 18
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-mcp/src/commonTest/kotlin/ai/koog/agents/mcp/DefaultMcpToolDescriptorParserTest.kt",
        "extension" : "kt",
        "linesOfCode" : 726,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 614,
      "startLine" : 611,
      "endLine" : 620,
      "cleanedStartLine" : 436,
      "cleanedEndLine" : 441
    }, {
      "file" : {
        "relativePath" : "agents/agents-mcp/src/commonTest/kotlin/ai/koog/agents/mcp/DefaultMcpToolDescriptorParserTest.kt",
        "extension" : "kt",
        "linesOfCode" : 726,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 614,
      "startLine" : 712,
      "endLine" : 721,
      "cleanedStartLine" : 512,
      "cleanedEndLine" : 517
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jsMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 69,
      "endLine" : 74,
      "cleanedStartLine" : 50,
      "cleanedEndLine" : 55
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmMain/kotlin/ai/koog/agents/core/agent/AIAgentService.kt",
        "extension" : "kt",
        "linesOfCode" : 176,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 153,
      "startLine" : 252,
      "endLine" : 257,
      "cleanedStartLine" : 122,
      "cleanedEndLine" : 127
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/ext/agent/AIAgentSubgraphExt.kt",
        "extension" : "kt",
        "linesOfCode" : 376,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 310,
      "startLine" : 286,
      "endLine" : 291,
      "cleanedStartLine" : 112,
      "cleanedEndLine" : 117
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/ext/agent/AIAgentSubgraphExt.kt",
        "extension" : "kt",
        "linesOfCode" : 376,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 310,
      "startLine" : 330,
      "endLine" : 335,
      "cleanedStartLine" : 136,
      "cleanedEndLine" : 141
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/appleMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 88,
      "endLine" : 93,
      "cleanedStartLine" : 69,
      "cleanedEndLine" : 74
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 156,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 141,
      "startLine" : 161,
      "endLine" : 166,
      "cleanedStartLine" : 109,
      "cleanedEndLine" : 114
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/ext/agent/AIAgentSubgraphExt.kt",
        "extension" : "kt",
        "linesOfCode" : 376,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 310,
      "startLine" : 286,
      "endLine" : 291,
      "cleanedStartLine" : 112,
      "cleanedEndLine" : 117
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/ext/agent/AIAgentSubgraphExt.kt",
        "extension" : "kt",
        "linesOfCode" : 376,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 310,
      "startLine" : 389,
      "endLine" : 394,
      "cleanedStartLine" : 167,
      "cleanedEndLine" : 172
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/feature/message/FeatureMessageProcessorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 313,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 270,
      "startLine" : 275,
      "endLine" : 281,
      "cleanedStartLine" : 174,
      "cleanedEndLine" : 179
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/feature/message/FeatureMessageProcessorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 313,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 270,
      "startLine" : 354,
      "endLine" : 360,
      "cleanedStartLine" : 237,
      "cleanedEndLine" : 242
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/feature/AIAgentPipelineTest.kt",
        "extension" : "kt",
        "linesOfCode" : 736,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 595,
      "startLine" : 191,
      "endLine" : 197,
      "cleanedStartLine" : 99,
      "cleanedEndLine" : 104
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/feature/AIAgentPipelineTest.kt",
        "extension" : "kt",
        "linesOfCode" : 736,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 595,
      "startLine" : 246,
      "endLine" : 252,
      "cleanedStartLine" : 137,
      "cleanedEndLine" : 142
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 29,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 19,
      "startLine" : 16,
      "endLine" : 27,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "utils/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 31,
        "components" : [ "primary::utils" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 18,
      "endLine" : 29,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 18
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/BedrockLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 751,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 628,
      "startLine" : 777,
      "endLine" : 782,
      "cleanedStartLine" : 539,
      "cleanedEndLine" : 544
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/BedrockLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 751,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 628,
      "startLine" : 790,
      "endLine" : 795,
      "cleanedStartLine" : 550,
      "cleanedEndLine" : 555
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-core/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 40,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 3,
      "endLine" : 11,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 39,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 3,
      "endLine" : 11,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/androidMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 117,
      "endLine" : 122,
      "cleanedStartLine" : 97,
      "cleanedEndLine" : 102
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/wasmJsMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 88,
      "endLine" : 93,
      "cleanedStartLine" : 69,
      "cleanedEndLine" : 74
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/feature/message/FeatureMessageProcessorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 313,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 270,
      "startLine" : 177,
      "endLine" : 186,
      "cleanedStartLine" : 97,
      "cleanedEndLine" : 102
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/feature/message/FeatureMessageProcessorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 313,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 270,
      "startLine" : 342,
      "endLine" : 351,
      "cleanedStartLine" : 229,
      "cleanedEndLine" : 234
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentGraphPipelineImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 181,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 142,
      "startLine" : 83,
      "endLine" : 88,
      "cleanedStartLine" : 40,
      "cleanedEndLine" : 45
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentGraphPipelineImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 181,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 142,
      "startLine" : 141,
      "endLine" : 146,
      "cleanedStartLine" : 87,
      "cleanedEndLine" : 92
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentGraphPipeline.kt",
        "extension" : "kt",
        "linesOfCode" : 107,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 90,
      "startLine" : 88,
      "endLine" : 93,
      "cleanedStartLine" : 25,
      "cleanedEndLine" : 30
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentGraphPipelineAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 94,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 81,
      "startLine" : 72,
      "endLine" : 77,
      "cleanedStartLine" : 43,
      "cleanedEndLine" : 48
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/androidMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 88,
      "endLine" : 93,
      "cleanedStartLine" : 69,
      "cleanedEndLine" : 74
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jsMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 117,
      "endLine" : 122,
      "cleanedStartLine" : 97,
      "cleanedEndLine" : 102
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/debugger/Debugger.kt",
        "extension" : "kt",
        "linesOfCode" : 399,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 318,
      "startLine" : 375,
      "endLine" : 380,
      "cleanedStartLine" : 216,
      "cleanedEndLine" : 221
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/commonMain/kotlin/ai/koog/agents/features/tracing/feature/Tracing.kt",
        "extension" : "kt",
        "linesOfCode" : 335,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 266,
      "startLine" : 378,
      "endLine" : 383,
      "cleanedStartLine" : 209,
      "cleanedEndLine" : 214
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/agent/FunctionalAIAgentTest.kt",
        "extension" : "kt",
        "linesOfCode" : 674,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 581,
      "startLine" : 38,
      "endLine" : 44,
      "cleanedStartLine" : 12,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/agent/SingleRunStrategyTests.kt",
        "extension" : "kt",
        "linesOfCode" : 234,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 186,
      "startLine" : 146,
      "endLine" : 153,
      "cleanedStartLine" : 89,
      "cleanedEndLine" : 94
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/appleMain/kotlin/ai/koog/agents/snapshot/feature/RollbackToolRegistryBuilder.kt",
        "extension" : "kt",
        "linesOfCode" : 14,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 11,
      "startLine" : 1,
      "endLine" : 11,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmMain/kotlin/ai/koog/agents/snapshot/feature/RollbackToolRegistryBuilder.kt",
        "extension" : "kt",
        "linesOfCode" : 47,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 34,
      "startLine" : 1,
      "endLine" : 16,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/wasmJsMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 143,
      "endLine" : 148,
      "cleanedStartLine" : 122,
      "cleanedEndLine" : 127
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/wasmJsMain/kotlin/ai/koog/agents/core/agent/AIAgentService.kt",
        "extension" : "kt",
        "linesOfCode" : 89,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 79,
      "startLine" : 83,
      "endLine" : 88,
      "cleanedStartLine" : 65,
      "cleanedEndLine" : 70
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerTest.kt",
        "extension" : "kt",
        "linesOfCode" : 521,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 437,
      "startLine" : 301,
      "endLine" : 306,
      "cleanedStartLine" : 185,
      "cleanedEndLine" : 190
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageRemoteWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 816,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 671,
      "startLine" : 396,
      "endLine" : 401,
      "cleanedStartLine" : 237,
      "cleanedEndLine" : 242
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-memory/src/jvmTest/kotlin/ai/koog/agents/memory/AIAgentMemoryTest.kt",
        "extension" : "kt",
        "linesOfCode" : 470,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 399,
      "startLine" : 111,
      "endLine" : 117,
      "cleanedStartLine" : 46,
      "cleanedEndLine" : 51
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-memory/src/jvmTest/kotlin/ai/koog/agents/memory/AIAgentMemoryTest.kt",
        "extension" : "kt",
        "linesOfCode" : 470,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 399,
      "startLine" : 388,
      "endLine" : 394,
      "cleanedStartLine" : 251,
      "cleanedEndLine" : 256
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/dsl/extension/ParallelNodesTest.kt",
        "extension" : "kt",
        "linesOfCode" : 380,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 299,
      "startLine" : 271,
      "endLine" : 280,
      "cleanedStartLine" : 174,
      "cleanedEndLine" : 179
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/dsl/extension/ParallelNodesTest.kt",
        "extension" : "kt",
        "linesOfCode" : 380,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 299,
      "startLine" : 439,
      "endLine" : 448,
      "cleanedStartLine" : 289,
      "cleanedEndLine" : 294
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-core/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 40,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 3,
      "endLine" : 11,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-cached/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 35,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 3,
      "endLine" : 11,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/event/AssistantMessageEventTest.kt",
        "extension" : "kt",
        "linesOfCode" : 102,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 85,
      "startLine" : 88,
      "endLine" : 94,
      "cleanedStartLine" : 48,
      "cleanedEndLine" : 53
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/event/AssistantMessageEventTest.kt",
        "extension" : "kt",
        "linesOfCode" : 102,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 85,
      "startLine" : 109,
      "endLine" : 115,
      "cleanedStartLine" : 64,
      "cleanedEndLine" : 69
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 846,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 674,
      "startLine" : 281,
      "endLine" : 286,
      "cleanedStartLine" : 135,
      "cleanedEndLine" : 140
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 846,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 674,
      "startLine" : 294,
      "endLine" : 299,
      "cleanedStartLine" : 146,
      "cleanedEndLine" : 151
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerStreamingTest.kt",
        "extension" : "kt",
        "linesOfCode" : 347,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 262,
      "startLine" : 299,
      "endLine" : 307,
      "cleanedStartLine" : 171,
      "cleanedEndLine" : 176
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerSubgraphTest.kt",
        "extension" : "kt",
        "linesOfCode" : 262,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 194,
      "startLine" : 69,
      "endLine" : 77,
      "cleanedStartLine" : 17,
      "cleanedEndLine" : 22
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-event-handler/src/jvmTest/kotlin/ai/koog/agents/features/eventHandler/feature/EventHandlerTest.kt",
        "extension" : "kt",
        "linesOfCode" : 637,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 548,
      "startLine" : 103,
      "endLine" : 108,
      "cleanedStartLine" : 51,
      "cleanedEndLine" : 56
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-event-handler/src/jvmTest/kotlin/ai/koog/agents/features/eventHandler/feature/EventHandlerTest.kt",
        "extension" : "kt",
        "linesOfCode" : 637,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 548,
      "startLine" : 623,
      "endLine" : 628,
      "cleanedStartLine" : 461,
      "cleanedEndLine" : 466
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/commonTest/kotlin/ai/koog/prompt/executor/clients/google/structure/GoogleSimpleJsonSchemaGeneratorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 147,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 130,
      "startLine" : 12,
      "endLine" : 17,
      "cleanedStartLine" : 3,
      "cleanedEndLine" : 8
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-structure/src/commonTest/kotlin/ai/koog/prompt/structure/json/generator/JsonSchemaGeneratorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 819,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 713,
      "startLine" : 17,
      "endLine" : 22,
      "cleanedStartLine" : 3,
      "cleanedEndLine" : 8
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/src/jvmTest/kotlin/dashscope/DashscopeLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 255,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 196,
      "startLine" : 247,
      "endLine" : 252,
      "cleanedStartLine" : 165,
      "cleanedEndLine" : 170
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/mistralai/MistralAILLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 295,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 232,
      "startLine" : 285,
      "endLine" : 290,
      "cleanedStartLine" : 197,
      "cleanedEndLine" : 202
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerStreamingTest.kt",
        "extension" : "kt",
        "linesOfCode" : 347,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 262,
      "startLine" : 210,
      "endLine" : 220,
      "cleanedStartLine" : 112,
      "cleanedEndLine" : 117
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageRemoteWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 816,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 671,
      "startLine" : 606,
      "endLine" : 616,
      "cleanedStartLine" : 446,
      "cleanedEndLine" : 451
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageTestWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 623,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 501,
      "startLine" : 170,
      "endLine" : 178,
      "cleanedStartLine" : 81,
      "cleanedEndLine" : 86
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageTestWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 623,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 501,
      "startLine" : 245,
      "endLine" : 253,
      "cleanedStartLine" : 134,
      "cleanedEndLine" : 139
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-utils/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 28,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 19,
      "endLine" : 27,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "rag/rag-base/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 32,
        "components" : [ "primary::rag" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 21,
      "endLine" : 29,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 18
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageTestWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 623,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 501,
      "startLine" : 170,
      "endLine" : 178,
      "cleanedStartLine" : 81,
      "cleanedEndLine" : 86
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageTestWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 623,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 501,
      "startLine" : 206,
      "endLine" : 214,
      "cleanedStartLine" : 106,
      "cleanedEndLine" : 111
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/mistralai/MistralAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 145,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 133,
      "startLine" : 64,
      "endLine" : 69,
      "cleanedStartLine" : 32,
      "cleanedEndLine" : 37
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonMain/kotlin/ai/koog/prompt/params/LLMParams.kt",
        "extension" : "kt",
        "linesOfCode" : 169,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 141,
      "startLine" : 170,
      "endLine" : 175,
      "cleanedStartLine" : 77,
      "cleanedEndLine" : 82
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-transport/a2a-transport-core-jsonrpc/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 37,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 24,
      "endLine" : 32,
      "cleanedStartLine" : 14,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "a2a/a2a-transport/a2a-transport-server-jsonrpc-http/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 41,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 26,
      "endLine" : 34,
      "cleanedStartLine" : 18,
      "cleanedEndLine" : 23
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 612,
      "endLine" : 617,
      "cleanedStartLine" : 338,
      "cleanedEndLine" : 343
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 643,
      "endLine" : 648,
      "cleanedStartLine" : 356,
      "cleanedEndLine" : 361
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 328,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 286,
      "startLine" : 119,
      "endLine" : 124,
      "cleanedStartLine" : 57,
      "cleanedEndLine" : 62
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 846,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 674,
      "startLine" : 264,
      "endLine" : 269,
      "cleanedStartLine" : 124,
      "cleanedEndLine" : 129
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-memory/src/jvmTest/kotlin/ai/koog/agents/memory/MemoryNodesTest.kt",
        "extension" : "kt",
        "linesOfCode" : 418,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 327,
      "startLine" : 186,
      "endLine" : 192,
      "cleanedStartLine" : 102,
      "cleanedEndLine" : 107
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-memory/src/jvmTest/kotlin/ai/koog/agents/memory/MemoryNodesTest.kt",
        "extension" : "kt",
        "linesOfCode" : 418,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 327,
      "startLine" : 313,
      "endLine" : 319,
      "cleanedStartLine" : 194,
      "cleanedEndLine" : 199
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryNodeExecuteSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 307,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 276,
      "startLine" : 112,
      "endLine" : 117,
      "cleanedStartLine" : 75,
      "cleanedEndLine" : 80
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryNodeExecuteSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 307,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 276,
      "startLine" : 209,
      "endLine" : 214,
      "cleanedStartLine" : 153,
      "cleanedEndLine" : 158
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/SubgraphWithRetryTest.kt",
        "extension" : "kt",
        "linesOfCode" : 429,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 348,
      "startLine" : 391,
      "endLine" : 398,
      "cleanedStartLine" : 265,
      "cleanedEndLine" : 270
    }, {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/SubgraphWithRetryTest.kt",
        "extension" : "kt",
        "linesOfCode" : 429,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 348,
      "startLine" : 464,
      "endLine" : 471,
      "cleanedStartLine" : 319,
      "cleanedEndLine" : 324
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentGraphPipelineImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 181,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 142,
      "startLine" : 65,
      "endLine" : 70,
      "cleanedStartLine" : 24,
      "cleanedEndLine" : 29
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentGraphPipelineImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 181,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 142,
      "startLine" : 80,
      "endLine" : 85,
      "cleanedStartLine" : 37,
      "cleanedEndLine" : 42
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 328,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 286,
      "startLine" : 140,
      "endLine" : 145,
      "cleanedStartLine" : 74,
      "cleanedEndLine" : 79
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 846,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 674,
      "startLine" : 476,
      "endLine" : 481,
      "cleanedStartLine" : 303,
      "cleanedEndLine" : 308
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-tools/src/commonTest/kotlin/ai/koog/agents/core/tools/serialization/ToolParameterTypesTest.kt",
        "extension" : "kt",
        "linesOfCode" : 560,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 449,
      "startLine" : 255,
      "endLine" : 260,
      "cleanedStartLine" : 162,
      "cleanedEndLine" : 167
    }, {
      "file" : {
        "relativePath" : "agents/agents-tools/src/commonTest/kotlin/ai/koog/agents/core/tools/serialization/ToolParameterTypesTest.kt",
        "extension" : "kt",
        "linesOfCode" : 560,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 449,
      "startLine" : 344,
      "endLine" : 349,
      "cleanedStartLine" : 232,
      "cleanedEndLine" : 237
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-ext/src/jvmTest/kotlin/ai/koog/agents/ext/tool/file/ListDirectoryToolJvmTest.kt",
        "extension" : "kt",
        "linesOfCode" : 331,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 288,
      "startLine" : 473,
      "endLine" : 479,
      "cleanedStartLine" : 225,
      "cleanedEndLine" : 230
    }, {
      "file" : {
        "relativePath" : "agents/agents-ext/src/jvmTest/kotlin/ai/koog/agents/ext/tool/file/ListDirectoryToolJvmTest.kt",
        "extension" : "kt",
        "linesOfCode" : 331,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 288,
      "startLine" : 597,
      "endLine" : 603,
      "cleanedStartLine" : 283,
      "cleanedEndLine" : 288
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-server/src/commonTest/kotlin/ai/koog/a2a/server/tasks/InMemoryTaskStorageTest.kt",
        "extension" : "kt",
        "linesOfCode" : 279,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 239,
      "startLine" : 170,
      "endLine" : 175,
      "cleanedStartLine" : 99,
      "cleanedEndLine" : 104
    }, {
      "file" : {
        "relativePath" : "a2a/a2a-server/src/commonTest/kotlin/ai/koog/a2a/server/tasks/InMemoryTaskStorageTest.kt",
        "extension" : "kt",
        "linesOfCode" : 279,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 239,
      "startLine" : 200,
      "endLine" : 205,
      "cleanedStartLine" : 120,
      "cleanedEndLine" : 125
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "koog-ktor/src/commonTest/kotlin/ai/koog/ktor/ConfigurationLoadingTest.kt",
        "extension" : "kt",
        "linesOfCode" : 331,
        "components" : [ "primary::koog-ktor" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 293,
      "startLine" : 139,
      "endLine" : 144,
      "cleanedStartLine" : 80,
      "cleanedEndLine" : 85
    }, {
      "file" : {
        "relativePath" : "koog-ktor/src/commonTest/kotlin/ai/koog/ktor/ConfigurationLoadingTest.kt",
        "extension" : "kt",
        "linesOfCode" : 331,
        "components" : [ "primary::koog-ktor" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 293,
      "startLine" : 281,
      "endLine" : 286,
      "cleanedStartLine" : 174,
      "cleanedEndLine" : 179
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/ContextualPromptExecutor.kt",
        "extension" : "kt",
        "linesOfCode" : 161,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 129,
      "startLine" : 133,
      "endLine" : 142,
      "cleanedStartLine" : 80,
      "cleanedEndLine" : 85
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/google/GoogleLLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 653,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 482,
      "startLine" : 219,
      "endLine" : 227,
      "cleanedStartLine" : 96,
      "cleanedEndLine" : 101
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/feature/message/FeatureMessageProcessorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 313,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 270,
      "startLine" : 263,
      "endLine" : 272,
      "cleanedStartLine" : 166,
      "cleanedEndLine" : 171
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/feature/message/FeatureMessageProcessorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 313,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 270,
      "startLine" : 301,
      "endLine" : 310,
      "cleanedStartLine" : 196,
      "cleanedEndLine" : 201
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/feature/remote/client/FeatureMessageRemoteClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 388,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 293,
      "startLine" : 280,
      "endLine" : 288,
      "cleanedStartLine" : 157,
      "cleanedEndLine" : 162
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/feature/writer/FeatureMessageRemoteWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 204,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 144,
      "startLine" : 235,
      "endLine" : 243,
      "cleanedStartLine" : 126,
      "cleanedEndLine" : 131
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageFileWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 509,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 418,
      "startLine" : 172,
      "endLine" : 177,
      "cleanedStartLine" : 82,
      "cleanedEndLine" : 87
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageFileWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 509,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 418,
      "startLine" : 255,
      "endLine" : 260,
      "cleanedStartLine" : 164,
      "cleanedEndLine" : 169
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageFileWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 509,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 418,
      "startLine" : 172,
      "endLine" : 177,
      "cleanedStartLine" : 82,
      "cleanedEndLine" : 87
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageFileWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 509,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 418,
      "startLine" : 271,
      "endLine" : 276,
      "cleanedStartLine" : 180,
      "cleanedEndLine" : 185
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-memory/src/jvmTest/kotlin/ai/koog/agents/memory/AIAgentMemoryTest.kt",
        "extension" : "kt",
        "linesOfCode" : 470,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 399,
      "startLine" : 388,
      "endLine" : 394,
      "cleanedStartLine" : 251,
      "cleanedEndLine" : 256
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-memory/src/jvmTest/kotlin/ai/koog/agents/memory/AIAgentMemoryTest.kt",
        "extension" : "kt",
        "linesOfCode" : 470,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 399,
      "startLine" : 476,
      "endLine" : 482,
      "cleanedStartLine" : 321,
      "cleanedEndLine" : 326
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/context/AIAgentLLMContextImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 105,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 85,
      "startLine" : 38,
      "endLine" : 43,
      "cleanedStartLine" : 20,
      "cleanedEndLine" : 25
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/context/AIAgentLLMContextImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 105,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 85,
      "startLine" : 98,
      "endLine" : 103,
      "cleanedStartLine" : 67,
      "cleanedEndLine" : 72
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-utils/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 28,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 19,
      "endLine" : 27,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client-base/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 40,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 28,
      "startLine" : 30,
      "endLine" : 38,
      "cleanedStartLine" : 20,
      "cleanedEndLine" : 25
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerTest.kt",
        "extension" : "kt",
        "linesOfCode" : 521,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 437,
      "startLine" : 308,
      "endLine" : 313,
      "cleanedStartLine" : 192,
      "cleanedEndLine" : 197
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerTestAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 281,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 212,
      "startLine" : 170,
      "endLine" : 175,
      "cleanedStartLine" : 88,
      "cleanedEndLine" : 93
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-core/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 40,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 3,
      "endLine" : 11,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-llms-all/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 50,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 40,
      "startLine" : 3,
      "endLine" : 11,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/androidMain/kotlin/ai/koog/agents/core/agent/AIAgentService.kt",
        "extension" : "kt",
        "linesOfCode" : 89,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 79,
      "startLine" : 66,
      "endLine" : 71,
      "cleanedStartLine" : 48,
      "cleanedEndLine" : 53
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 156,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 141,
      "startLine" : 113,
      "endLine" : 118,
      "cleanedStartLine" : 62,
      "cleanedEndLine" : 67
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/handler/llm/LLMCallEventContext.kt",
        "extension" : "kt",
        "linesOfCode" : 35,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 24,
      "startLine" : 51,
      "endLine" : 56,
      "cleanedStartLine" : 14,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/handler/streaming/LLMStreamingEventContext.kt",
        "extension" : "kt",
        "linesOfCode" : 54,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 42,
      "startLine" : 28,
      "endLine" : 33,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/model/events/toolExecutionEvents.kt",
        "extension" : "kt",
        "linesOfCode" : 176,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 165,
      "startLine" : 29,
      "endLine" : 34,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/model/events/toolExecutionEvents.kt",
        "extension" : "kt",
        "linesOfCode" : 176,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 165,
      "startLine" : 204,
      "endLine" : 209,
      "cleanedStartLine" : 111,
      "cleanedEndLine" : 116
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/appleMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 143,
      "endLine" : 148,
      "cleanedStartLine" : 122,
      "cleanedEndLine" : 127
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmMain/kotlin/ai/koog/agents/core/agent/AIAgentService.kt",
        "extension" : "kt",
        "linesOfCode" : 176,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 153,
      "startLine" : 269,
      "endLine" : 274,
      "cleanedStartLine" : 139,
      "cleanedEndLine" : 144
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rag/rag-base/src/jvmTest/kotlin/ai/koog/rag/base/files/JVMFileSystemProviderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 933,
        "components" : [ "primary::rag" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 724,
      "startLine" : 921,
      "endLine" : 927,
      "cleanedStartLine" : 591,
      "cleanedEndLine" : 596
    }, {
      "file" : {
        "relativePath" : "rag/rag-base/src/jvmTest/kotlin/ai/koog/rag/base/files/JVMFileSystemProviderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 933,
        "components" : [ "primary::rag" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 724,
      "startLine" : 955,
      "endLine" : 962,
      "cleanedStartLine" : 615,
      "cleanedEndLine" : 620
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAILLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 711,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 554,
      "startLine" : 422,
      "endLine" : 427,
      "cleanedStartLine" : 245,
      "cleanedEndLine" : 250
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAILLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 711,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 554,
      "startLine" : 498,
      "endLine" : 503,
      "cleanedStartLine" : 289,
      "cleanedEndLine" : 294
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/feature/remote/client/FeatureMessageRemoteClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 388,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 293,
      "startLine" : 280,
      "endLine" : 288,
      "cleanedStartLine" : 157,
      "cleanedEndLine" : 162
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/feature/writer/FeatureMessageRemoteWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 204,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 144,
      "startLine" : 166,
      "endLine" : 174,
      "cleanedStartLine" : 84,
      "cleanedEndLine" : 89
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/feature/AIAgentPipelineTest.kt",
        "extension" : "kt",
        "linesOfCode" : 736,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 595,
      "startLine" : 577,
      "endLine" : 585,
      "cleanedStartLine" : 371,
      "cleanedEndLine" : 376
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/feature/AIAgentPipelineTest.kt",
        "extension" : "kt",
        "linesOfCode" : 736,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 595,
      "startLine" : 813,
      "endLine" : 821,
      "cleanedStartLine" : 537,
      "cleanedEndLine" : 542
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-tools/src/commonTest/kotlin/ai/koog/agents/core/tools/serialization/ToolParameterTypesTest.kt",
        "extension" : "kt",
        "linesOfCode" : 560,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 449,
      "startLine" : 305,
      "endLine" : 312,
      "cleanedStartLine" : 201,
      "cleanedEndLine" : 206
    }, {
      "file" : {
        "relativePath" : "agents/agents-tools/src/commonTest/kotlin/ai/koog/agents/core/tools/serialization/ToolParameterTypesTest.kt",
        "extension" : "kt",
        "linesOfCode" : 560,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 449,
      "startLine" : 334,
      "endLine" : 341,
      "cleanedStartLine" : 224,
      "cleanedEndLine" : 229
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-event-handler/src/jvmTest/kotlin/ai/koog/agents/features/eventHandler/feature/EventHandlerTest.kt",
        "extension" : "kt",
        "linesOfCode" : 637,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 548,
      "startLine" : 610,
      "endLine" : 617,
      "cleanedStartLine" : 452,
      "cleanedEndLine" : 457
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageTestWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 623,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 501,
      "startLine" : 477,
      "endLine" : 484,
      "cleanedStartLine" : 309,
      "cleanedEndLine" : 314
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jsMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 143,
      "endLine" : 148,
      "cleanedStartLine" : 122,
      "cleanedEndLine" : 127
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/wasmJsMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 117,
      "endLine" : 122,
      "cleanedStartLine" : 97,
      "cleanedEndLine" : 102
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageTestWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 623,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 501,
      "startLine" : 328,
      "endLine" : 338,
      "cleanedStartLine" : 194,
      "cleanedEndLine" : 199
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageTestWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 623,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 501,
      "startLine" : 552,
      "endLine" : 562,
      "cleanedStartLine" : 372,
      "cleanedEndLine" : 377
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jsMain/kotlin/ai/koog/agents/core/agent/AIAgentService.kt",
        "extension" : "kt",
        "linesOfCode" : 89,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 79,
      "startLine" : 83,
      "endLine" : 88,
      "cleanedStartLine" : 65,
      "cleanedEndLine" : 70
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 156,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 141,
      "startLine" : 132,
      "endLine" : 137,
      "cleanedStartLine" : 81,
      "cleanedEndLine" : 86
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/tool/file/EditFileToolCoreTest.kt",
        "extension" : "kt",
        "linesOfCode" : 235,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 214,
      "startLine" : 83,
      "endLine" : 90,
      "cleanedStartLine" : 50,
      "cleanedEndLine" : 55
    }, {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/tool/file/EditFileToolCoreTest.kt",
        "extension" : "kt",
        "linesOfCode" : 235,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 214,
      "startLine" : 188,
      "endLine" : 195,
      "cleanedStartLine" : 134,
      "cleanedEndLine" : 139
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/androidMain/kotlin/ai/koog/agents/core/agent/AIAgentService.kt",
        "extension" : "kt",
        "linesOfCode" : 89,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 79,
      "startLine" : 66,
      "endLine" : 71,
      "cleanedStartLine" : 48,
      "cleanedEndLine" : 53
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jsMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 69,
      "endLine" : 74,
      "cleanedStartLine" : 50,
      "cleanedEndLine" : 55
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryNodeExecuteSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 307,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 276,
      "startLine" : 327,
      "endLine" : 332,
      "cleanedStartLine" : 258,
      "cleanedEndLine" : 263
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetrySubgraphTest.kt",
        "extension" : "kt",
        "linesOfCode" : 334,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 313,
      "startLine" : 305,
      "endLine" : 310,
      "cleanedStartLine" : 247,
      "cleanedEndLine" : 252
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/wasmJsMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 117,
      "endLine" : 122,
      "cleanedStartLine" : 97,
      "cleanedEndLine" : 102
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/wasmJsMain/kotlin/ai/koog/agents/core/agent/AIAgentService.kt",
        "extension" : "kt",
        "linesOfCode" : 89,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 79,
      "startLine" : 83,
      "endLine" : 88,
      "cleanedStartLine" : 65,
      "cleanedEndLine" : 70
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentGraphPipeline.kt",
        "extension" : "kt",
        "linesOfCode" : 107,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 90,
      "startLine" : 152,
      "endLine" : 157,
      "cleanedStartLine" : 49,
      "cleanedEndLine" : 54
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentGraphPipelineImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 181,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 142,
      "startLine" : 138,
      "endLine" : 143,
      "cleanedStartLine" : 84,
      "cleanedEndLine" : 89
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/agent/AIAgentToolTest.kt",
        "extension" : "kt",
        "linesOfCode" : 121,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 98,
      "startLine" : 60,
      "endLine" : 66,
      "cleanedStartLine" : 35,
      "cleanedEndLine" : 40
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/agent/AIAgentToolTest.kt",
        "extension" : "kt",
        "linesOfCode" : 121,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 98,
      "startLine" : 76,
      "endLine" : 81,
      "cleanedStartLine" : 48,
      "cleanedEndLine" : 53
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 156,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 141,
      "startLine" : 132,
      "endLine" : 137,
      "cleanedStartLine" : 81,
      "cleanedEndLine" : 86
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmMain/kotlin/ai/koog/agents/core/agent/AIAgentService.kt",
        "extension" : "kt",
        "linesOfCode" : 176,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 153,
      "startLine" : 269,
      "endLine" : 274,
      "cleanedStartLine" : 139,
      "cleanedEndLine" : 144
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/appleMain/kotlin/ai/koog/agents/core/agent/AIAgentService.kt",
        "extension" : "kt",
        "linesOfCode" : 89,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 79,
      "startLine" : 83,
      "endLine" : 88,
      "cleanedStartLine" : 65,
      "cleanedEndLine" : 70
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 156,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 141,
      "startLine" : 161,
      "endLine" : 166,
      "cleanedStartLine" : 109,
      "cleanedEndLine" : 114
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/wasmJsMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 88,
      "endLine" : 93,
      "cleanedStartLine" : 69,
      "cleanedEndLine" : 74
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/wasmJsMain/kotlin/ai/koog/agents/core/agent/AIAgentService.kt",
        "extension" : "kt",
        "linesOfCode" : 89,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 79,
      "startLine" : 83,
      "endLine" : 88,
      "cleanedStartLine" : 65,
      "cleanedEndLine" : 70
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/wasmJsMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 69,
      "endLine" : 74,
      "cleanedStartLine" : 50,
      "cleanedEndLine" : 55
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/wasmJsMain/kotlin/ai/koog/agents/core/agent/AIAgentService.kt",
        "extension" : "kt",
        "linesOfCode" : 89,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 79,
      "startLine" : 66,
      "endLine" : 71,
      "cleanedStartLine" : 48,
      "cleanedEndLine" : 53
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/src/jvmTest/kotlin/dashscope/DashscopeLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 255,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 196,
      "startLine" : 182,
      "endLine" : 189,
      "cleanedStartLine" : 116,
      "cleanedEndLine" : 121
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/mistralai/MistralAILLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 295,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 232,
      "startLine" : 205,
      "endLine" : 212,
      "cleanedStartLine" : 137,
      "cleanedEndLine" : 142
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/context/AIAgentFunctionalContext.kt",
        "extension" : "kt",
        "linesOfCode" : 179,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 153,
      "startLine" : 231,
      "endLine" : 236,
      "cleanedStartLine" : 125,
      "cleanedEndLine" : 130
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/context/AIAgentFunctionalContext.kt",
        "extension" : "kt",
        "linesOfCode" : 179,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 153,
      "startLine" : 243,
      "endLine" : 248,
      "cleanedStartLine" : 136,
      "cleanedEndLine" : 141
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentGraphPipeline.kt",
        "extension" : "kt",
        "linesOfCode" : 107,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 90,
      "startLine" : 152,
      "endLine" : 157,
      "cleanedStartLine" : 49,
      "cleanedEndLine" : 54
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentGraphPipelineAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 94,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 81,
      "startLine" : 80,
      "endLine" : 85,
      "cleanedStartLine" : 50,
      "cleanedEndLine" : 55
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/feature/remote/client/FeatureMessageRemoteClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 388,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 293,
      "startLine" : 467,
      "endLine" : 475,
      "cleanedStartLine" : 264,
      "cleanedEndLine" : 269
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/feature/writer/FeatureMessageRemoteWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 204,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 144,
      "startLine" : 166,
      "endLine" : 174,
      "cleanedStartLine" : 84,
      "cleanedEndLine" : 89
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryAgentSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 148,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 126,
      "startLine" : 31,
      "endLine" : 37,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 13
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryNodeExecuteSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 307,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 276,
      "startLine" : 35,
      "endLine" : 41,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 16
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rag/vector-storage/src/commonTest/kotlin/ai/koog/rag/vector/TextFileDocumentEmbeddingStorageTest.kt",
        "extension" : "kt",
        "linesOfCode" : 141,
        "components" : [ "primary::rag" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 112,
      "startLine" : 20,
      "endLine" : 29,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "rag/vector-storage/src/jvmTest/kotlin/ai/koog/rag/vector/JVMFileDocumentEmbeddingStorageTest.kt",
        "extension" : "kt",
        "linesOfCode" : 184,
        "components" : [ "primary::rag" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 148,
      "startLine" : 23,
      "endLine" : 32,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 12
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/appleMain/kotlin/ai/koog/agents/core/agent/AIAgentService.kt",
        "extension" : "kt",
        "linesOfCode" : 89,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 79,
      "startLine" : 83,
      "endLine" : 88,
      "cleanedStartLine" : 65,
      "cleanedEndLine" : 70
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 156,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 141,
      "startLine" : 187,
      "endLine" : 192,
      "cleanedStartLine" : 134,
      "cleanedEndLine" : 139
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/feature/AIAgentPipelineJvmTest.kt",
        "extension" : "kt",
        "linesOfCode" : 235,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 177,
      "startLine" : 202,
      "endLine" : 213,
      "cleanedStartLine" : 110,
      "cleanedEndLine" : 115
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/feature/AIAgentPipelineJvmTest.kt",
        "extension" : "kt",
        "linesOfCode" : 235,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 177,
      "startLine" : 224,
      "endLine" : 235,
      "cleanedStartLine" : 122,
      "cleanedEndLine" : 127
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/feature/remote/client/FeatureMessageRemoteClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 388,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 293,
      "startLine" : 48,
      "endLine" : 55,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 13
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/feature/writer/FeatureMessageRemoteWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 204,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 144,
      "startLine" : 101,
      "endLine" : 108,
      "cleanedStartLine" : 45,
      "cleanedEndLine" : 50
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rag/rag-base/src/commonTest/kotlin/ai/koog/rag/base/files/model/FileSystemEntryTest.kt",
        "extension" : "kt",
        "linesOfCode" : 266,
        "components" : [ "primary::rag" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 235,
      "startLine" : 253,
      "endLine" : 261,
      "cleanedStartLine" : 182,
      "cleanedEndLine" : 187
    }, {
      "file" : {
        "relativePath" : "rag/rag-base/src/commonTest/kotlin/ai/koog/rag/base/files/model/FileSystemEntryTest.kt",
        "extension" : "kt",
        "linesOfCode" : 266,
        "components" : [ "primary::rag" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 235,
      "startLine" : 269,
      "endLine" : 277,
      "cleanedStartLine" : 193,
      "cleanedEndLine" : 198
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/src/commonTest/kotlin/ai/koog/prompt/executor/clients/retry/RetryingLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 381,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 318,
      "startLine" : 207,
      "endLine" : 213,
      "cleanedStartLine" : 128,
      "cleanedEndLine" : 133
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/src/commonTest/kotlin/ai/koog/prompt/executor/clients/retry/RetryingLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 381,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 318,
      "startLine" : 291,
      "endLine" : 297,
      "cleanedStartLine" : 190,
      "cleanedEndLine" : 195
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/feature/remote/client/FeatureMessageRemoteClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 388,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 293,
      "startLine" : 467,
      "endLine" : 475,
      "cleanedStartLine" : 264,
      "cleanedEndLine" : 269
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/feature/writer/FeatureMessageRemoteWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 204,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 144,
      "startLine" : 115,
      "endLine" : 123,
      "cleanedStartLine" : 55,
      "cleanedEndLine" : 60
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/SubgraphWithRetryTest.kt",
        "extension" : "kt",
        "linesOfCode" : 429,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 348,
      "startLine" : 181,
      "endLine" : 186,
      "cleanedStartLine" : 113,
      "cleanedEndLine" : 118
    }, {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/SubgraphWithRetryTest.kt",
        "extension" : "kt",
        "linesOfCode" : 429,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 348,
      "startLine" : 474,
      "endLine" : 479,
      "cleanedStartLine" : 326,
      "cleanedEndLine" : 331
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/TraceStructureTestBase.kt",
        "extension" : "kt",
        "linesOfCode" : 802,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 688,
      "startLine" : 147,
      "endLine" : 152,
      "cleanedStartLine" : 67,
      "cleanedEndLine" : 72
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/langfuse/LangfuseTraceStructureTest.kt",
        "extension" : "kt",
        "linesOfCode" : 249,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 236,
      "startLine" : 22,
      "endLine" : 27,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 13
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/TraceStructureTestBase.kt",
        "extension" : "kt",
        "linesOfCode" : 802,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 688,
      "startLine" : 245,
      "endLine" : 250,
      "cleanedStartLine" : 144,
      "cleanedEndLine" : 149
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/TraceStructureTestBase.kt",
        "extension" : "kt",
        "linesOfCode" : 802,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 688,
      "startLine" : 746,
      "endLine" : 751,
      "cleanedStartLine" : 535,
      "cleanedEndLine" : 540
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-mcp/src/commonTest/kotlin/ai/koog/agents/mcp/DefaultMcpToolDescriptorParserTest.kt",
        "extension" : "kt",
        "linesOfCode" : 726,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 614,
      "startLine" : 284,
      "endLine" : 289,
      "cleanedStartLine" : 199,
      "cleanedEndLine" : 204
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/openai/models/OpenAIContentTest.kt",
        "extension" : "kt",
        "linesOfCode" : 338,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 269,
      "startLine" : 181,
      "endLine" : 186,
      "cleanedStartLine" : 129,
      "cleanedEndLine" : 134
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "convention-plugin-ai/src/main/kotlin/ai.kotlin.multiplatform.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 69,
        "components" : [ "primary::convention-plugin-ai" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 47,
      "startLine" : 1,
      "endLine" : 12,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    }, {
      "file" : {
        "relativePath" : "convention-plugin-ai/src/main/kotlin/ai.kotlin.multiplatform.server.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 38,
        "components" : [ "primary::convention-plugin-ai" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 24,
      "startLine" : 1,
      "endLine" : 12,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageFileWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 509,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 418,
      "startLine" : 196,
      "endLine" : 201,
      "cleanedStartLine" : 105,
      "cleanedEndLine" : 110
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageLogWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 480,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 396,
      "startLine" : 174,
      "endLine" : 179,
      "cleanedStartLine" : 92,
      "cleanedEndLine" : 97
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageRemoteWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 816,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 671,
      "startLine" : 415,
      "endLine" : 420,
      "cleanedStartLine" : 256,
      "cleanedEndLine" : 261
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageRemoteWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 816,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 671,
      "startLine" : 427,
      "endLine" : 432,
      "cleanedStartLine" : 268,
      "cleanedEndLine" : 273
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/handler/node/NodeExecutionEventContext.kt",
        "extension" : "kt",
        "linesOfCode" : 41,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 47,
      "endLine" : 52,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 18
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/handler/node/NodeExecutionEventContext.kt",
        "extension" : "kt",
        "linesOfCode" : 41,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 70,
      "endLine" : 75,
      "cleanedStartLine" : 24,
      "cleanedEndLine" : 29
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmMain/kotlin/ai/koog/agents/core/agent/AIAgentService.kt",
        "extension" : "kt",
        "linesOfCode" : 176,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 153,
      "startLine" : 269,
      "endLine" : 274,
      "cleanedStartLine" : 139,
      "cleanedEndLine" : 144
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/wasmJsMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 143,
      "endLine" : 148,
      "cleanedStartLine" : 122,
      "cleanedEndLine" : 127
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-server/src/commonTest/kotlin/ai/koog/a2a/server/session/SessionManagerTest.kt",
        "extension" : "kt",
        "linesOfCode" : 215,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 175,
      "startLine" : 150,
      "endLine" : 157,
      "cleanedStartLine" : 91,
      "cleanedEndLine" : 96
    }, {
      "file" : {
        "relativePath" : "a2a/a2a-server/src/commonTest/kotlin/ai/koog/a2a/server/session/SessionManagerTest.kt",
        "extension" : "kt",
        "linesOfCode" : 215,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 175,
      "startLine" : 263,
      "endLine" : 270,
      "cleanedStartLine" : 164,
      "cleanedEndLine" : 169
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerTest.kt",
        "extension" : "kt",
        "linesOfCode" : 521,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 437,
      "startLine" : 465,
      "endLine" : 470,
      "cleanedStartLine" : 349,
      "cleanedEndLine" : 354
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageRemoteWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 816,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 671,
      "startLine" : 540,
      "endLine" : 545,
      "cleanedStartLine" : 380,
      "cleanedEndLine" : 385
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-structure/src/commonMain/kotlin/ai/koog/prompt/structure/json/generator/BasicJsonSchemaGenerator.kt",
        "extension" : "kt",
        "linesOfCode" : 67,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 48,
      "startLine" : 57,
      "endLine" : 69,
      "cleanedStartLine" : 25,
      "cleanedEndLine" : 30
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-structure/src/commonMain/kotlin/ai/koog/prompt/structure/json/generator/StandardJsonSchemaGenerator.kt",
        "extension" : "kt",
        "linesOfCode" : 206,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 156,
      "startLine" : 97,
      "endLine" : 109,
      "cleanedStartLine" : 44,
      "cleanedEndLine" : 49
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/langfuse/LangfuseTraceStructureTest.kt",
        "extension" : "kt",
        "linesOfCode" : 249,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 236,
      "startLine" : 174,
      "endLine" : 179,
      "cleanedStartLine" : 146,
      "cleanedEndLine" : 151
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/weave/WeaveTraceStructureTest.kt",
        "extension" : "kt",
        "linesOfCode" : 270,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 257,
      "startLine" : 260,
      "endLine" : 265,
      "cleanedStartLine" : 227,
      "cleanedEndLine" : 232
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryNodeExecuteSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 307,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 276,
      "startLine" : 327,
      "endLine" : 332,
      "cleanedStartLine" : 258,
      "cleanedEndLine" : 263
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetrySubgraphTest.kt",
        "extension" : "kt",
        "linesOfCode" : 334,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 313,
      "startLine" : 189,
      "endLine" : 194,
      "cleanedStartLine" : 148,
      "cleanedEndLine" : 153
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/androidMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipeline.kt",
        "extension" : "kt",
        "linesOfCode" : 8,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 6,
      "startLine" : 1,
      "endLine" : 11,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/wasmJsMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipeline.kt",
        "extension" : "kt",
        "linesOfCode" : 8,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 6,
      "startLine" : 1,
      "endLine" : 11,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-deepseek-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/deepseek/models/DeepSeekSerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 327,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 263,
      "startLine" : 71,
      "endLine" : 79,
      "cleanedStartLine" : 41,
      "cleanedEndLine" : 46
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-deepseek-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/deepseek/models/DeepSeekSerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 327,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 263,
      "startLine" : 274,
      "endLine" : 282,
      "cleanedStartLine" : 200,
      "cleanedEndLine" : 205
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmMain/kotlin/ai/koog/agents/core/agent/context/SubtaskBuilder.kt",
        "extension" : "kt",
        "linesOfCode" : 115,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 98,
      "startLine" : 280,
      "endLine" : 285,
      "cleanedStartLine" : 82,
      "cleanedEndLine" : 87
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmMain/kotlin/ai/koog/agents/core/agent/context/SubtaskBuilder.kt",
        "extension" : "kt",
        "linesOfCode" : 115,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 98,
      "startLine" : 290,
      "endLine" : 295,
      "cleanedStartLine" : 92,
      "cleanedEndLine" : 97
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/feature/remote/client/FeatureMessageRemoteClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 388,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 293,
      "startLine" : 344,
      "endLine" : 352,
      "cleanedStartLine" : 193,
      "cleanedEndLine" : 198
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/feature/writer/FeatureMessageRemoteWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 204,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 144,
      "startLine" : 166,
      "endLine" : 174,
      "cleanedStartLine" : 84,
      "cleanedEndLine" : 89
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/SubgraphWithTaskTest.kt",
        "extension" : "kt",
        "linesOfCode" : 603,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 509,
      "startLine" : 284,
      "endLine" : 293,
      "cleanedStartLine" : 173,
      "cleanedEndLine" : 178
    }, {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/SubgraphWithTaskTest.kt",
        "extension" : "kt",
        "linesOfCode" : 603,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 509,
      "startLine" : 337,
      "endLine" : 346,
      "cleanedStartLine" : 209,
      "cleanedEndLine" : 214
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-core/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 40,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 3,
      "endLine" : 11,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    }, {
      "file" : {
        "relativePath" : "agents/agents-planner/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 36,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 3,
      "endLine" : 11,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rag/vector-storage/src/commonTest/kotlin/ai/koog/rag/vector/FileDocumentEmbeddingStorageTest.kt",
        "extension" : "kt",
        "linesOfCode" : 114,
        "components" : [ "primary::rag" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 90,
      "startLine" : 23,
      "endLine" : 32,
      "cleanedStartLine" : 6,
      "cleanedEndLine" : 11
    }, {
      "file" : {
        "relativePath" : "rag/vector-storage/src/jvmTest/kotlin/ai/koog/rag/vector/JVMTextFileDocumentEmbeddingStorageTest.kt",
        "extension" : "kt",
        "linesOfCode" : 234,
        "components" : [ "primary::rag" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 193,
      "startLine" : 18,
      "endLine" : 27,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/model/events/toolExecutionEvents.kt",
        "extension" : "kt",
        "linesOfCode" : 176,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 165,
      "startLine" : 101,
      "endLine" : 106,
      "cleanedStartLine" : 50,
      "cleanedEndLine" : 55
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/model/events/toolExecutionEvents.kt",
        "extension" : "kt",
        "linesOfCode" : 176,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 165,
      "startLine" : 161,
      "endLine" : 166,
      "cleanedStartLine" : 87,
      "cleanedEndLine" : 92
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/appleMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 117,
      "endLine" : 122,
      "cleanedStartLine" : 97,
      "cleanedEndLine" : 102
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jsMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 88,
      "endLine" : 93,
      "cleanedStartLine" : 69,
      "cleanedEndLine" : 74
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageFileWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 509,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 418,
      "startLine" : 203,
      "endLine" : 208,
      "cleanedStartLine" : 112,
      "cleanedEndLine" : 117
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageLogWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 480,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 396,
      "startLine" : 507,
      "endLine" : 512,
      "cleanedStartLine" : 355,
      "cleanedEndLine" : 360
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/ext/agent/AIAgentSubgraphExt.kt",
        "extension" : "kt",
        "linesOfCode" : 376,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 310,
      "startLine" : 242,
      "endLine" : 247,
      "cleanedStartLine" : 87,
      "cleanedEndLine" : 92
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/ext/agent/AIAgentSubgraphExt.kt",
        "extension" : "kt",
        "linesOfCode" : 376,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 310,
      "startLine" : 330,
      "endLine" : 335,
      "cleanedStartLine" : 136,
      "cleanedEndLine" : 141
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipeline.kt",
        "extension" : "kt",
        "linesOfCode" : 448,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 394,
      "startLine" : 281,
      "endLine" : 286,
      "cleanedStartLine" : 79,
      "cleanedEndLine" : 84
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 846,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 674,
      "startLine" : 281,
      "endLine" : 286,
      "cleanedStartLine" : 135,
      "cleanedEndLine" : 140
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/agent/FunctionalAIAgentTest.kt",
        "extension" : "kt",
        "linesOfCode" : 674,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 581,
      "startLine" : 514,
      "endLine" : 524,
      "cleanedStartLine" : 376,
      "cleanedEndLine" : 381
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/agent/SingleRunStrategyTests.kt",
        "extension" : "kt",
        "linesOfCode" : 234,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 186,
      "startLine" : 31,
      "endLine" : 40,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 21
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/agent/FunctionalAIAgentTest.kt",
        "extension" : "kt",
        "linesOfCode" : 674,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 581,
      "startLine" : 514,
      "endLine" : 524,
      "cleanedStartLine" : 376,
      "cleanedEndLine" : 381
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/agent/SingleRunStrategyTests.kt",
        "extension" : "kt",
        "linesOfCode" : 234,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 186,
      "startLine" : 122,
      "endLine" : 131,
      "cleanedStartLine" : 74,
      "cleanedEndLine" : 79
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/ext/agent/AIAgentSubgraphExt.kt",
        "extension" : "kt",
        "linesOfCode" : 376,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 310,
      "startLine" : 242,
      "endLine" : 247,
      "cleanedStartLine" : 87,
      "cleanedEndLine" : 92
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/ext/agent/AIAgentSubgraphExt.kt",
        "extension" : "kt",
        "linesOfCode" : 376,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 310,
      "startLine" : 389,
      "endLine" : 394,
      "cleanedStartLine" : 167,
      "cleanedEndLine" : 172
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/agent/FunctionalAIAgentTest.kt",
        "extension" : "kt",
        "linesOfCode" : 674,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 581,
      "startLine" : 514,
      "endLine" : 524,
      "cleanedStartLine" : 376,
      "cleanedEndLine" : 381
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/agent/SingleRunStrategyTests.kt",
        "extension" : "kt",
        "linesOfCode" : 234,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 186,
      "startLine" : 92,
      "endLine" : 101,
      "cleanedStartLine" : 55,
      "cleanedEndLine" : 60
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-core/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 40,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 3,
      "endLine" : 11,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 31,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 3,
      "endLine" : 11,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/androidMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 143,
      "endLine" : 148,
      "cleanedStartLine" : 122,
      "cleanedEndLine" : 127
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/appleMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 117,
      "endLine" : 122,
      "cleanedStartLine" : 97,
      "cleanedEndLine" : 102
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageRemoteWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 816,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 671,
      "startLine" : 112,
      "endLine" : 117,
      "cleanedStartLine" : 20,
      "cleanedEndLine" : 25
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageRemoteWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 816,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 671,
      "startLine" : 848,
      "endLine" : 853,
      "cleanedStartLine" : 603,
      "cleanedEndLine" : 608
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jsMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 117,
      "endLine" : 122,
      "cleanedStartLine" : 97,
      "cleanedEndLine" : 102
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmMain/kotlin/ai/koog/agents/core/agent/AIAgentService.kt",
        "extension" : "kt",
        "linesOfCode" : 176,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 153,
      "startLine" : 269,
      "endLine" : 274,
      "cleanedStartLine" : 139,
      "cleanedEndLine" : 144
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/androidMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 117,
      "endLine" : 122,
      "cleanedStartLine" : 97,
      "cleanedEndLine" : 102
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 156,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 141,
      "startLine" : 187,
      "endLine" : 192,
      "cleanedStartLine" : 134,
      "cleanedEndLine" : 139
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/ContentPartsBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 407,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 376,
      "startLine" : 112,
      "endLine" : 117,
      "cleanedStartLine" : 89,
      "cleanedEndLine" : 94
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/ContentPartsBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 407,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 376,
      "startLine" : 336,
      "endLine" : 341,
      "cleanedStartLine" : 284,
      "cleanedEndLine" : 289
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/appleMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 88,
      "endLine" : 93,
      "cleanedStartLine" : 69,
      "cleanedEndLine" : 74
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/wasmJsMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 117,
      "endLine" : 122,
      "cleanedStartLine" : 97,
      "cleanedEndLine" : 102
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmMain/kotlin/ai/koog/agents/features/opentelemetry/feature/OpenTelemetry.kt",
        "extension" : "kt",
        "linesOfCode" : 583,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 491,
      "startLine" : 305,
      "endLine" : 310,
      "cleanedStartLine" : 185,
      "cleanedEndLine" : 190
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmMain/kotlin/ai/koog/agents/features/opentelemetry/feature/OpenTelemetry.kt",
        "extension" : "kt",
        "linesOfCode" : 583,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 491,
      "startLine" : 329,
      "endLine" : 334,
      "cleanedStartLine" : 204,
      "cleanedEndLine" : 209
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/androidMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 88,
      "endLine" : 93,
      "cleanedStartLine" : 69,
      "cleanedEndLine" : 74
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/wasmJsMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 117,
      "endLine" : 122,
      "cleanedStartLine" : 97,
      "cleanedEndLine" : 102
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/appleMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 69,
      "endLine" : 74,
      "cleanedStartLine" : 50,
      "cleanedEndLine" : 55
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/appleMain/kotlin/ai/koog/agents/core/agent/AIAgentService.kt",
        "extension" : "kt",
        "linesOfCode" : 89,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 79,
      "startLine" : 66,
      "endLine" : 71,
      "cleanedStartLine" : 48,
      "cleanedEndLine" : 53
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/TestStrategies.kt",
        "extension" : "kt",
        "linesOfCode" : 398,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 340,
      "startLine" : 15,
      "endLine" : 21,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 7
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-sql/src/jvmTest/kotlin/ai/koog/agents/features/sql/providers/PostgresPersistenceAgentRunTest.kt",
        "extension" : "kt",
        "linesOfCode" : 243,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 182,
      "startLine" : 99,
      "endLine" : 105,
      "cleanedStartLine" : 47,
      "cleanedEndLine" : 52
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-xml/src/commonTest/kotlin/ai/koog/prompt/xml/XmlTest.kt",
        "extension" : "kt",
        "linesOfCode" : 283,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 216,
      "startLine" : 148,
      "endLine" : 155,
      "cleanedStartLine" : 103,
      "cleanedEndLine" : 108
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-xml/src/commonTest/kotlin/ai/koog/prompt/xml/XmlTest.kt",
        "extension" : "kt",
        "linesOfCode" : 283,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 216,
      "startLine" : 180,
      "endLine" : 187,
      "cleanedStartLine" : 127,
      "cleanedEndLine" : 132
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-xml/src/commonTest/kotlin/ai/koog/prompt/xml/XmlTest.kt",
        "extension" : "kt",
        "linesOfCode" : 283,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 216,
      "startLine" : 148,
      "endLine" : 155,
      "cleanedStartLine" : 103,
      "cleanedEndLine" : 108
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-xml/src/commonTest/kotlin/ai/koog/prompt/xml/XmlTest.kt",
        "extension" : "kt",
        "linesOfCode" : 283,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 216,
      "startLine" : 197,
      "endLine" : 204,
      "cleanedStartLine" : 140,
      "cleanedEndLine" : 145
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipeline.kt",
        "extension" : "kt",
        "linesOfCode" : 448,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 394,
      "startLine" : 281,
      "endLine" : 286,
      "cleanedStartLine" : 79,
      "cleanedEndLine" : 84
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 328,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 286,
      "startLine" : 130,
      "endLine" : 135,
      "cleanedStartLine" : 65,
      "cleanedEndLine" : 70
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/openai/models/OpenAIResponsesAPIResponseTest.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 378,
      "startLine" : 92,
      "endLine" : 97,
      "cleanedStartLine" : 71,
      "cleanedEndLine" : 76
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/openai/models/OpenAIResponsesAPIResponseTest.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 378,
      "startLine" : 365,
      "endLine" : 370,
      "cleanedStartLine" : 287,
      "cleanedEndLine" : 292
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentGraphPipelineAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 94,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 81,
      "startLine" : 69,
      "endLine" : 74,
      "cleanedStartLine" : 40,
      "cleanedEndLine" : 45
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentGraphPipelineAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 94,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 81,
      "startLine" : 80,
      "endLine" : 85,
      "cleanedStartLine" : 50,
      "cleanedEndLine" : 55
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/dashscope/models/DashscopeSerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 453,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 372,
      "startLine" : 349,
      "endLine" : 355,
      "cleanedStartLine" : 233,
      "cleanedEndLine" : 238
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-deepseek-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/deepseek/models/DeepSeekSerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 327,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 263,
      "startLine" : 164,
      "endLine" : 170,
      "cleanedStartLine" : 110,
      "cleanedEndLine" : 115
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/google/GoogleLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 480,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 432,
      "startLine" : 432,
      "endLine" : 437,
      "cleanedStartLine" : 334,
      "cleanedEndLine" : 339
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/google/GoogleLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 480,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 432,
      "startLine" : 508,
      "endLine" : 513,
      "cleanedStartLine" : 397,
      "cleanedEndLine" : 402
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAILLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 711,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 554,
      "startLine" : 422,
      "endLine" : 427,
      "cleanedStartLine" : 245,
      "cleanedEndLine" : 250
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAILLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 711,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 554,
      "startLine" : 534,
      "endLine" : 539,
      "cleanedStartLine" : 310,
      "cleanedEndLine" : 315
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerStreamingTest.kt",
        "extension" : "kt",
        "linesOfCode" : 347,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 262,
      "startLine" : 410,
      "endLine" : 420,
      "cleanedStartLine" : 255,
      "cleanedEndLine" : 260
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageRemoteWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 816,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 671,
      "startLine" : 606,
      "endLine" : 616,
      "cleanedStartLine" : 446,
      "cleanedEndLine" : 451
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/langfuse/LangfuseTraceStructureTest.kt",
        "extension" : "kt",
        "linesOfCode" : 249,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 236,
      "startLine" : 174,
      "endLine" : 179,
      "cleanedStartLine" : 146,
      "cleanedEndLine" : 151
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/weave/WeaveTraceStructureTest.kt",
        "extension" : "kt",
        "linesOfCode" : 270,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 257,
      "startLine" : 114,
      "endLine" : 119,
      "cleanedStartLine" : 94,
      "cleanedEndLine" : 99
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-markdown/src/commonTest/kotlin/ai/koog/prompt/markdown/MarkdownTest.kt",
        "extension" : "kt",
        "linesOfCode" : 197,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 160,
      "startLine" : 120,
      "endLine" : 125,
      "cleanedStartLine" : 72,
      "cleanedEndLine" : 77
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-markdown/src/commonTest/kotlin/ai/koog/prompt/markdown/MarkdownTest.kt",
        "extension" : "kt",
        "linesOfCode" : 197,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 160,
      "startLine" : 139,
      "endLine" : 144,
      "cleanedStartLine" : 89,
      "cleanedEndLine" : 94
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/model/events/toolExecutionEvents.kt",
        "extension" : "kt",
        "linesOfCode" : 176,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 165,
      "startLine" : 44,
      "endLine" : 49,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 20
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/model/events/toolExecutionEvents.kt",
        "extension" : "kt",
        "linesOfCode" : 176,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 165,
      "startLine" : 161,
      "endLine" : 166,
      "cleanedStartLine" : 87,
      "cleanedEndLine" : 92
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/TraceStructureTestBase.kt",
        "extension" : "kt",
        "linesOfCode" : 802,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 688,
      "startLine" : 277,
      "endLine" : 282,
      "cleanedStartLine" : 172,
      "cleanedEndLine" : 177
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/TraceStructureTestBase.kt",
        "extension" : "kt",
        "linesOfCode" : 802,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 688,
      "startLine" : 376,
      "endLine" : 381,
      "cleanedStartLine" : 248,
      "cleanedEndLine" : 253
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/event/SystemMessageEventTest.kt",
        "extension" : "kt",
        "linesOfCode" : 44,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 23,
      "endLine" : 29,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 14
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/event/UserMessageEventTest.kt",
        "extension" : "kt",
        "linesOfCode" : 44,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 23,
      "endLine" : 29,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 14
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentGraphPipelineAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 94,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 81,
      "startLine" : 40,
      "endLine" : 45,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 21
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentGraphPipelineAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 94,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 81,
      "startLine" : 72,
      "endLine" : 77,
      "cleanedStartLine" : 43,
      "cleanedEndLine" : 48
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-xml/src/commonTest/kotlin/ai/koog/prompt/xml/XmlTest.kt",
        "extension" : "kt",
        "linesOfCode" : 283,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 216,
      "startLine" : 180,
      "endLine" : 187,
      "cleanedStartLine" : 127,
      "cleanedEndLine" : 132
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-xml/src/commonTest/kotlin/ai/koog/prompt/xml/XmlTest.kt",
        "extension" : "kt",
        "linesOfCode" : 283,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 216,
      "startLine" : 197,
      "endLine" : 204,
      "cleanedStartLine" : 140,
      "cleanedEndLine" : 145
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/dsl/builder/AIAgentParallelNodesMergeContext.kt",
        "extension" : "kt",
        "linesOfCode" : 96,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 75,
      "startLine" : 87,
      "endLine" : 92,
      "cleanedStartLine" : 47,
      "cleanedEndLine" : 52
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/agent/context/AgentTestBase.kt",
        "extension" : "kt",
        "linesOfCode" : 108,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 76,
      "startLine" : 114,
      "endLine" : 119,
      "cleanedStartLine" : 69,
      "cleanedEndLine" : 74
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageFileWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 509,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 418,
      "startLine" : 271,
      "endLine" : 276,
      "cleanedStartLine" : 180,
      "cleanedEndLine" : 185
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageRemoteWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 816,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 671,
      "startLine" : 336,
      "endLine" : 341,
      "cleanedStartLine" : 179,
      "cleanedEndLine" : 184
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/dashscope/DashscopeParams.kt",
        "extension" : "kt",
        "linesOfCode" : 159,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 144,
      "startLine" : 72,
      "endLine" : 79,
      "cleanedStartLine" : 44,
      "cleanedEndLine" : 49
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 381,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 343,
      "startLine" : 340,
      "endLine" : 347,
      "cleanedStartLine" : 226,
      "cleanedEndLine" : 231
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/google/GoogleLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 480,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 432,
      "startLine" : 459,
      "endLine" : 465,
      "cleanedStartLine" : 356,
      "cleanedEndLine" : 361
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/google/GoogleLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 480,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 432,
      "startLine" : 485,
      "endLine" : 491,
      "cleanedStartLine" : 378,
      "cleanedEndLine" : 383
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/BedrockLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 751,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 628,
      "startLine" : 331,
      "endLine" : 337,
      "cleanedStartLine" : 202,
      "cleanedEndLine" : 207
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/BedrockLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 751,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 628,
      "startLine" : 458,
      "endLine" : 465,
      "cleanedStartLine" : 290,
      "cleanedEndLine" : 295
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-core/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 40,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 3,
      "endLine" : 11,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-llm/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 20,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 14,
      "startLine" : 3,
      "endLine" : 11,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/google/GoogleLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 480,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 432,
      "startLine" : 129,
      "endLine" : 134,
      "cleanedStartLine" : 86,
      "cleanedEndLine" : 91
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/openai/models/OpenAIContentTest.kt",
        "extension" : "kt",
        "linesOfCode" : 338,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 269,
      "startLine" : 181,
      "endLine" : 186,
      "cleanedStartLine" : 129,
      "cleanedEndLine" : 134
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmMain/kotlin/ai/koog/agents/core/agent/MermaidDiagramGenerator.kt",
        "extension" : "kt",
        "linesOfCode" : 74,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 53,
      "startLine" : 54,
      "endLine" : 63,
      "cleanedStartLine" : 26,
      "cleanedEndLine" : 31
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmMain/kotlin/ai/koog/agents/core/agent/MermaidDiagramGenerator.kt",
        "extension" : "kt",
        "linesOfCode" : 74,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 53,
      "startLine" : 75,
      "endLine" : 84,
      "cleanedStartLine" : 34,
      "cleanedEndLine" : 39
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipeline.kt",
        "extension" : "kt",
        "linesOfCode" : 448,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 394,
      "startLine" : 281,
      "endLine" : 286,
      "cleanedStartLine" : 79,
      "cleanedEndLine" : 84
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 846,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 674,
      "startLine" : 430,
      "endLine" : 435,
      "cleanedStartLine" : 264,
      "cleanedEndLine" : 269
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/src/jvmTest/kotlin/dashscope/DashscopeLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 255,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 196,
      "startLine" : 225,
      "endLine" : 232,
      "cleanedStartLine" : 150,
      "cleanedEndLine" : 155
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/mistralai/MistralAILLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 295,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 232,
      "startLine" : 249,
      "endLine" : 256,
      "cleanedStartLine" : 170,
      "cleanedEndLine" : 175
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/BedrockLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 751,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 628,
      "startLine" : 331,
      "endLine" : 337,
      "cleanedStartLine" : 202,
      "cleanedEndLine" : 207
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/BedrockLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 751,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 628,
      "startLine" : 421,
      "endLine" : 428,
      "cleanedStartLine" : 264,
      "cleanedEndLine" : 269
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/models/OpenAIResponsesAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 1134,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1035,
      "startLine" : 130,
      "endLine" : 135,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 18
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/models/OpenAIResponsesAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 1134,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1035,
      "startLine" : 1435,
      "endLine" : 1440,
      "cleanedStartLine" : 517,
      "cleanedEndLine" : 522
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-memory/src/jvmTest/kotlin/ai/koog/agents/memory/AIAgentMemoryTest.kt",
        "extension" : "kt",
        "linesOfCode" : 470,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 399,
      "startLine" : 92,
      "endLine" : 99,
      "cleanedStartLine" : 30,
      "cleanedEndLine" : 35
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-memory/src/jvmTest/kotlin/ai/koog/agents/memory/AIAgentMemoryTest.kt",
        "extension" : "kt",
        "linesOfCode" : 470,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 399,
      "startLine" : 285,
      "endLine" : 292,
      "cleanedStartLine" : 174,
      "cleanedEndLine" : 179
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/BedrockLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 751,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 628,
      "startLine" : 331,
      "endLine" : 337,
      "cleanedStartLine" : 202,
      "cleanedEndLine" : 207
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/BedrockLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 751,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 628,
      "startLine" : 389,
      "endLine" : 396,
      "cleanedStartLine" : 243,
      "cleanedEndLine" : 248
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerSubgraphTest.kt",
        "extension" : "kt",
        "linesOfCode" : 262,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 194,
      "startLine" : 312,
      "endLine" : 320,
      "cleanedStartLine" : 186,
      "cleanedEndLine" : 191
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageRemoteWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 816,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 671,
      "startLine" : 916,
      "endLine" : 924,
      "cleanedStartLine" : 659,
      "cleanedEndLine" : 664
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipeline.kt",
        "extension" : "kt",
        "linesOfCode" : 448,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 394,
      "startLine" : 281,
      "endLine" : 286,
      "cleanedStartLine" : 79,
      "cleanedEndLine" : 84
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 846,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 674,
      "startLine" : 476,
      "endLine" : 481,
      "cleanedStartLine" : 303,
      "cleanedEndLine" : 308
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageTestWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 623,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 501,
      "startLine" : 328,
      "endLine" : 338,
      "cleanedStartLine" : 194,
      "cleanedEndLine" : 199
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageTestWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 623,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 501,
      "startLine" : 427,
      "endLine" : 437,
      "cleanedStartLine" : 273,
      "cleanedEndLine" : 278
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-core/src/commonMain/kotlin/ai/koog/a2a/utils/ResultUtils.kt",
        "extension" : "kt",
        "linesOfCode" : 13,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 9,
      "startLine" : 13,
      "endLine" : 18,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/utils/ResultUtils.kt",
        "extension" : "kt",
        "linesOfCode" : 11,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 8,
      "startLine" : 9,
      "endLine" : 14,
      "cleanedStartLine" : 3,
      "cleanedEndLine" : 8
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 156,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 141,
      "startLine" : 161,
      "endLine" : 166,
      "cleanedStartLine" : 109,
      "cleanedEndLine" : 114
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/wasmJsMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 88,
      "endLine" : 93,
      "cleanedStartLine" : 69,
      "cleanedEndLine" : 74
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerTest.kt",
        "extension" : "kt",
        "linesOfCode" : 521,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 437,
      "startLine" : 291,
      "endLine" : 296,
      "cleanedStartLine" : 175,
      "cleanedEndLine" : 180
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageRemoteWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 816,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 671,
      "startLine" : 415,
      "endLine" : 420,
      "cleanedStartLine" : 256,
      "cleanedEndLine" : 261
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/context/AIAgentLLMContextAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 72,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 59,
      "startLine" : 148,
      "endLine" : 153,
      "cleanedStartLine" : 38,
      "cleanedEndLine" : 43
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/context/AIAgentLLMContextAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 72,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 59,
      "startLine" : 178,
      "endLine" : 183,
      "cleanedStartLine" : 52,
      "cleanedEndLine" : 57
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageFileWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 509,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 418,
      "startLine" : 441,
      "endLine" : 447,
      "cleanedStartLine" : 305,
      "cleanedEndLine" : 310
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageRemoteWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 816,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 671,
      "startLine" : 734,
      "endLine" : 740,
      "cleanedStartLine" : 520,
      "cleanedEndLine" : 525
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-test/src/commonMain/kotlin/ai/koog/agents/testing/tools/MockLLMBuilder.kt",
        "extension" : "kt",
        "linesOfCode" : 495,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 414,
      "startLine" : 212,
      "endLine" : 217,
      "cleanedStartLine" : 65,
      "cleanedEndLine" : 70
    }, {
      "file" : {
        "relativePath" : "agents/agents-test/src/commonMain/kotlin/ai/koog/agents/testing/tools/MockLLMBuilder.kt",
        "extension" : "kt",
        "linesOfCode" : 495,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 414,
      "startLine" : 400,
      "endLine" : 405,
      "cleanedStartLine" : 177,
      "cleanedEndLine" : 182
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryNodeExecuteSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 307,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 276,
      "startLine" : 120,
      "endLine" : 125,
      "cleanedStartLine" : 83,
      "cleanedEndLine" : 88
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetrySubgraphTest.kt",
        "extension" : "kt",
        "linesOfCode" : 334,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 313,
      "startLine" : 305,
      "endLine" : 310,
      "cleanedStartLine" : 247,
      "cleanedEndLine" : 252
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-cache/prompt-cache-model/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 26,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 11,
      "endLine" : 16,
      "cleanedStartLine" : 6,
      "cleanedEndLine" : 11
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-model/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 25,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 17,
      "startLine" : 10,
      "endLine" : 15,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 10
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-tools/src/commonTest/kotlin/ai/koog/agents/core/tools/serialization/ToolParameterTypesTest.kt",
        "extension" : "kt",
        "linesOfCode" : 560,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 449,
      "startLine" : 71,
      "endLine" : 76,
      "cleanedStartLine" : 37,
      "cleanedEndLine" : 42
    }, {
      "file" : {
        "relativePath" : "agents/agents-tools/src/commonTest/kotlin/ai/koog/agents/core/tools/serialization/ToolParameterTypesTest.kt",
        "extension" : "kt",
        "linesOfCode" : 560,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 449,
      "startLine" : 148,
      "endLine" : 153,
      "cleanedStartLine" : 89,
      "cleanedEndLine" : 94
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmMain/kotlin/ai/koog/agents/features/opentelemetry/feature/OpenTelemetry.kt",
        "extension" : "kt",
        "linesOfCode" : 583,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 491,
      "startLine" : 292,
      "endLine" : 297,
      "cleanedStartLine" : 174,
      "cleanedEndLine" : 179
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmMain/kotlin/ai/koog/agents/features/opentelemetry/feature/OpenTelemetry.kt",
        "extension" : "kt",
        "linesOfCode" : 583,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 491,
      "startLine" : 317,
      "endLine" : 322,
      "cleanedStartLine" : 193,
      "cleanedEndLine" : 198
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/agent/FunctionalAIAgentTest.kt",
        "extension" : "kt",
        "linesOfCode" : 674,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 581,
      "startLine" : 53,
      "endLine" : 61,
      "cleanedStartLine" : 24,
      "cleanedEndLine" : 29
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/agent/FunctionalAIAgentTest.kt",
        "extension" : "kt",
        "linesOfCode" : 674,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 581,
      "startLine" : 137,
      "endLine" : 145,
      "cleanedStartLine" : 81,
      "cleanedEndLine" : 86
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/google/GoogleLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 480,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 432,
      "startLine" : 485,
      "endLine" : 491,
      "cleanedStartLine" : 378,
      "cleanedEndLine" : 383
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/google/GoogleLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 480,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 432,
      "startLine" : 535,
      "endLine" : 541,
      "cleanedStartLine" : 421,
      "cleanedEndLine" : 426
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/SubgraphWithTaskTest.kt",
        "extension" : "kt",
        "linesOfCode" : 603,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 509,
      "startLine" : 76,
      "endLine" : 82,
      "cleanedStartLine" : 31,
      "cleanedEndLine" : 36
    }, {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/SubgraphWithTaskTest.kt",
        "extension" : "kt",
        "linesOfCode" : 603,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 509,
      "startLine" : 674,
      "endLine" : 680,
      "cleanedStartLine" : 448,
      "cleanedEndLine" : 453
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/feature/remote/server/FeatureMessageRemoteServerTest.kt",
        "extension" : "kt",
        "linesOfCode" : 316,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 232,
      "startLine" : 334,
      "endLine" : 343,
      "cleanedStartLine" : 190,
      "cleanedEndLine" : 195
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/feature/writer/FeatureMessageRemoteWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 204,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 144,
      "startLine" : 203,
      "endLine" : 212,
      "cleanedStartLine" : 105,
      "cleanedEndLine" : 110
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/agent/config/MissingToolsConversionStrategyTest.kt",
        "extension" : "kt",
        "linesOfCode" : 202,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 171,
      "startLine" : 35,
      "endLine" : 40,
      "cleanedStartLine" : 18,
      "cleanedEndLine" : 23
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/agent/config/ToolCallDescriberTest.kt",
        "extension" : "kt",
        "linesOfCode" : 252,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 218,
      "startLine" : 22,
      "endLine" : 27,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 12
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/androidMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 88,
      "endLine" : 93,
      "cleanedStartLine" : 69,
      "cleanedEndLine" : 74
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/androidMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 117,
      "endLine" : 122,
      "cleanedStartLine" : 97,
      "cleanedEndLine" : 102
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rag/vector-storage/src/commonTest/kotlin/ai/koog/rag/vector/FileDocumentEmbeddingStorageTest.kt",
        "extension" : "kt",
        "linesOfCode" : 114,
        "components" : [ "primary::rag" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 90,
      "startLine" : 23,
      "endLine" : 32,
      "cleanedStartLine" : 6,
      "cleanedEndLine" : 11
    }, {
      "file" : {
        "relativePath" : "rag/vector-storage/src/jvmTest/kotlin/ai/koog/rag/vector/JVMFileDocumentEmbeddingStorageTest.kt",
        "extension" : "kt",
        "linesOfCode" : 184,
        "components" : [ "primary::rag" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 148,
      "startLine" : 23,
      "endLine" : 32,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 12
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/utils/SerializationUtilsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 478,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 413,
      "startLine" : 212,
      "endLine" : 220,
      "cleanedStartLine" : 125,
      "cleanedEndLine" : 130
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/utils/SerializationUtilsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 478,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 413,
      "startLine" : 342,
      "endLine" : 350,
      "cleanedStartLine" : 222,
      "cleanedEndLine" : 227
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-memory/src/jvmTest/kotlin/ai/koog/agents/memory/AIAgentMemoryTest.kt",
        "extension" : "kt",
        "linesOfCode" : 470,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 399,
      "startLine" : 302,
      "endLine" : 308,
      "cleanedStartLine" : 188,
      "cleanedEndLine" : 193
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-memory/src/jvmTest/kotlin/ai/koog/agents/memory/AIAgentMemoryTest.kt",
        "extension" : "kt",
        "linesOfCode" : 470,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 399,
      "startLine" : 553,
      "endLine" : 559,
      "cleanedStartLine" : 382,
      "cleanedEndLine" : 387
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/dashscope/DashscopeParams.kt",
        "extension" : "kt",
        "linesOfCode" : 159,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 144,
      "startLine" : 185,
      "endLine" : 190,
      "cleanedStartLine" : 138,
      "cleanedEndLine" : 143
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openrouter-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openrouter/OpenRouterParams.kt",
        "extension" : "kt",
        "linesOfCode" : 197,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 177,
      "startLine" : 223,
      "endLine" : 228,
      "cleanedStartLine" : 163,
      "cleanedEndLine" : 168
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/modelfamilies/ai21/JambaDataModelsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 369,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 304,
      "startLine" : 122,
      "endLine" : 129,
      "cleanedStartLine" : 81,
      "cleanedEndLine" : 86
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/modelfamilies/ai21/JambaDataModelsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 369,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 304,
      "startLine" : 147,
      "endLine" : 154,
      "cleanedStartLine" : 97,
      "cleanedEndLine" : 102
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryInferenceSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 556,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 517,
      "startLine" : 342,
      "endLine" : 347,
      "cleanedStartLine" : 280,
      "cleanedEndLine" : 285
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryInferenceSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 556,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 517,
      "startLine" : 503,
      "endLine" : 508,
      "cleanedStartLine" : 419,
      "cleanedEndLine" : 424
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client-base/src/commonTest/kotlin/ai/koog/prompt/executor/clients/openai/structure/OpenAIBasicJsonSchemaGeneratorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 152,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 134,
      "startLine" : 13,
      "endLine" : 18,
      "cleanedStartLine" : 3,
      "cleanedEndLine" : 8
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-structure/src/commonTest/kotlin/ai/koog/prompt/structure/json/generator/JsonSchemaGeneratorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 819,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 713,
      "startLine" : 17,
      "endLine" : 22,
      "cleanedStartLine" : 3,
      "cleanedEndLine" : 8
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client-base/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/base/AbstractOpenAILLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 412,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 304,
      "startLine" : 260,
      "endLine" : 265,
      "cleanedStartLine" : 128,
      "cleanedEndLine" : 133
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAILLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 711,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 554,
      "startLine" : 360,
      "endLine" : 365,
      "cleanedStartLine" : 210,
      "cleanedEndLine" : 215
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client-base/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/base/AbstractOpenAILLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 412,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 304,
      "startLine" : 260,
      "endLine" : 265,
      "cleanedStartLine" : 128,
      "cleanedEndLine" : 133
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAILLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 711,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 554,
      "startLine" : 422,
      "endLine" : 427,
      "cleanedStartLine" : 245,
      "cleanedEndLine" : 250
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/feature/remote/client/FeatureMessageRemoteClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 388,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 293,
      "startLine" : 344,
      "endLine" : 352,
      "cleanedStartLine" : 193,
      "cleanedEndLine" : 198
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/feature/writer/FeatureMessageRemoteWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 204,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 144,
      "startLine" : 235,
      "endLine" : 243,
      "cleanedStartLine" : 126,
      "cleanedEndLine" : 131
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/google/GoogleSerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 177,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 143,
      "startLine" : 175,
      "endLine" : 180,
      "cleanedStartLine" : 121,
      "cleanedEndLine" : 126
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/google/ThinkingConfigTest.kt",
        "extension" : "kt",
        "linesOfCode" : 93,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 68,
      "startLine" : 42,
      "endLine" : 47,
      "cleanedStartLine" : 23,
      "cleanedEndLine" : 28
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryNodeExecuteSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 307,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 276,
      "startLine" : 120,
      "endLine" : 125,
      "cleanedStartLine" : 83,
      "cleanedEndLine" : 88
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetrySubgraphTest.kt",
        "extension" : "kt",
        "linesOfCode" : 334,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 313,
      "startLine" : 74,
      "endLine" : 79,
      "cleanedStartLine" : 48,
      "cleanedEndLine" : 53
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipeline.kt",
        "extension" : "kt",
        "linesOfCode" : 448,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 394,
      "startLine" : 281,
      "endLine" : 286,
      "cleanedStartLine" : 79,
      "cleanedEndLine" : 84
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipeline.kt",
        "extension" : "kt",
        "linesOfCode" : 448,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 394,
      "startLine" : 412,
      "endLine" : 417,
      "cleanedStartLine" : 135,
      "cleanedEndLine" : 140
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "embeddings/embeddings-llm/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 44,
        "components" : [ "primary::embeddings" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 41,
      "endLine" : 52,
      "cleanedStartLine" : 27,
      "cleanedEndLine" : 32
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-cache/prompt-cache-files/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 26,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 21,
      "endLine" : 32,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 18
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-llms/src/commonMain/kotlin/ai/koog/prompt/executor/llms/MultiLLMPromptExecutor.kt",
        "extension" : "kt",
        "linesOfCode" : 110,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 80,
      "startLine" : 184,
      "endLine" : 189,
      "cleanedStartLine" : 53,
      "cleanedEndLine" : 58
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-llms/src/commonMain/kotlin/ai/koog/prompt/executor/llms/SingleLLMPromptExecutor.kt",
        "extension" : "kt",
        "linesOfCode" : 52,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 53,
      "endLine" : 58,
      "cleanedStartLine" : 23,
      "cleanedEndLine" : 28
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jsMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 69,
      "endLine" : 74,
      "cleanedStartLine" : 50,
      "cleanedEndLine" : 55
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jsMain/kotlin/ai/koog/agents/core/agent/AIAgentService.kt",
        "extension" : "kt",
        "linesOfCode" : 89,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 79,
      "startLine" : 66,
      "endLine" : 71,
      "cleanedStartLine" : 48,
      "cleanedEndLine" : 53
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageFileWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 509,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 418,
      "startLine" : 327,
      "endLine" : 333,
      "cleanedStartLine" : 226,
      "cleanedEndLine" : 231
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageFileWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 509,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 418,
      "startLine" : 369,
      "endLine" : 375,
      "cleanedStartLine" : 259,
      "cleanedEndLine" : 264
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipeline.kt",
        "extension" : "kt",
        "linesOfCode" : 448,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 394,
      "startLine" : 281,
      "endLine" : 286,
      "cleanedStartLine" : 79,
      "cleanedEndLine" : 84
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipeline.kt",
        "extension" : "kt",
        "linesOfCode" : 448,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 394,
      "startLine" : 481,
      "endLine" : 486,
      "cleanedStartLine" : 162,
      "cleanedEndLine" : 167
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/langfuse/LangfuseTraceStructureTest.kt",
        "extension" : "kt",
        "linesOfCode" : 249,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 236,
      "startLine" : 54,
      "endLine" : 59,
      "cleanedStartLine" : 36,
      "cleanedEndLine" : 41
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/weave/WeaveTraceStructureTest.kt",
        "extension" : "kt",
        "linesOfCode" : 270,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 257,
      "startLine" : 177,
      "endLine" : 182,
      "cleanedStartLine" : 151,
      "cleanedEndLine" : 156
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-server/src/commonTest/kotlin/ai/koog/a2a/server/session/SessionEventProcessorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 287,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 234,
      "startLine" : 260,
      "endLine" : 265,
      "cleanedStartLine" : 160,
      "cleanedEndLine" : 165
    }, {
      "file" : {
        "relativePath" : "a2a/a2a-server/src/commonTest/kotlin/ai/koog/a2a/server/session/SessionEventProcessorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 287,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 234,
      "startLine" : 363,
      "endLine" : 368,
      "cleanedStartLine" : 225,
      "cleanedEndLine" : 230
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-sql/src/jvmTest/kotlin/ai/koog/agents/features/sql/providers/PostgresPersistenceAgentRunTest.kt",
        "extension" : "kt",
        "linesOfCode" : 243,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 182,
      "startLine" : 72,
      "endLine" : 77,
      "cleanedStartLine" : 25,
      "cleanedEndLine" : 30
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-sql/src/jvmTest/kotlin/ai/koog/agents/features/sql/providers/PostgresPersistencyStorageProviderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 105,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 76,
      "startLine" : 50,
      "endLine" : 55,
      "cleanedStartLine" : 19,
      "cleanedEndLine" : 24
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryInferenceSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 556,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 517,
      "startLine" : 342,
      "endLine" : 347,
      "cleanedStartLine" : 280,
      "cleanedEndLine" : 285
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryInferenceSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 556,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 517,
      "startLine" : 466,
      "endLine" : 471,
      "cleanedStartLine" : 382,
      "cleanedEndLine" : 387
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/feature/remote/client/FeatureMessageRemoteClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 388,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 293,
      "startLine" : 105,
      "endLine" : 113,
      "cleanedStartLine" : 45,
      "cleanedEndLine" : 50
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/feature/writer/FeatureMessageRemoteWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 204,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 144,
      "startLine" : 235,
      "endLine" : 243,
      "cleanedStartLine" : 126,
      "cleanedEndLine" : 131
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jsMain/kotlin/ai/koog/agents/snapshot/feature/RollbackToolRegistryBuilder.kt",
        "extension" : "kt",
        "linesOfCode" : 14,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 11,
      "startLine" : 1,
      "endLine" : 11,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmMain/kotlin/ai/koog/agents/snapshot/feature/RollbackToolRegistryBuilder.kt",
        "extension" : "kt",
        "linesOfCode" : 47,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 34,
      "startLine" : 1,
      "endLine" : 16,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-structure/src/commonTest/kotlin/ai/koog/prompt/structure/json/generator/JsonSchemaGeneratorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 819,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 713,
      "startLine" : 462,
      "endLine" : 468,
      "cleanedStartLine" : 368,
      "cleanedEndLine" : 373
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-structure/src/commonTest/kotlin/ai/koog/prompt/structure/json/generator/JsonSchemaGeneratorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 819,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 713,
      "startLine" : 539,
      "endLine" : 545,
      "cleanedStartLine" : 434,
      "cleanedEndLine" : 439
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/models/OpenAIResponsesAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 1134,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1035,
      "startLine" : 1709,
      "endLine" : 1722,
      "cleanedStartLine" : 657,
      "cleanedEndLine" : 662
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/models/OpenAIResponsesAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 1134,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1035,
      "startLine" : 1993,
      "endLine" : 2006,
      "cleanedStartLine" : 799,
      "cleanedEndLine" : 804
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/appleMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipeline.kt",
        "extension" : "kt",
        "linesOfCode" : 8,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 6,
      "startLine" : 1,
      "endLine" : 11,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/wasmJsMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipeline.kt",
        "extension" : "kt",
        "linesOfCode" : 8,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 6,
      "startLine" : 1,
      "endLine" : 11,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerTest.kt",
        "extension" : "kt",
        "linesOfCode" : 521,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 437,
      "startLine" : 320,
      "endLine" : 325,
      "cleanedStartLine" : 204,
      "cleanedEndLine" : 209
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageRemoteWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 816,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 671,
      "startLine" : 415,
      "endLine" : 420,
      "cleanedStartLine" : 256,
      "cleanedEndLine" : 261
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-deepseek-client/src/jvmTest/kotlin/deepseek/DeepSeekLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 247,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 191,
      "startLine" : 180,
      "endLine" : 187,
      "cleanedStartLine" : 116,
      "cleanedEndLine" : 121
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/mistralai/MistralAILLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 295,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 232,
      "startLine" : 205,
      "endLine" : 212,
      "cleanedStartLine" : 137,
      "cleanedEndLine" : 142
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/appleMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 117,
      "endLine" : 122,
      "cleanedStartLine" : 97,
      "cleanedEndLine" : 102
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/appleMain/kotlin/ai/koog/agents/core/agent/AIAgentService.kt",
        "extension" : "kt",
        "linesOfCode" : 89,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 79,
      "startLine" : 83,
      "endLine" : 88,
      "cleanedStartLine" : 65,
      "cleanedEndLine" : 70
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jsMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 88,
      "endLine" : 93,
      "cleanedStartLine" : 69,
      "cleanedEndLine" : 74
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/wasmJsMain/kotlin/ai/koog/agents/core/agent/AIAgentService.kt",
        "extension" : "kt",
        "linesOfCode" : 89,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 79,
      "startLine" : 83,
      "endLine" : 88,
      "cleanedStartLine" : 65,
      "cleanedEndLine" : 70
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/commonTest/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicSerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 335,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 278,
      "startLine" : 95,
      "endLine" : 103,
      "cleanedStartLine" : 54,
      "cleanedEndLine" : 59
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/openai/models/OpenAIResponsesAPIRequestSerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 233,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 194,
      "startLine" : 69,
      "endLine" : 77,
      "cleanedStartLine" : 44,
      "cleanedEndLine" : 49
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/feature/AIAgentPipelineTest.kt",
        "extension" : "kt",
        "linesOfCode" : 736,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 595,
      "startLine" : 529,
      "endLine" : 537,
      "cleanedStartLine" : 337,
      "cleanedEndLine" : 342
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/feature/AIAgentPipelineTest.kt",
        "extension" : "kt",
        "linesOfCode" : 736,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 595,
      "startLine" : 690,
      "endLine" : 698,
      "cleanedStartLine" : 450,
      "cleanedEndLine" : 455
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/androidMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 117,
      "endLine" : 122,
      "cleanedStartLine" : 97,
      "cleanedEndLine" : 102
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/androidMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 143,
      "endLine" : 148,
      "cleanedStartLine" : 122,
      "cleanedEndLine" : 127
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/appleMain/kotlin/ai/koog/agents/core/agent/AIAgentService.kt",
        "extension" : "kt",
        "linesOfCode" : 89,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 79,
      "startLine" : 83,
      "endLine" : 88,
      "cleanedStartLine" : 65,
      "cleanedEndLine" : 70
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jsMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 88,
      "endLine" : 93,
      "cleanedStartLine" : 69,
      "cleanedEndLine" : 74
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentGraphPipelineAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 94,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 81,
      "startLine" : 37,
      "endLine" : 42,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 18
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentGraphPipelineAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 94,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 81,
      "startLine" : 48,
      "endLine" : 53,
      "cleanedStartLine" : 23,
      "cleanedEndLine" : 28
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/utils/SerializationUtilsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 478,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 413,
      "startLine" : 328,
      "endLine" : 333,
      "cleanedStartLine" : 211,
      "cleanedEndLine" : 216
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/utils/SerializationUtilsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 478,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 413,
      "startLine" : 584,
      "endLine" : 589,
      "cleanedStartLine" : 391,
      "cleanedEndLine" : 396
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/feature/AIAgentPipelineTest.kt",
        "extension" : "kt",
        "linesOfCode" : 736,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 595,
      "startLine" : 529,
      "endLine" : 537,
      "cleanedStartLine" : 337,
      "cleanedEndLine" : 342
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/feature/AIAgentPipelineTest.kt",
        "extension" : "kt",
        "linesOfCode" : 736,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 595,
      "startLine" : 747,
      "endLine" : 755,
      "cleanedStartLine" : 488,
      "cleanedEndLine" : 493
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/agent/SingleRunStrategyTests.kt",
        "extension" : "kt",
        "linesOfCode" : 234,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 186,
      "startLine" : 161,
      "endLine" : 170,
      "cleanedStartLine" : 100,
      "cleanedEndLine" : 105
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/agent/SingleRunStrategyTests.kt",
        "extension" : "kt",
        "linesOfCode" : 234,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 186,
      "startLine" : 280,
      "endLine" : 289,
      "cleanedStartLine" : 180,
      "cleanedEndLine" : 185
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/utils/SerializationUtilsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 478,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 413,
      "startLine" : 196,
      "endLine" : 201,
      "cleanedStartLine" : 113,
      "cleanedEndLine" : 118
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/utils/SerializationUtilsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 478,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 413,
      "startLine" : 328,
      "endLine" : 333,
      "cleanedStartLine" : 211,
      "cleanedEndLine" : 216
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-transport/a2a-transport-client-jsonrpc-http/src/commonTest/kotlin/ai/koog/a2a/transport/client/jsonrpc/http/HttpJSONRPCClientTransportTest.kt",
        "extension" : "kt",
        "linesOfCode" : 389,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 327,
      "startLine" : 312,
      "endLine" : 317,
      "cleanedStartLine" : 212,
      "cleanedEndLine" : 217
    }, {
      "file" : {
        "relativePath" : "a2a/a2a-transport/a2a-transport-client-jsonrpc-http/src/commonTest/kotlin/ai/koog/a2a/transport/client/jsonrpc/http/HttpJSONRPCClientTransportTest.kt",
        "extension" : "kt",
        "linesOfCode" : 389,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 327,
      "startLine" : 344,
      "endLine" : 349,
      "cleanedStartLine" : 238,
      "cleanedEndLine" : 243
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/appleMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 117,
      "endLine" : 122,
      "cleanedStartLine" : 97,
      "cleanedEndLine" : 102
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/wasmJsMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 143,
      "endLine" : 148,
      "cleanedStartLine" : 122,
      "cleanedEndLine" : 127
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-core/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 40,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 3,
      "endLine" : 11,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-cache/prompt-cache-files/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 26,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 3,
      "endLine" : 11,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 48,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 11,
      "endLine" : 16,
      "cleanedStartLine" : 6,
      "cleanedEndLine" : 11
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-ollama-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 70,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 52,
      "startLine" : 11,
      "endLine" : 16,
      "cleanedStartLine" : 6,
      "cleanedEndLine" : 11
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jsMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 88,
      "endLine" : 93,
      "cleanedStartLine" : 69,
      "cleanedEndLine" : 74
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jsMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 117,
      "endLine" : 122,
      "cleanedStartLine" : 97,
      "cleanedEndLine" : 102
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-core/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 40,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 3,
      "endLine" : 11,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 29,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 19,
      "startLine" : 3,
      "endLine" : 11,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/appleMain/kotlin/ai/koog/agents/core/agent/AIAgentService.kt",
        "extension" : "kt",
        "linesOfCode" : 89,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 79,
      "startLine" : 66,
      "endLine" : 71,
      "cleanedStartLine" : 48,
      "cleanedEndLine" : 53
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jsMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 69,
      "endLine" : 74,
      "cleanedStartLine" : 50,
      "cleanedEndLine" : 55
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/appleMain/kotlin/ai/koog/agents/core/agent/AIAgentService.kt",
        "extension" : "kt",
        "linesOfCode" : 89,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 79,
      "startLine" : 83,
      "endLine" : 88,
      "cleanedStartLine" : 65,
      "cleanedEndLine" : 70
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jsMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 117,
      "endLine" : 122,
      "cleanedStartLine" : 97,
      "cleanedEndLine" : 102
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/SubgraphWithRetryTest.kt",
        "extension" : "kt",
        "linesOfCode" : 429,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 348,
      "startLine" : 300,
      "endLine" : 305,
      "cleanedStartLine" : 199,
      "cleanedEndLine" : 204
    }, {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/SubgraphWithRetryTest.kt",
        "extension" : "kt",
        "linesOfCode" : 429,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 348,
      "startLine" : 474,
      "endLine" : 479,
      "cleanedStartLine" : 326,
      "cleanedEndLine" : 331
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicModels.kt",
        "extension" : "kt",
        "linesOfCode" : 195,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 178,
      "startLine" : 250,
      "endLine" : 255,
      "cleanedStartLine" : 125,
      "cleanedEndLine" : 130
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicModels.kt",
        "extension" : "kt",
        "linesOfCode" : 195,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 178,
      "startLine" : 275,
      "endLine" : 280,
      "cleanedStartLine" : 140,
      "cleanedEndLine" : 145
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/androidMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 69,
      "endLine" : 74,
      "cleanedStartLine" : 50,
      "cleanedEndLine" : 55
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jsMain/kotlin/ai/koog/agents/core/agent/AIAgentService.kt",
        "extension" : "kt",
        "linesOfCode" : 89,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 79,
      "startLine" : 66,
      "endLine" : 71,
      "cleanedStartLine" : 48,
      "cleanedEndLine" : 53
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "koog-spring-boot-starter/src/main/kotlin/ai/koog/spring/prompt/executor/clients/mistralai/MistralAIKoogProperties.kt",
        "extension" : "kt",
        "linesOfCode" : 19,
        "components" : [ "primary::koog-spring-boot-starter" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 12,
      "startLine" : 25,
      "endLine" : 34,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "koog-spring-boot-starter/src/main/kotlin/ai/koog/spring/prompt/executor/clients/openai/OpenAIKoogProperties.kt",
        "extension" : "kt",
        "linesOfCode" : 19,
        "components" : [ "primary::koog-spring-boot-starter" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 12,
      "startLine" : 25,
      "endLine" : 34,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicModels.kt",
        "extension" : "kt",
        "linesOfCode" : 195,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 178,
      "startLine" : 250,
      "endLine" : 255,
      "cleanedStartLine" : 125,
      "cleanedEndLine" : 130
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicModels.kt",
        "extension" : "kt",
        "linesOfCode" : 195,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 178,
      "startLine" : 300,
      "endLine" : 305,
      "cleanedStartLine" : 155,
      "cleanedEndLine" : 160
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/mistralai/MistralAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 132,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 123,
      "startLine" : 91,
      "endLine" : 96,
      "cleanedStartLine" : 40,
      "cleanedEndLine" : 45
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/mistralai/MistralAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 132,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 123,
      "startLine" : 115,
      "endLine" : 120,
      "cleanedStartLine" : 54,
      "cleanedEndLine" : 59
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 328,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 286,
      "startLine" : 130,
      "endLine" : 135,
      "cleanedStartLine" : 65,
      "cleanedEndLine" : 70
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 846,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 674,
      "startLine" : 294,
      "endLine" : 299,
      "cleanedStartLine" : 146,
      "cleanedEndLine" : 151
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "embeddings/embeddings-base/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 33,
        "components" : [ "primary::embeddings" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 25,
      "endLine" : 33,
      "cleanedStartLine" : 14,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "embeddings/embeddings-llm/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 44,
        "components" : [ "primary::embeddings" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 35,
      "endLine" : 43,
      "cleanedStartLine" : 24,
      "cleanedEndLine" : 29
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmMain/kotlin/ai/koog/agents/features/opentelemetry/feature/OpenTelemetry.kt",
        "extension" : "kt",
        "linesOfCode" : 583,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 491,
      "startLine" : 424,
      "endLine" : 430,
      "cleanedStartLine" : 271,
      "cleanedEndLine" : 276
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmMain/kotlin/ai/koog/agents/features/opentelemetry/feature/OpenTelemetry.kt",
        "extension" : "kt",
        "linesOfCode" : 583,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 491,
      "startLine" : 558,
      "endLine" : 564,
      "cleanedStartLine" : 352,
      "cleanedEndLine" : 357
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentGraphPipeline.kt",
        "extension" : "kt",
        "linesOfCode" : 107,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 90,
      "startLine" : 155,
      "endLine" : 160,
      "cleanedStartLine" : 52,
      "cleanedEndLine" : 57
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentGraphPipelineAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 94,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 81,
      "startLine" : 40,
      "endLine" : 45,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 21
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/appleMain/kotlin/ai/koog/agents/core/agent/AIAgentService.kt",
        "extension" : "kt",
        "linesOfCode" : 89,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 79,
      "startLine" : 66,
      "endLine" : 71,
      "cleanedStartLine" : 48,
      "cleanedEndLine" : 53
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 156,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 141,
      "startLine" : 113,
      "endLine" : 118,
      "cleanedStartLine" : 62,
      "cleanedEndLine" : 67
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-structure/src/commonTest/kotlin/ai/koog/prompt/structure/markdown/MarkdownParserLineMatchingTest.kt",
        "extension" : "kt",
        "linesOfCode" : 119,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 94,
      "startLine" : 101,
      "endLine" : 110,
      "cleanedStartLine" : 65,
      "cleanedEndLine" : 70
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-structure/src/commonTest/kotlin/ai/koog/prompt/structure/markdown/MarkdownParserLineMatchingTest.kt",
        "extension" : "kt",
        "linesOfCode" : 119,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 94,
      "startLine" : 125,
      "endLine" : 134,
      "cleanedStartLine" : 80,
      "cleanedEndLine" : 85
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/SubgraphWithRetryTest.kt",
        "extension" : "kt",
        "linesOfCode" : 429,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 348,
      "startLine" : 234,
      "endLine" : 239,
      "cleanedStartLine" : 153,
      "cleanedEndLine" : 158
    }, {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/SubgraphWithRetryTest.kt",
        "extension" : "kt",
        "linesOfCode" : 429,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 348,
      "startLine" : 474,
      "endLine" : 479,
      "cleanedStartLine" : 326,
      "cleanedEndLine" : 331
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryNodeExecuteSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 307,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 276,
      "startLine" : 79,
      "endLine" : 84,
      "cleanedStartLine" : 52,
      "cleanedEndLine" : 57
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetrySubgraphTest.kt",
        "extension" : "kt",
        "linesOfCode" : 334,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 313,
      "startLine" : 122,
      "endLine" : 127,
      "cleanedStartLine" : 96,
      "cleanedEndLine" : 101
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAILLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 711,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 554,
      "startLine" : 360,
      "endLine" : 365,
      "cleanedStartLine" : 210,
      "cleanedEndLine" : 215
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAILLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 711,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 554,
      "startLine" : 534,
      "endLine" : 539,
      "cleanedStartLine" : 310,
      "cleanedEndLine" : 315
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 99,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 84,
      "startLine" : 163,
      "endLine" : 168,
      "cleanedStartLine" : 42,
      "cleanedEndLine" : 47
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/AIAgentService.kt",
        "extension" : "kt",
        "linesOfCode" : 228,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 197,
      "startLine" : 192,
      "endLine" : 197,
      "cleanedStartLine" : 34,
      "cleanedEndLine" : 39
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-server/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 50,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 45,
      "endLine" : 59,
      "cleanedStartLine" : 33,
      "cleanedEndLine" : 38
    }, {
      "file" : {
        "relativePath" : "a2a/a2a-transport/a2a-transport-core-jsonrpc/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 37,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 33,
      "endLine" : 47,
      "cleanedStartLine" : 20,
      "cleanedEndLine" : 25
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/mistralai/MistralAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 132,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 123,
      "startLine" : 91,
      "endLine" : 96,
      "cleanedStartLine" : 40,
      "cleanedEndLine" : 45
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/mistralai/MistralAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 132,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 123,
      "startLine" : 168,
      "endLine" : 173,
      "cleanedStartLine" : 85,
      "cleanedEndLine" : 90
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/feature/message/FeatureMessageProcessorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 313,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 270,
      "startLine" : 262,
      "endLine" : 268,
      "cleanedStartLine" : 165,
      "cleanedEndLine" : 170
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/feature/message/FeatureMessageProcessorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 313,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 270,
      "startLine" : 387,
      "endLine" : 393,
      "cleanedStartLine" : 265,
      "cleanedEndLine" : 270
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/feature/AIAgentPipelineTest.kt",
        "extension" : "kt",
        "linesOfCode" : 736,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 595,
      "startLine" : 529,
      "endLine" : 537,
      "cleanedStartLine" : 337,
      "cleanedEndLine" : 342
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/feature/AIAgentPipelineTest.kt",
        "extension" : "kt",
        "linesOfCode" : 736,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 595,
      "startLine" : 813,
      "endLine" : 821,
      "cleanedStartLine" : 537,
      "cleanedEndLine" : 542
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/google/GoogleLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 480,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 432,
      "startLine" : 114,
      "endLine" : 119,
      "cleanedStartLine" : 71,
      "cleanedEndLine" : 76
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client-base/src/commonTest/kotlin/ai/koog/prompt/executor/clients/openai/base/OpenAICompatibleToolDescriptorConverterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 214,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 181,
      "startLine" : 196,
      "endLine" : 201,
      "cleanedStartLine" : 150,
      "cleanedEndLine" : 155
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentGraphPipeline.kt",
        "extension" : "kt",
        "linesOfCode" : 107,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 90,
      "startLine" : 88,
      "endLine" : 93,
      "cleanedStartLine" : 25,
      "cleanedEndLine" : 30
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentGraphPipeline.kt",
        "extension" : "kt",
        "linesOfCode" : 107,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 90,
      "startLine" : 155,
      "endLine" : 160,
      "cleanedStartLine" : 52,
      "cleanedEndLine" : 57
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/commonTest/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicSerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 335,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 278,
      "startLine" : 87,
      "endLine" : 93,
      "cleanedStartLine" : 47,
      "cleanedEndLine" : 52
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/commonTest/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicSerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 335,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 278,
      "startLine" : 277,
      "endLine" : 283,
      "cleanedStartLine" : 204,
      "cleanedEndLine" : 209
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageFileWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 509,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 418,
      "startLine" : 172,
      "endLine" : 177,
      "cleanedStartLine" : 82,
      "cleanedEndLine" : 87
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageFileWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 509,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 418,
      "startLine" : 549,
      "endLine" : 554,
      "cleanedStartLine" : 389,
      "cleanedEndLine" : 394
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/src/commonTest/kotlin/ai/koog/prompt/executor/clients/retry/RetryingLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 381,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 318,
      "startLine" : 290,
      "endLine" : 296,
      "cleanedStartLine" : 189,
      "cleanedEndLine" : 194
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/src/commonTest/kotlin/ai/koog/prompt/executor/clients/retry/RetryingLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 381,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 318,
      "startLine" : 370,
      "endLine" : 376,
      "cleanedStartLine" : 248,
      "cleanedEndLine" : 253
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-deepseek-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/deepseek/DeepSeekLLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 131,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 91,
      "startLine" : 119,
      "endLine" : 124,
      "cleanedStartLine" : 56,
      "cleanedEndLine" : 61
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAILLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 711,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 554,
      "startLine" : 244,
      "endLine" : 249,
      "cleanedStartLine" : 126,
      "cleanedEndLine" : 131
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/models/OpenAIResponsesAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 1134,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1035,
      "startLine" : 1709,
      "endLine" : 1722,
      "cleanedStartLine" : 657,
      "cleanedEndLine" : 662
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/models/OpenAIResponsesAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 1134,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1035,
      "startLine" : 2151,
      "endLine" : 2164,
      "cleanedStartLine" : 878,
      "cleanedEndLine" : 883
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIChatParamsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 132,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 105,
      "startLine" : 67,
      "endLine" : 72,
      "cleanedStartLine" : 36,
      "cleanedEndLine" : 41
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIResponsesParamsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 142,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 111,
      "startLine" : 70,
      "endLine" : 75,
      "cleanedStartLine" : 38,
      "cleanedEndLine" : 43
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryExecuteToolSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 184,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 154,
      "startLine" : 79,
      "endLine" : 85,
      "cleanedStartLine" : 45,
      "cleanedEndLine" : 50
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryInferenceSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 556,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 517,
      "startLine" : 117,
      "endLine" : 124,
      "cleanedStartLine" : 75,
      "cleanedEndLine" : 80
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/google/GoogleLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 480,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 432,
      "startLine" : 403,
      "endLine" : 408,
      "cleanedStartLine" : 311,
      "cleanedEndLine" : 316
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/google/GoogleLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 480,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 432,
      "startLine" : 508,
      "endLine" : 513,
      "cleanedStartLine" : 397,
      "cleanedEndLine" : 402
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerTest.kt",
        "extension" : "kt",
        "linesOfCode" : 521,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 437,
      "startLine" : 508,
      "endLine" : 513,
      "cleanedStartLine" : 392,
      "cleanedEndLine" : 397
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageRemoteWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 816,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 671,
      "startLine" : 560,
      "endLine" : 565,
      "cleanedStartLine" : 400,
      "cleanedEndLine" : 405
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/androidMain/kotlin/ai/koog/agents/core/agent/AIAgentService.kt",
        "extension" : "kt",
        "linesOfCode" : 89,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 79,
      "startLine" : 66,
      "endLine" : 71,
      "cleanedStartLine" : 48,
      "cleanedEndLine" : 53
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/appleMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 69,
      "endLine" : 74,
      "cleanedStartLine" : 50,
      "cleanedEndLine" : 55
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageFileWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 509,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 418,
      "startLine" : 255,
      "endLine" : 260,
      "cleanedStartLine" : 164,
      "cleanedEndLine" : 169
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageLogWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 480,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 396,
      "startLine" : 157,
      "endLine" : 162,
      "cleanedStartLine" : 76,
      "cleanedEndLine" : 81
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/TraceStructureTestBase.kt",
        "extension" : "kt",
        "linesOfCode" : 802,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 688,
      "startLine" : 363,
      "endLine" : 368,
      "cleanedStartLine" : 235,
      "cleanedEndLine" : 240
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/TraceStructureTestBase.kt",
        "extension" : "kt",
        "linesOfCode" : 802,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 688,
      "startLine" : 376,
      "endLine" : 381,
      "cleanedStartLine" : 248,
      "cleanedEndLine" : 253
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/appleMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 117,
      "endLine" : 122,
      "cleanedStartLine" : 97,
      "cleanedEndLine" : 102
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 156,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 141,
      "startLine" : 132,
      "endLine" : 137,
      "cleanedStartLine" : 81,
      "cleanedEndLine" : 86
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicModels.kt",
        "extension" : "kt",
        "linesOfCode" : 195,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 178,
      "startLine" : 174,
      "endLine" : 179,
      "cleanedStartLine" : 80,
      "cleanedEndLine" : 85
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicModels.kt",
        "extension" : "kt",
        "linesOfCode" : 195,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 178,
      "startLine" : 300,
      "endLine" : 305,
      "cleanedStartLine" : 155,
      "cleanedEndLine" : 160
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-core/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 40,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 3,
      "endLine" : 11,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 41,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 3,
      "endLine" : 11,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicModels.kt",
        "extension" : "kt",
        "linesOfCode" : 195,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 178,
      "startLine" : 174,
      "endLine" : 179,
      "cleanedStartLine" : 80,
      "cleanedEndLine" : 85
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicModels.kt",
        "extension" : "kt",
        "linesOfCode" : 195,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 178,
      "startLine" : 275,
      "endLine" : 280,
      "cleanedStartLine" : 140,
      "cleanedEndLine" : 145
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmMain/kotlin/ai/koog/agents/ext/agent/AIAgentSubgraphExt.jvm.kt",
        "extension" : "kt",
        "linesOfCode" : 47,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 42,
      "endLine" : 47,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 18
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmMain/kotlin/ai/koog/agents/ext/agent/AIAgentSubgraphExt.jvm.kt",
        "extension" : "kt",
        "linesOfCode" : 47,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 74,
      "endLine" : 79,
      "cleanedStartLine" : 30,
      "cleanedEndLine" : 35
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/appleMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 143,
      "endLine" : 148,
      "cleanedStartLine" : 122,
      "cleanedEndLine" : 127
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jsMain/kotlin/ai/koog/agents/core/agent/AIAgentService.kt",
        "extension" : "kt",
        "linesOfCode" : 89,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 79,
      "startLine" : 83,
      "endLine" : 88,
      "cleanedStartLine" : 65,
      "cleanedEndLine" : 70
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/appleMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 88,
      "endLine" : 93,
      "cleanedStartLine" : 69,
      "cleanedEndLine" : 74
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/appleMain/kotlin/ai/koog/agents/core/agent/AIAgentService.kt",
        "extension" : "kt",
        "linesOfCode" : 89,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 79,
      "startLine" : 83,
      "endLine" : 88,
      "cleanedStartLine" : 65,
      "cleanedEndLine" : 70
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerTestAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 281,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 212,
      "startLine" : 216,
      "endLine" : 221,
      "cleanedStartLine" : 134,
      "cleanedEndLine" : 139
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageRemoteWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 816,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 671,
      "startLine" : 427,
      "endLine" : 432,
      "cleanedStartLine" : 268,
      "cleanedEndLine" : 273
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/google/GoogleLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 480,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 432,
      "startLine" : 403,
      "endLine" : 408,
      "cleanedStartLine" : 311,
      "cleanedEndLine" : 316
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/google/GoogleLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 480,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 432,
      "startLine" : 432,
      "endLine" : 437,
      "cleanedStartLine" : 334,
      "cleanedEndLine" : 339
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-core/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 40,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 3,
      "endLine" : 11,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 30,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 20,
      "startLine" : 3,
      "endLine" : 11,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/feature/AIAgentPipelineTest.kt",
        "extension" : "kt",
        "linesOfCode" : 736,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 595,
      "startLine" : 247,
      "endLine" : 255,
      "cleanedStartLine" : 138,
      "cleanedEndLine" : 143
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/feature/AIAgentPipelineTest.kt",
        "extension" : "kt",
        "linesOfCode" : 736,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 595,
      "startLine" : 690,
      "endLine" : 698,
      "cleanedStartLine" : 450,
      "cleanedEndLine" : 455
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipeline.kt",
        "extension" : "kt",
        "linesOfCode" : 448,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 394,
      "startLine" : 281,
      "endLine" : 286,
      "cleanedStartLine" : 79,
      "cleanedEndLine" : 84
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 328,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 286,
      "startLine" : 235,
      "endLine" : 240,
      "cleanedStartLine" : 157,
      "cleanedEndLine" : 162
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageFileWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 509,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 418,
      "startLine" : 549,
      "endLine" : 554,
      "cleanedStartLine" : 389,
      "cleanedEndLine" : 394
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageRemoteWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 816,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 671,
      "startLine" : 336,
      "endLine" : 341,
      "cleanedStartLine" : 179,
      "cleanedEndLine" : 184
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/mock/MockLLMExecutor.kt",
        "extension" : "kt",
        "linesOfCode" : 47,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 28,
      "startLine" : 48,
      "endLine" : 55,
      "cleanedStartLine" : 23,
      "cleanedEndLine" : 28
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-cached/src/jvmTest/kotlin/ai/koog/prompt/executor/cached/CachedPromptExecutorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 98,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 67,
      "startLine" : 79,
      "endLine" : 86,
      "cleanedStartLine" : 42,
      "cleanedEndLine" : 47
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageRemoteWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 816,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 671,
      "startLine" : 562,
      "endLine" : 567,
      "cleanedStartLine" : 402,
      "cleanedEndLine" : 407
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageRemoteWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 816,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 671,
      "startLine" : 579,
      "endLine" : 584,
      "cleanedStartLine" : 419,
      "cleanedEndLine" : 424
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipeline.kt",
        "extension" : "kt",
        "linesOfCode" : 448,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 394,
      "startLine" : 281,
      "endLine" : 286,
      "cleanedStartLine" : 79,
      "cleanedEndLine" : 84
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 328,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 286,
      "startLine" : 205,
      "endLine" : 210,
      "cleanedStartLine" : 130,
      "cleanedEndLine" : 135
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-deepseek-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/deepseek/DeepSeekParams.kt",
        "extension" : "kt",
        "linesOfCode" : 143,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 56,
      "endLine" : 61,
      "cleanedStartLine" : 31,
      "cleanedEndLine" : 36
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonMain/kotlin/ai/koog/prompt/params/LLMParams.kt",
        "extension" : "kt",
        "linesOfCode" : 169,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 141,
      "startLine" : 170,
      "endLine" : 175,
      "cleanedStartLine" : 77,
      "cleanedEndLine" : 82
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/feature/AIAgentPipelineTest.kt",
        "extension" : "kt",
        "linesOfCode" : 736,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 595,
      "startLine" : 247,
      "endLine" : 255,
      "cleanedStartLine" : 138,
      "cleanedEndLine" : 143
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/feature/AIAgentPipelineTest.kt",
        "extension" : "kt",
        "linesOfCode" : 736,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 595,
      "startLine" : 747,
      "endLine" : 755,
      "cleanedStartLine" : 488,
      "cleanedEndLine" : 493
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageFileWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 509,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 418,
      "startLine" : 172,
      "endLine" : 177,
      "cleanedStartLine" : 82,
      "cleanedEndLine" : 87
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageFileWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 509,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 418,
      "startLine" : 565,
      "endLine" : 570,
      "cleanedStartLine" : 405,
      "cleanedEndLine" : 410
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/androidMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 117,
      "endLine" : 122,
      "cleanedStartLine" : 97,
      "cleanedEndLine" : 102
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jsMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 88,
      "endLine" : 93,
      "cleanedStartLine" : 69,
      "cleanedEndLine" : 74
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/models/OpenAIResponsesAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 1134,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1035,
      "startLine" : 1709,
      "endLine" : 1722,
      "cleanedStartLine" : 657,
      "cleanedEndLine" : 662
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/models/OpenAIResponsesAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 1134,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1035,
      "startLine" : 2215,
      "endLine" : 2228,
      "cleanedStartLine" : 910,
      "cleanedEndLine" : 915
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-mcp/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 41,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 31,
      "startLine" : 28,
      "endLine" : 39,
      "cleanedStartLine" : 21,
      "cleanedEndLine" : 26
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-deepseek-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 29,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 19,
      "startLine" : 16,
      "endLine" : 27,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 16
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryInferenceSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 556,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 517,
      "startLine" : 175,
      "endLine" : 180,
      "cleanedStartLine" : 123,
      "cleanedEndLine" : 128
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryInferenceSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 556,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 517,
      "startLine" : 302,
      "endLine" : 307,
      "cleanedStartLine" : 240,
      "cleanedEndLine" : 245
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jsMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 69,
      "endLine" : 74,
      "cleanedStartLine" : 50,
      "cleanedEndLine" : 55
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/wasmJsMain/kotlin/ai/koog/agents/core/agent/AIAgentService.kt",
        "extension" : "kt",
        "linesOfCode" : 89,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 79,
      "startLine" : 66,
      "endLine" : 71,
      "cleanedStartLine" : 48,
      "cleanedEndLine" : 53
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/androidMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 117,
      "endLine" : 122,
      "cleanedStartLine" : 97,
      "cleanedEndLine" : 102
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jsMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 143,
      "endLine" : 148,
      "cleanedStartLine" : 122,
      "cleanedEndLine" : 127
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jsMain/kotlin/ai/koog/agents/core/agent/AIAgentService.kt",
        "extension" : "kt",
        "linesOfCode" : 89,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 79,
      "startLine" : 83,
      "endLine" : 88,
      "cleanedStartLine" : 65,
      "cleanedEndLine" : 70
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/wasmJsMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 143,
      "endLine" : 148,
      "cleanedStartLine" : 122,
      "cleanedEndLine" : 127
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/agent/FunctionalAIAgentTest.kt",
        "extension" : "kt",
        "linesOfCode" : 674,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 581,
      "startLine" : 38,
      "endLine" : 44,
      "cleanedStartLine" : 12,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/agent/SingleRunStrategyTests.kt",
        "extension" : "kt",
        "linesOfCode" : 234,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 186,
      "startLine" : 185,
      "endLine" : 192,
      "cleanedStartLine" : 115,
      "cleanedEndLine" : 120
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-ollama-client/src/commonTest/kotlin/ai/koog/prompt/executor/ollama/client/OllamaToolCallTest.kt",
        "extension" : "kt",
        "linesOfCode" : 210,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 189,
      "startLine" : 94,
      "endLine" : 99,
      "cleanedStartLine" : 62,
      "cleanedEndLine" : 67
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-ollama-client/src/commonTest/kotlin/ai/koog/prompt/executor/ollama/client/OllamaToolCallTest.kt",
        "extension" : "kt",
        "linesOfCode" : 210,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 189,
      "startLine" : 201,
      "endLine" : 206,
      "cleanedStartLine" : 151,
      "cleanedEndLine" : 156
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-xml/src/commonTest/kotlin/ai/koog/prompt/xml/XmlIndentationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 157,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 113,
      "startLine" : 75,
      "endLine" : 82,
      "cleanedStartLine" : 52,
      "cleanedEndLine" : 57
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-xml/src/commonTest/kotlin/ai/koog/prompt/xml/XmlTest.kt",
        "extension" : "kt",
        "linesOfCode" : 283,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 216,
      "startLine" : 90,
      "endLine" : 98,
      "cleanedStartLine" : 59,
      "cleanedEndLine" : 64
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-ollama-client/src/commonTest/kotlin/ai/koog/prompt/executor/ollama/client/OllamaToolCallTest.kt",
        "extension" : "kt",
        "linesOfCode" : 210,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 189,
      "startLine" : 94,
      "endLine" : 99,
      "cleanedStartLine" : 62,
      "cleanedEndLine" : 67
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-ollama-client/src/commonTest/kotlin/ai/koog/prompt/executor/ollama/client/OllamaToolCallTest.kt",
        "extension" : "kt",
        "linesOfCode" : 210,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 189,
      "startLine" : 188,
      "endLine" : 193,
      "cleanedStartLine" : 139,
      "cleanedEndLine" : 144
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/feature/AIAgentPipelineTest.kt",
        "extension" : "kt",
        "linesOfCode" : 736,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 595,
      "startLine" : 247,
      "endLine" : 255,
      "cleanedStartLine" : 138,
      "cleanedEndLine" : 143
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/feature/AIAgentPipelineTest.kt",
        "extension" : "kt",
        "linesOfCode" : 736,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 595,
      "startLine" : 813,
      "endLine" : 821,
      "cleanedStartLine" : 537,
      "cleanedEndLine" : 542
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/feature/remote/client/FeatureMessageRemoteClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 388,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 293,
      "startLine" : 92,
      "endLine" : 99,
      "cleanedStartLine" : 35,
      "cleanedEndLine" : 40
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/feature/writer/FeatureMessageRemoteWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 204,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 144,
      "startLine" : 101,
      "endLine" : 108,
      "cleanedStartLine" : 45,
      "cleanedEndLine" : 50
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/feature/message/FeatureMessageProcessorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 313,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 270,
      "startLine" : 263,
      "endLine" : 272,
      "cleanedStartLine" : 166,
      "cleanedEndLine" : 171
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/feature/message/FeatureMessageProcessorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 313,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 270,
      "startLine" : 342,
      "endLine" : 351,
      "cleanedStartLine" : 229,
      "cleanedEndLine" : 234
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-server/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 50,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 45,
      "endLine" : 59,
      "cleanedStartLine" : 33,
      "cleanedEndLine" : 38
    }, {
      "file" : {
        "relativePath" : "a2a/a2a-transport/a2a-transport-client-jsonrpc-http/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 44,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 38,
      "endLine" : 52,
      "cleanedStartLine" : 27,
      "cleanedEndLine" : 32
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerTestAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 281,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 212,
      "startLine" : 216,
      "endLine" : 221,
      "cleanedStartLine" : 134,
      "cleanedEndLine" : 139
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageRemoteWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 816,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 671,
      "startLine" : 398,
      "endLine" : 403,
      "cleanedStartLine" : 239,
      "cleanedEndLine" : 244
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/context/AIAgentFunctionalContextAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 135,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 110,
      "startLine" : 301,
      "endLine" : 306,
      "cleanedStartLine" : 80,
      "cleanedEndLine" : 85
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/context/AIAgentFunctionalContextAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 135,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 110,
      "startLine" : 329,
      "endLine" : 334,
      "cleanedStartLine" : 92,
      "cleanedEndLine" : 97
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 156,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 141,
      "startLine" : 161,
      "endLine" : 166,
      "cleanedStartLine" : 109,
      "cleanedEndLine" : 114
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/wasmJsMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 143,
      "endLine" : 148,
      "cleanedStartLine" : 122,
      "cleanedEndLine" : 127
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/SubgraphWithTaskTest.kt",
        "extension" : "kt",
        "linesOfCode" : 603,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 509,
      "startLine" : 411,
      "endLine" : 420,
      "cleanedStartLine" : 261,
      "cleanedEndLine" : 266
    }, {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/SubgraphWithTaskTest.kt",
        "extension" : "kt",
        "linesOfCode" : 603,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 509,
      "startLine" : 548,
      "endLine" : 557,
      "cleanedStartLine" : 357,
      "cleanedEndLine" : 362
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-tools/src/commonTest/kotlin/ai/koog/agents/core/tools/serialization/ToolParameterTypesTest.kt",
        "extension" : "kt",
        "linesOfCode" : 560,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 449,
      "startLine" : 315,
      "endLine" : 320,
      "cleanedStartLine" : 209,
      "cleanedEndLine" : 214
    }, {
      "file" : {
        "relativePath" : "agents/agents-tools/src/commonTest/kotlin/ai/koog/agents/core/tools/serialization/ToolParameterTypesTest.kt",
        "extension" : "kt",
        "linesOfCode" : 560,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 449,
      "startLine" : 344,
      "endLine" : 349,
      "cleanedStartLine" : 232,
      "cleanedEndLine" : 237
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/commonMain/kotlin/ai/koog/agents/snapshot/feature/Persistence.kt",
        "extension" : "kt",
        "linesOfCode" : 259,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 196,
      "startLine" : 181,
      "endLine" : 188,
      "cleanedStartLine" : 74,
      "cleanedEndLine" : 79
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/commonMain/kotlin/ai/koog/agents/snapshot/feature/Persistence.kt",
        "extension" : "kt",
        "linesOfCode" : 259,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 196,
      "startLine" : 225,
      "endLine" : 232,
      "cleanedStartLine" : 98,
      "cleanedEndLine" : 103
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/appleMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 117,
      "endLine" : 122,
      "cleanedStartLine" : 97,
      "cleanedEndLine" : 102
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmMain/kotlin/ai/koog/agents/core/agent/AIAgentService.kt",
        "extension" : "kt",
        "linesOfCode" : 176,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 153,
      "startLine" : 269,
      "endLine" : 274,
      "cleanedStartLine" : 139,
      "cleanedEndLine" : 144
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentGraphPipelineAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 94,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 81,
      "startLine" : 69,
      "endLine" : 74,
      "cleanedStartLine" : 40,
      "cleanedEndLine" : 45
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentGraphPipelineImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 181,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 142,
      "startLine" : 138,
      "endLine" : 143,
      "cleanedStartLine" : 84,
      "cleanedEndLine" : 89
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/SubgraphCheckpointsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 183,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 146,
      "startLine" : 23,
      "endLine" : 28,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 7
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/ai/koog/agents/snapshot/providers/file/FileCheckpointsTests.kt",
        "extension" : "kt",
        "linesOfCode" : 236,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 188,
      "startLine" : 38,
      "endLine" : 43,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-processor/src/commonMain/kotlin/ai/koog/prompt/processor/ResponseProcessor.kt",
        "extension" : "kt",
        "linesOfCode" : 45,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 36,
      "startLine" : 49,
      "endLine" : 54,
      "cleanedStartLine" : 25,
      "cleanedEndLine" : 30
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-processor/src/commonTest/kotlin/ai/koog/prompt/processor/LLMBasedToolJsonFixTest.kt",
        "extension" : "kt",
        "linesOfCode" : 149,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 120,
      "startLine" : 160,
      "endLine" : 165,
      "cleanedStartLine" : 107,
      "cleanedEndLine" : 112
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryNodeExecuteSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 307,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 276,
      "startLine" : 144,
      "endLine" : 149,
      "cleanedStartLine" : 107,
      "cleanedEndLine" : 112
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetrySubgraphTest.kt",
        "extension" : "kt",
        "linesOfCode" : 334,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 313,
      "startLine" : 365,
      "endLine" : 370,
      "cleanedStartLine" : 307,
      "cleanedEndLine" : 312
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipeline.kt",
        "extension" : "kt",
        "linesOfCode" : 448,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 394,
      "startLine" : 259,
      "endLine" : 264,
      "cleanedStartLine" : 70,
      "cleanedEndLine" : 75
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipeline.kt",
        "extension" : "kt",
        "linesOfCode" : 448,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 394,
      "startLine" : 281,
      "endLine" : 286,
      "cleanedStartLine" : 79,
      "cleanedEndLine" : 84
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageFileWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 509,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 418,
      "startLine" : 530,
      "endLine" : 535,
      "cleanedStartLine" : 370,
      "cleanedEndLine" : 375
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageLogWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 480,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 396,
      "startLine" : 500,
      "endLine" : 505,
      "cleanedStartLine" : 348,
      "cleanedEndLine" : 353
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageRemoteWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 816,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 671,
      "startLine" : 398,
      "endLine" : 403,
      "cleanedStartLine" : 239,
      "cleanedEndLine" : 244
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageRemoteWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 816,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 671,
      "startLine" : 415,
      "endLine" : 420,
      "cleanedStartLine" : 256,
      "cleanedEndLine" : 261
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-memory/src/jvmTest/kotlin/ai/koog/agents/memory/AIAgentMemoryTest.kt",
        "extension" : "kt",
        "linesOfCode" : 470,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 399,
      "startLine" : 289,
      "endLine" : 297,
      "cleanedStartLine" : 178,
      "cleanedEndLine" : 183
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-memory/src/jvmTest/kotlin/ai/koog/agents/memory/AIAgentMemoryTest.kt",
        "extension" : "kt",
        "linesOfCode" : 470,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 399,
      "startLine" : 458,
      "endLine" : 465,
      "cleanedStartLine" : 305,
      "cleanedEndLine" : 310
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentGraphPipelineAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 94,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 81,
      "startLine" : 28,
      "endLine" : 33,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 10
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentGraphPipelineImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 181,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 142,
      "startLine" : 53,
      "endLine" : 58,
      "cleanedStartLine" : 14,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openrouter-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/openrouter/models/OpenRouterSerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 670,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 554,
      "startLine" : 274,
      "endLine" : 280,
      "cleanedStartLine" : 172,
      "cleanedEndLine" : 177
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openrouter-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/openrouter/models/OpenRouterSerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 670,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 554,
      "startLine" : 391,
      "endLine" : 397,
      "cleanedStartLine" : 259,
      "cleanedEndLine" : 264
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/session/AIAgentLLMReadSession.kt",
        "extension" : "kt",
        "linesOfCode" : 78,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 60,
      "startLine" : 95,
      "endLine" : 102,
      "cleanedStartLine" : 55,
      "cleanedEndLine" : 60
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/session/AIAgentLLMWriteSession.kt",
        "extension" : "kt",
        "linesOfCode" : 188,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 155,
      "startLine" : 184,
      "endLine" : 191,
      "cleanedStartLine" : 87,
      "cleanedEndLine" : 92
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/ext/agent/AIAgentSubgraphExt.kt",
        "extension" : "kt",
        "linesOfCode" : 376,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 310,
      "startLine" : 202,
      "endLine" : 207,
      "cleanedStartLine" : 65,
      "cleanedEndLine" : 70
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/ext/agent/AIAgentSubgraphExt.kt",
        "extension" : "kt",
        "linesOfCode" : 376,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 310,
      "startLine" : 389,
      "endLine" : 394,
      "cleanedStartLine" : 167,
      "cleanedEndLine" : 172
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/appleMain/kotlin/ai/koog/agents/core/agent/context/AIAgentLLMContext.kt",
        "extension" : "kt",
        "linesOfCode" : 32,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 23,
      "endLine" : 28,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 15
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/context/AIAgentLLMContextImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 105,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 85,
      "startLine" : 98,
      "endLine" : 103,
      "cleanedStartLine" : 67,
      "cleanedEndLine" : 72
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/ext/agent/AIAgentSubgraphExt.kt",
        "extension" : "kt",
        "linesOfCode" : 376,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 310,
      "startLine" : 202,
      "endLine" : 207,
      "cleanedStartLine" : 65,
      "cleanedEndLine" : 70
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/ext/agent/AIAgentSubgraphExt.kt",
        "extension" : "kt",
        "linesOfCode" : 376,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 310,
      "startLine" : 330,
      "endLine" : 335,
      "cleanedStartLine" : 136,
      "cleanedEndLine" : 141
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-core/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 40,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 3,
      "endLine" : 11,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-tokenizer/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 44,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 3,
      "endLine" : 11,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/feature/message/FeatureMessageProcessorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 313,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 270,
      "startLine" : 218,
      "endLine" : 227,
      "cleanedStartLine" : 130,
      "cleanedEndLine" : 135
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/feature/message/FeatureMessageProcessorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 313,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 270,
      "startLine" : 342,
      "endLine" : 351,
      "cleanedStartLine" : 229,
      "cleanedEndLine" : 234
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/model/events/toolExecutionEvents.kt",
        "extension" : "kt",
        "linesOfCode" : 176,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 165,
      "startLine" : 161,
      "endLine" : 166,
      "cleanedStartLine" : 87,
      "cleanedEndLine" : 92
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/model/events/toolExecutionEvents.kt",
        "extension" : "kt",
        "linesOfCode" : 176,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 165,
      "startLine" : 221,
      "endLine" : 226,
      "cleanedStartLine" : 124,
      "cleanedEndLine" : 129
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/androidMain/kotlin/ai/koog/agents/core/agent/AIAgentService.kt",
        "extension" : "kt",
        "linesOfCode" : 89,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 79,
      "startLine" : 83,
      "endLine" : 88,
      "cleanedStartLine" : 65,
      "cleanedEndLine" : 70
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 156,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 141,
      "startLine" : 187,
      "endLine" : 192,
      "cleanedStartLine" : 134,
      "cleanedEndLine" : 139
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 328,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 286,
      "startLine" : 140,
      "endLine" : 145,
      "cleanedStartLine" : 74,
      "cleanedEndLine" : 79
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 846,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 674,
      "startLine" : 430,
      "endLine" : 435,
      "cleanedStartLine" : 264,
      "cleanedEndLine" : 269
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/feature/AIAgentPipelineTest.kt",
        "extension" : "kt",
        "linesOfCode" : 736,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 595,
      "startLine" : 255,
      "endLine" : 262,
      "cleanedStartLine" : 143,
      "cleanedEndLine" : 148
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/feature/AIAgentPipelineTest.kt",
        "extension" : "kt",
        "linesOfCode" : 736,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 595,
      "startLine" : 315,
      "endLine" : 322,
      "cleanedStartLine" : 185,
      "cleanedEndLine" : 190
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryInferenceSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 556,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 517,
      "startLine" : 42,
      "endLine" : 50,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 15
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryInferenceSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 556,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 517,
      "startLine" : 556,
      "endLine" : 564,
      "cleanedStartLine" : 462,
      "cleanedEndLine" : 467
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipeline.kt",
        "extension" : "kt",
        "linesOfCode" : 448,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 394,
      "startLine" : 259,
      "endLine" : 264,
      "cleanedStartLine" : 70,
      "cleanedEndLine" : 75
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 328,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 286,
      "startLine" : 140,
      "endLine" : 145,
      "cleanedStartLine" : 74,
      "cleanedEndLine" : 79
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/androidMain/kotlin/ai/koog/agents/core/agent/AIAgentService.kt",
        "extension" : "kt",
        "linesOfCode" : 89,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 79,
      "startLine" : 83,
      "endLine" : 88,
      "cleanedStartLine" : 65,
      "cleanedEndLine" : 70
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 156,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 141,
      "startLine" : 161,
      "endLine" : 166,
      "cleanedStartLine" : 109,
      "cleanedEndLine" : 114
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerTestAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 281,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 212,
      "startLine" : 170,
      "endLine" : 175,
      "cleanedStartLine" : 88,
      "cleanedEndLine" : 93
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageRemoteWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 816,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 671,
      "startLine" : 415,
      "endLine" : 420,
      "cleanedStartLine" : 256,
      "cleanedEndLine" : 261
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageFileWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 509,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 418,
      "startLine" : 255,
      "endLine" : 260,
      "cleanedStartLine" : 164,
      "cleanedEndLine" : 169
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageRemoteWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 816,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 671,
      "startLine" : 336,
      "endLine" : 341,
      "cleanedStartLine" : 179,
      "cleanedEndLine" : 184
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/dashscope/DashscopeLLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 111,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 79,
      "startLine" : 111,
      "endLine" : 116,
      "cleanedStartLine" : 57,
      "cleanedEndLine" : 62
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-deepseek-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/deepseek/DeepSeekLLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 131,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 91,
      "startLine" : 119,
      "endLine" : 124,
      "cleanedStartLine" : 56,
      "cleanedEndLine" : 61
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/openai/models/OpenAIResponsesAPIRequestSerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 233,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 194,
      "startLine" : 31,
      "endLine" : 38,
      "cleanedStartLine" : 14,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/openai/models/OpenAIResponsesAPIRequestSerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 233,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 194,
      "startLine" : 61,
      "endLine" : 68,
      "cleanedStartLine" : 38,
      "cleanedEndLine" : 43
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/ContextualPromptExecutor.kt",
        "extension" : "kt",
        "linesOfCode" : 161,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 129,
      "startLine" : 133,
      "endLine" : 142,
      "cleanedStartLine" : 80,
      "cleanedEndLine" : 85
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client-base/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/base/AbstractOpenAILLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 412,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 304,
      "startLine" : 215,
      "endLine" : 224,
      "cleanedStartLine" : 94,
      "cleanedEndLine" : 99
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client-base/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 40,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 28,
      "startLine" : 30,
      "endLine" : 38,
      "cleanedStartLine" : 20,
      "cleanedEndLine" : 25
    }, {
      "file" : {
        "relativePath" : "rag/rag-base/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 32,
        "components" : [ "primary::rag" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 21,
      "endLine" : 29,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 18
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/feature/AIAgentPipelineTest.kt",
        "extension" : "kt",
        "linesOfCode" : 736,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 595,
      "startLine" : 191,
      "endLine" : 197,
      "cleanedStartLine" : 99,
      "cleanedEndLine" : 104
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/feature/AIAgentPipelineTest.kt",
        "extension" : "kt",
        "linesOfCode" : 736,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 595,
      "startLine" : 576,
      "endLine" : 582,
      "cleanedStartLine" : 370,
      "cleanedEndLine" : 375
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 328,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 286,
      "startLine" : 79,
      "endLine" : 84,
      "cleanedStartLine" : 24,
      "cleanedEndLine" : 29
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 846,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 674,
      "startLine" : 207,
      "endLine" : 212,
      "cleanedStartLine" : 82,
      "cleanedEndLine" : 87
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-deepseek-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/deepseek/DeepSeekLLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 131,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 91,
      "startLine" : 119,
      "endLine" : 124,
      "cleanedStartLine" : 56,
      "cleanedEndLine" : 61
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openrouter-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openrouter/OpenRouterLLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 100,
      "startLine" : 140,
      "endLine" : 145,
      "cleanedStartLine" : 72,
      "cleanedEndLine" : 77
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/feature/remote/client/FeatureMessageRemoteClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 388,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 293,
      "startLine" : 398,
      "endLine" : 406,
      "cleanedStartLine" : 225,
      "cleanedEndLine" : 230
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/feature/writer/FeatureMessageRemoteWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 204,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 144,
      "startLine" : 166,
      "endLine" : 174,
      "cleanedStartLine" : 84,
      "cleanedEndLine" : 89
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-llms-all/src/jvmTest/kotlin/ai/koog/prompt/executor/llms/all/MultipleLLMPromptExecutorMockTest.kt",
        "extension" : "kt",
        "linesOfCode" : 173,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 47,
      "endLine" : 52,
      "cleanedStartLine" : 14,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-llms/src/commonTest/kotlin/ai/koog/prompt/executor/llms/MockOpenAILLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 49,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 30,
      "startLine" : 43,
      "endLine" : 48,
      "cleanedStartLine" : 22,
      "cleanedEndLine" : 27
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/appleMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 117,
      "endLine" : 122,
      "cleanedStartLine" : 97,
      "cleanedEndLine" : 102
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/appleMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 143,
      "endLine" : 148,
      "cleanedStartLine" : 122,
      "cleanedEndLine" : 127
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-processor/src/commonMain/kotlin/ai/koog/prompt/processor/LLMBasedToolCallFixProcessor.kt",
        "extension" : "kt",
        "linesOfCode" : 93,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 72,
      "startLine" : 108,
      "endLine" : 113,
      "cleanedStartLine" : 19,
      "cleanedEndLine" : 24
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-processor/src/commonTest/kotlin/ai/koog/prompt/processor/LLMBasedToolJsonFixTest.kt",
        "extension" : "kt",
        "linesOfCode" : 149,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 120,
      "startLine" : 160,
      "endLine" : 165,
      "cleanedStartLine" : 107,
      "cleanedEndLine" : 112
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/src/jvmTest/kotlin/dashscope/DashscopeLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 255,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 196,
      "startLine" : 225,
      "endLine" : 232,
      "cleanedStartLine" : 150,
      "cleanedEndLine" : 155
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-deepseek-client/src/jvmTest/kotlin/deepseek/DeepSeekLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 247,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 191,
      "startLine" : 217,
      "endLine" : 224,
      "cleanedStartLine" : 145,
      "cleanedEndLine" : 150
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/modelfamilies/ai21/BedrockAI21JambaSerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 224,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 176,
      "startLine" : 166,
      "endLine" : 171,
      "cleanedStartLine" : 97,
      "cleanedEndLine" : 102
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/modelfamilies/amazon/BedrockAmazonNovaSerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 311,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 238,
      "startLine" : 117,
      "endLine" : 122,
      "cleanedStartLine" : 62,
      "cleanedEndLine" : 67
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/feature/AIAgentPipelineTest.kt",
        "extension" : "kt",
        "linesOfCode" : 736,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 595,
      "startLine" : 191,
      "endLine" : 197,
      "cleanedStartLine" : 99,
      "cleanedEndLine" : 104
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/feature/AIAgentPipelineTest.kt",
        "extension" : "kt",
        "linesOfCode" : 736,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 595,
      "startLine" : 528,
      "endLine" : 534,
      "cleanedStartLine" : 336,
      "cleanedEndLine" : 341
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerTest.kt",
        "extension" : "kt",
        "linesOfCode" : 521,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 437,
      "startLine" : 543,
      "endLine" : 554,
      "cleanedStartLine" : 427,
      "cleanedEndLine" : 432
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageRemoteWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 816,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 671,
      "startLine" : 607,
      "endLine" : 621,
      "cleanedStartLine" : 447,
      "cleanedEndLine" : 452
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/dsl/extension/ParallelNodesTest.kt",
        "extension" : "kt",
        "linesOfCode" : 380,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 299,
      "startLine" : 312,
      "endLine" : 321,
      "cleanedStartLine" : 201,
      "cleanedEndLine" : 206
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/dsl/extension/ParallelNodesTest.kt",
        "extension" : "kt",
        "linesOfCode" : 380,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 299,
      "startLine" : 439,
      "endLine" : 448,
      "cleanedStartLine" : 289,
      "cleanedEndLine" : 294
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-processor/src/commonMain/kotlin/ai/koog/prompt/processor/LLMBasedToolCallFixProcessor.kt",
        "extension" : "kt",
        "linesOfCode" : 93,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 72,
      "startLine" : 108,
      "endLine" : 113,
      "cleanedStartLine" : 19,
      "cleanedEndLine" : 24
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-processor/src/commonMain/kotlin/ai/koog/prompt/processor/ResponseProcessor.kt",
        "extension" : "kt",
        "linesOfCode" : 45,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 36,
      "startLine" : 49,
      "endLine" : 54,
      "cleanedStartLine" : 25,
      "cleanedEndLine" : 30
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jsMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipeline.kt",
        "extension" : "kt",
        "linesOfCode" : 8,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 6,
      "startLine" : 1,
      "endLine" : 11,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/wasmJsMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipeline.kt",
        "extension" : "kt",
        "linesOfCode" : 8,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 6,
      "startLine" : 1,
      "endLine" : 11,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-core/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 40,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 3,
      "endLine" : 11,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-sql/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 57,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 45,
      "startLine" : 3,
      "endLine" : 11,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 403,
      "endLine" : 419,
      "cleanedStartLine" : 213,
      "cleanedEndLine" : 218
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 587,
      "endLine" : 604,
      "cleanedStartLine" : 325,
      "cleanedEndLine" : 330
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-core/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 40,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 3,
      "endLine" : 11,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    }, {
      "file" : {
        "relativePath" : "a2a/a2a-server/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 50,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 3,
      "endLine" : 11,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryNodeExecuteSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 307,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 276,
      "startLine" : 278,
      "endLine" : 284,
      "cleanedStartLine" : 222,
      "cleanedEndLine" : 227
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryNodeExecuteSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 307,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 276,
      "startLine" : 340,
      "endLine" : 346,
      "cleanedStartLine" : 271,
      "cleanedEndLine" : 276
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/feature/message/FeatureMessageProcessorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 313,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 270,
      "startLine" : 218,
      "endLine" : 227,
      "cleanedStartLine" : 130,
      "cleanedEndLine" : 135
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/feature/message/FeatureMessageProcessorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 313,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 270,
      "startLine" : 263,
      "endLine" : 272,
      "cleanedStartLine" : 166,
      "cleanedEndLine" : 171
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/model/events/llmCallEvents.kt",
        "extension" : "kt",
        "linesOfCode" : 93,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 84,
      "startLine" : 46,
      "endLine" : 51,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 20
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/model/events/llmStreamingEvents.kt",
        "extension" : "kt",
        "linesOfCode" : 136,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 125,
      "startLine" : 193,
      "endLine" : 198,
      "cleanedStartLine" : 107,
      "cleanedEndLine" : 112
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/feature/AIAgentFeatureTestAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 395,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 341,
      "startLine" : 53,
      "endLine" : 58,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 10
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerTestAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 281,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 212,
      "startLine" : 68,
      "endLine" : 73,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 15
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 328,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 286,
      "startLine" : 140,
      "endLine" : 145,
      "cleanedStartLine" : 74,
      "cleanedEndLine" : 79
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 846,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 674,
      "startLine" : 281,
      "endLine" : 286,
      "cleanedStartLine" : 135,
      "cleanedEndLine" : 140
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-ollama-client/src/commonTest/kotlin/ai/koog/prompt/executor/ollama/client/ContextWindowStrategyTest.kt",
        "extension" : "kt",
        "linesOfCode" : 196,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 162,
      "startLine" : 91,
      "endLine" : 98,
      "cleanedStartLine" : 51,
      "cleanedEndLine" : 56
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-ollama-client/src/commonTest/kotlin/ai/koog/prompt/executor/ollama/client/ContextWindowStrategyTest.kt",
        "extension" : "kt",
        "linesOfCode" : 196,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 162,
      "startLine" : 153,
      "endLine" : 160,
      "cleanedStartLine" : 101,
      "cleanedEndLine" : 106
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryInferenceSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 556,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 517,
      "startLine" : 42,
      "endLine" : 50,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 15
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryInferenceSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 556,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 517,
      "startLine" : 416,
      "endLine" : 424,
      "cleanedStartLine" : 340,
      "cleanedEndLine" : 345
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentGraphPipeline.kt",
        "extension" : "kt",
        "linesOfCode" : 107,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 90,
      "startLine" : 131,
      "endLine" : 136,
      "cleanedStartLine" : 41,
      "cleanedEndLine" : 46
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentGraphPipelineImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 181,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 142,
      "startLine" : 98,
      "endLine" : 103,
      "cleanedStartLine" : 49,
      "cleanedEndLine" : 54
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-event-handler/src/appleMain/kotlin/ai/koog/agents/features/eventHandler/feature/EventHandlerConfig.kt",
        "extension" : "kt",
        "linesOfCode" : 7,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 6,
      "startLine" : 1,
      "endLine" : 10,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-event-handler/src/wasmJsMain/kotlin/ai/koog/agents/features/eventHandler/feature/EventHandlerConfig.kt",
        "extension" : "kt",
        "linesOfCode" : 7,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 6,
      "startLine" : 1,
      "endLine" : 10,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/feature/AIAgentPipelineTest.kt",
        "extension" : "kt",
        "linesOfCode" : 736,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 595,
      "startLine" : 247,
      "endLine" : 255,
      "cleanedStartLine" : 138,
      "cleanedEndLine" : 143
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/feature/AIAgentPipelineTest.kt",
        "extension" : "kt",
        "linesOfCode" : 736,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 595,
      "startLine" : 481,
      "endLine" : 489,
      "cleanedStartLine" : 303,
      "cleanedEndLine" : 308
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/appleMain/kotlin/ai/koog/agents/core/agent/AIAgentService.kt",
        "extension" : "kt",
        "linesOfCode" : 89,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 79,
      "startLine" : 83,
      "endLine" : 88,
      "cleanedStartLine" : 65,
      "cleanedEndLine" : 70
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 156,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 141,
      "startLine" : 132,
      "endLine" : 137,
      "cleanedStartLine" : 81,
      "cleanedEndLine" : 86
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicToolSerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 156,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 135,
      "startLine" : 85,
      "endLine" : 90,
      "cleanedStartLine" : 55,
      "cleanedEndLine" : 60
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/modelfamilies/BedrockToolSerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 230,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 205,
      "startLine" : 207,
      "endLine" : 212,
      "cleanedStartLine" : 166,
      "cleanedEndLine" : 171
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "koog-ktor/src/jvmMain/kotlin/ai/koog/ktor/KoogKtorServerPluginJvm.kt",
        "extension" : "kt",
        "linesOfCode" : 58,
        "components" : [ "primary::koog-ktor" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 40,
      "startLine" : 41,
      "endLine" : 46,
      "cleanedStartLine" : 6,
      "cleanedEndLine" : 11
    }, {
      "file" : {
        "relativePath" : "koog-ktor/src/jvmMain/kotlin/ai/koog/ktor/KoogKtorServerPluginJvm.kt",
        "extension" : "kt",
        "linesOfCode" : 58,
        "components" : [ "primary::koog-ktor" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 40,
      "startLine" : 70,
      "endLine" : 75,
      "cleanedStartLine" : 20,
      "cleanedEndLine" : 25
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 549,
      "endLine" : 554,
      "cleanedStartLine" : 299,
      "cleanedEndLine" : 304
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 643,
      "endLine" : 648,
      "cleanedStartLine" : 356,
      "cleanedEndLine" : 361
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-tools/src/commonTest/kotlin/ai/koog/agents/core/tools/serialization/ToolParameterTypesTest.kt",
        "extension" : "kt",
        "linesOfCode" : 560,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 449,
      "startLine" : 98,
      "endLine" : 109,
      "cleanedStartLine" : 58,
      "cleanedEndLine" : 63
    }, {
      "file" : {
        "relativePath" : "agents/agents-tools/src/commonTest/kotlin/ai/koog/agents/core/tools/serialization/ToolParameterTypesTest.kt",
        "extension" : "kt",
        "linesOfCode" : 560,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 449,
      "startLine" : 134,
      "endLine" : 145,
      "cleanedStartLine" : 81,
      "cleanedEndLine" : 86
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageFileWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 509,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 418,
      "startLine" : 203,
      "endLine" : 208,
      "cleanedStartLine" : 112,
      "cleanedEndLine" : 117
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageLogWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 480,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 396,
      "startLine" : 181,
      "endLine" : 186,
      "cleanedStartLine" : 99,
      "cleanedEndLine" : 104
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageTestWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 623,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 501,
      "startLine" : 579,
      "endLine" : 585,
      "cleanedStartLine" : 390,
      "cleanedEndLine" : 395
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageTestWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 623,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 501,
      "startLine" : 660,
      "endLine" : 666,
      "cleanedStartLine" : 452,
      "cleanedEndLine" : 457
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/feature/message/FeatureMessageProcessorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 313,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 270,
      "startLine" : 218,
      "endLine" : 227,
      "cleanedStartLine" : 130,
      "cleanedEndLine" : 135
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/feature/message/FeatureMessageProcessorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 313,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 270,
      "startLine" : 301,
      "endLine" : 310,
      "cleanedStartLine" : 196,
      "cleanedEndLine" : 201
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-tools/src/jvmTest/kotlin/ai/koog/agents/core/tools/reflect/ReflectionArgsSerializerTest.kt",
        "extension" : "kt",
        "linesOfCode" : 188,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 148,
      "startLine" : 152,
      "endLine" : 157,
      "cleanedStartLine" : 103,
      "cleanedEndLine" : 108
    }, {
      "file" : {
        "relativePath" : "agents/agents-tools/src/jvmTest/kotlin/ai/koog/agents/core/tools/reflect/ReflectionArgsSerializerTest.kt",
        "extension" : "kt",
        "linesOfCode" : 188,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 148,
      "startLine" : 184,
      "endLine" : 189,
      "cleanedStartLine" : 128,
      "cleanedEndLine" : 133
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-core/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 40,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 3,
      "endLine" : 11,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-a2a-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 32,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 3,
      "endLine" : 11,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/commonTest/kotlin/ai/koog/prompt/executor/clients/google/structure/GoogleSimpleJsonSchemaGeneratorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 147,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 130,
      "startLine" : 12,
      "endLine" : 17,
      "cleanedStartLine" : 3,
      "cleanedEndLine" : 8
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client-base/src/commonTest/kotlin/ai/koog/prompt/executor/clients/openai/structure/OpenAIStandardJsonSchemaGeneratorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 375,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 342,
      "startLine" : 14,
      "endLine" : 19,
      "cleanedStartLine" : 3,
      "cleanedEndLine" : 8
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/dashscope/models/DashscopeSerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 453,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 372,
      "startLine" : 111,
      "endLine" : 119,
      "cleanedStartLine" : 73,
      "cleanedEndLine" : 78
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/dashscope/models/DashscopeSerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 453,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 372,
      "startLine" : 443,
      "endLine" : 451,
      "cleanedStartLine" : 312,
      "cleanedEndLine" : 317
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/feature/remote/client/FeatureMessageRemoteClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 388,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 293,
      "startLine" : 280,
      "endLine" : 288,
      "cleanedStartLine" : 157,
      "cleanedEndLine" : 162
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/feature/remote/client/FeatureMessageRemoteClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 388,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 293,
      "startLine" : 467,
      "endLine" : 475,
      "cleanedStartLine" : 264,
      "cleanedEndLine" : 269
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerTest.kt",
        "extension" : "kt",
        "linesOfCode" : 521,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 437,
      "startLine" : 353,
      "endLine" : 358,
      "cleanedStartLine" : 237,
      "cleanedEndLine" : 242
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageRemoteWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 816,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 671,
      "startLine" : 425,
      "endLine" : 430,
      "cleanedStartLine" : 266,
      "cleanedEndLine" : 271
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/feature/AIAgentPipelineTest.kt",
        "extension" : "kt",
        "linesOfCode" : 736,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 595,
      "startLine" : 191,
      "endLine" : 197,
      "cleanedStartLine" : 99,
      "cleanedEndLine" : 104
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/feature/AIAgentPipelineTest.kt",
        "extension" : "kt",
        "linesOfCode" : 736,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 595,
      "startLine" : 419,
      "endLine" : 425,
      "cleanedStartLine" : 259,
      "cleanedEndLine" : 264
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-core/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 40,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 3,
      "endLine" : 11,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client-base/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 40,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 28,
      "startLine" : 3,
      "endLine" : 10,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-mcp/src/commonTest/kotlin/ai/koog/agents/mcp/DefaultMcpToolDescriptorParserTest.kt",
        "extension" : "kt",
        "linesOfCode" : 726,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 614,
      "startLine" : 284,
      "endLine" : 289,
      "cleanedStartLine" : 199,
      "cleanedEndLine" : 204
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/google/GoogleLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 480,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 432,
      "startLine" : 129,
      "endLine" : 134,
      "cleanedStartLine" : 86,
      "cleanedEndLine" : 91
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentGraphPipeline.kt",
        "extension" : "kt",
        "linesOfCode" : 107,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 90,
      "startLine" : 85,
      "endLine" : 90,
      "cleanedStartLine" : 22,
      "cleanedEndLine" : 27
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentGraphPipelineImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 181,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 142,
      "startLine" : 80,
      "endLine" : 85,
      "cleanedStartLine" : 37,
      "cleanedEndLine" : 42
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/models/OpenAIResponsesAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 1134,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1035,
      "startLine" : 1725,
      "endLine" : 1737,
      "cleanedStartLine" : 665,
      "cleanedEndLine" : 670
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/models/OpenAIResponsesAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 1134,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1035,
      "startLine" : 2009,
      "endLine" : 2021,
      "cleanedStartLine" : 807,
      "cleanedEndLine" : 812
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/androidMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 143,
      "endLine" : 148,
      "cleanedStartLine" : 122,
      "cleanedEndLine" : 127
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmMain/kotlin/ai/koog/agents/core/agent/AIAgentService.kt",
        "extension" : "kt",
        "linesOfCode" : 176,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 153,
      "startLine" : 269,
      "endLine" : 274,
      "cleanedStartLine" : 139,
      "cleanedEndLine" : 144
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/androidMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 143,
      "endLine" : 148,
      "cleanedStartLine" : 122,
      "cleanedEndLine" : 127
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jsMain/kotlin/ai/koog/agents/core/agent/AIAgentService.kt",
        "extension" : "kt",
        "linesOfCode" : 89,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 79,
      "startLine" : 83,
      "endLine" : 88,
      "cleanedStartLine" : 65,
      "cleanedEndLine" : 70
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/context/AIAgentFunctionalContext.kt",
        "extension" : "kt",
        "linesOfCode" : 179,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 153,
      "startLine" : 231,
      "endLine" : 236,
      "cleanedStartLine" : 125,
      "cleanedEndLine" : 130
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/context/AIAgentFunctionalContextImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 483,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 365,
      "startLine" : 328,
      "endLine" : 333,
      "cleanedStartLine" : 199,
      "cleanedEndLine" : 204
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-deepseek-client/src/jvmTest/kotlin/deepseek/DeepSeekLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 247,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 191,
      "startLine" : 127,
      "endLine" : 133,
      "cleanedStartLine" : 74,
      "cleanedEndLine" : 79
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/mistralai/MistralAILLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 295,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 232,
      "startLine" : 152,
      "endLine" : 158,
      "cleanedStartLine" : 95,
      "cleanedEndLine" : 100
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-memory/src/jvmTest/kotlin/ai/koog/agents/memory/providers/LocalFileMemoryProviderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 161,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 133,
      "startLine" : 49,
      "endLine" : 54,
      "cleanedStartLine" : 21,
      "cleanedEndLine" : 26
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-memory/src/jvmTest/kotlin/ai/koog/agents/memory/providers/LocalFileMemoryProviderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 161,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 133,
      "startLine" : 156,
      "endLine" : 161,
      "cleanedStartLine" : 102,
      "cleanedEndLine" : 107
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerTest.kt",
        "extension" : "kt",
        "linesOfCode" : 521,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 437,
      "startLine" : 498,
      "endLine" : 503,
      "cleanedStartLine" : 382,
      "cleanedEndLine" : 387
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerTest.kt",
        "extension" : "kt",
        "linesOfCode" : 521,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 437,
      "startLine" : 515,
      "endLine" : 520,
      "cleanedStartLine" : 399,
      "cleanedEndLine" : 404
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/agent/context/AgentTestBase.kt",
        "extension" : "kt",
        "linesOfCode" : 108,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 76,
      "startLine" : 58,
      "endLine" : 63,
      "cleanedStartLine" : 25,
      "cleanedEndLine" : 30
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/agent/context/AIAgentLLMContextConcurrencyTest.kt",
        "extension" : "kt",
        "linesOfCode" : 184,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 126,
      "startLine" : 182,
      "endLine" : 187,
      "cleanedStartLine" : 101,
      "cleanedEndLine" : 106
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryAgentSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 148,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 126,
      "startLine" : 25,
      "endLine" : 33,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 10
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryAgentSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 148,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 126,
      "startLine" : 109,
      "endLine" : 117,
      "cleanedStartLine" : 71,
      "cleanedEndLine" : 76
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-tools/src/jvmTest/kotlin/ai/koog/agents/core/tools/JavaAPIToolRegistryTest.kt",
        "extension" : "kt",
        "linesOfCode" : 186,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 156,
      "startLine" : 42,
      "endLine" : 47,
      "cleanedStartLine" : 18,
      "cleanedEndLine" : 23
    }, {
      "file" : {
        "relativePath" : "agents/agents-tools/src/jvmTest/kotlin/ai/koog/agents/core/tools/reflect/ToolSetAsToolsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 71,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 54,
      "startLine" : 69,
      "endLine" : 74,
      "cleanedStartLine" : 43,
      "cleanedEndLine" : 48
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmMain/kotlin/ai/koog/agents/features/opentelemetry/feature/OpenTelemetry.kt",
        "extension" : "kt",
        "linesOfCode" : 583,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 491,
      "startLine" : 384,
      "endLine" : 389,
      "cleanedStartLine" : 243,
      "cleanedEndLine" : 248
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmMain/kotlin/ai/koog/agents/features/opentelemetry/feature/OpenTelemetry.kt",
        "extension" : "kt",
        "linesOfCode" : 583,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 491,
      "startLine" : 408,
      "endLine" : 413,
      "cleanedStartLine" : 262,
      "cleanedEndLine" : 267
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/tool/file/EditFileToolCoreTest.kt",
        "extension" : "kt",
        "linesOfCode" : 235,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 214,
      "startLine" : 118,
      "endLine" : 125,
      "cleanedStartLine" : 78,
      "cleanedEndLine" : 83
    }, {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/tool/file/EditFileToolCoreTest.kt",
        "extension" : "kt",
        "linesOfCode" : 235,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 214,
      "startLine" : 188,
      "endLine" : 195,
      "cleanedStartLine" : 134,
      "cleanedEndLine" : 139
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/androidMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 117,
      "endLine" : 122,
      "cleanedStartLine" : 97,
      "cleanedEndLine" : 102
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/appleMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 88,
      "endLine" : 93,
      "cleanedStartLine" : 69,
      "cleanedEndLine" : 74
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/SubgraphWithRetryTest.kt",
        "extension" : "kt",
        "linesOfCode" : 429,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 348,
      "startLine" : 224,
      "endLine" : 231,
      "cleanedStartLine" : 146,
      "cleanedEndLine" : 151
    }, {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/SubgraphWithRetryTest.kt",
        "extension" : "kt",
        "linesOfCode" : 429,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 348,
      "startLine" : 464,
      "endLine" : 471,
      "cleanedStartLine" : 319,
      "cleanedEndLine" : 324
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerSubgraphTest.kt",
        "extension" : "kt",
        "linesOfCode" : 262,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 194,
      "startLine" : 166,
      "endLine" : 176,
      "cleanedStartLine" : 88,
      "cleanedEndLine" : 93
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerTestAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 281,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 212,
      "startLine" : 243,
      "endLine" : 253,
      "cleanedStartLine" : 161,
      "cleanedEndLine" : 166
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/openai/models/OpenAIToolsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 571,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 484,
      "startLine" : 23,
      "endLine" : 28,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 15
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openrouter-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/openrouter/models/OpenRouterSerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 670,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 554,
      "startLine" : 446,
      "endLine" : 451,
      "cleanedStartLine" : 300,
      "cleanedEndLine" : 305
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 156,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 141,
      "startLine" : 132,
      "endLine" : 137,
      "cleanedStartLine" : 81,
      "cleanedEndLine" : 86
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 156,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 141,
      "startLine" : 161,
      "endLine" : 166,
      "cleanedStartLine" : 109,
      "cleanedEndLine" : 114
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/appleMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 88,
      "endLine" : 93,
      "cleanedStartLine" : 69,
      "cleanedEndLine" : 74
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jsMain/kotlin/ai/koog/agents/core/agent/AIAgentService.kt",
        "extension" : "kt",
        "linesOfCode" : 89,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 79,
      "startLine" : 83,
      "endLine" : 88,
      "cleanedStartLine" : 65,
      "cleanedEndLine" : 70
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/androidMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 88,
      "endLine" : 93,
      "cleanedStartLine" : 69,
      "cleanedEndLine" : 74
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/androidMain/kotlin/ai/koog/agents/core/agent/AIAgentService.kt",
        "extension" : "kt",
        "linesOfCode" : 89,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 79,
      "startLine" : 83,
      "endLine" : 88,
      "cleanedStartLine" : 65,
      "cleanedEndLine" : 70
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-core/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 40,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 3,
      "endLine" : 11,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    }, {
      "file" : {
        "relativePath" : "embeddings/embeddings-base/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 33,
        "components" : [ "primary::embeddings" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 3,
      "endLine" : 11,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipeline.kt",
        "extension" : "kt",
        "linesOfCode" : 448,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 394,
      "startLine" : 412,
      "endLine" : 417,
      "cleanedStartLine" : 135,
      "cleanedEndLine" : 140
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 846,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 674,
      "startLine" : 294,
      "endLine" : 299,
      "cleanedStartLine" : 146,
      "cleanedEndLine" : 151
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/agent/FunctionalAIAgentTest.kt",
        "extension" : "kt",
        "linesOfCode" : 674,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 581,
      "startLine" : 119,
      "endLine" : 127,
      "cleanedStartLine" : 68,
      "cleanedEndLine" : 73
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/agent/SingleRunStrategyTests.kt",
        "extension" : "kt",
        "linesOfCode" : 234,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 186,
      "startLine" : 15,
      "endLine" : 23,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 10
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentGraphPipeline.kt",
        "extension" : "kt",
        "linesOfCode" : 107,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 90,
      "startLine" : 152,
      "endLine" : 157,
      "cleanedStartLine" : 49,
      "cleanedEndLine" : 54
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentGraphPipeline.kt",
        "extension" : "kt",
        "linesOfCode" : 107,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 90,
      "startLine" : 174,
      "endLine" : 179,
      "cleanedStartLine" : 59,
      "cleanedEndLine" : 64
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/models/OpenAIResponsesAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 1134,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1035,
      "startLine" : 2151,
      "endLine" : 2164,
      "cleanedStartLine" : 878,
      "cleanedEndLine" : 883
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/models/OpenAIResponsesAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 1134,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1035,
      "startLine" : 2215,
      "endLine" : 2228,
      "cleanedStartLine" : 910,
      "cleanedEndLine" : 915
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/androidMain/kotlin/ai/koog/agents/core/agent/context/AIAgentLLMContext.kt",
        "extension" : "kt",
        "linesOfCode" : 32,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 23,
      "endLine" : 28,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 15
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/context/AIAgentLLMContextImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 105,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 85,
      "startLine" : 98,
      "endLine" : 103,
      "cleanedStartLine" : 67,
      "cleanedEndLine" : 72
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jsMain/kotlin/ai/koog/agents/core/agent/AIAgentService.kt",
        "extension" : "kt",
        "linesOfCode" : 89,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 79,
      "startLine" : 66,
      "endLine" : 71,
      "cleanedStartLine" : 48,
      "cleanedEndLine" : 53
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 156,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 141,
      "startLine" : 113,
      "endLine" : 118,
      "cleanedStartLine" : 62,
      "cleanedEndLine" : 67
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-core/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 40,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 3,
      "endLine" : 11,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    }, {
      "file" : {
        "relativePath" : "rag/rag-base/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 32,
        "components" : [ "primary::rag" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 3,
      "endLine" : 11,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-event-handler/src/jvmTest/kotlin/ai/koog/agents/features/eventHandler/feature/EventHandlerTest.kt",
        "extension" : "kt",
        "linesOfCode" : 637,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 548,
      "startLine" : 82,
      "endLine" : 87,
      "cleanedStartLine" : 35,
      "cleanedEndLine" : 40
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-event-handler/src/jvmTest/kotlin/ai/koog/agents/features/eventHandler/feature/EventHandlerTest.kt",
        "extension" : "kt",
        "linesOfCode" : 637,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 548,
      "startLine" : 575,
      "endLine" : 581,
      "cleanedStartLine" : 427,
      "cleanedEndLine" : 432
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 493,
      "endLine" : 513,
      "cleanedStartLine" : 269,
      "cleanedEndLine" : 274
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 556,
      "endLine" : 573,
      "cleanedStartLine" : 306,
      "cleanedEndLine" : 311
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/src/jvmTest/kotlin/dashscope/DashscopeLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 255,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 196,
      "startLine" : 280,
      "endLine" : 285,
      "cleanedStartLine" : 191,
      "cleanedEndLine" : 196
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-deepseek-client/src/jvmTest/kotlin/deepseek/DeepSeekLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 247,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 191,
      "startLine" : 272,
      "endLine" : 277,
      "cleanedStartLine" : 186,
      "cleanedEndLine" : 191
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-core/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 40,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 3,
      "endLine" : 11,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 34,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 24,
      "startLine" : 3,
      "endLine" : 11,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 493,
      "endLine" : 513,
      "cleanedStartLine" : 269,
      "cleanedEndLine" : 274
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 587,
      "endLine" : 604,
      "cleanedStartLine" : 325,
      "cleanedEndLine" : 330
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 493,
      "endLine" : 513,
      "cleanedStartLine" : 269,
      "cleanedEndLine" : 274
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 619,
      "endLine" : 637,
      "cleanedStartLine" : 345,
      "cleanedEndLine" : 350
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/modelfamilies/amazon/NovaDataModelsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 341,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 280,
      "startLine" : 88,
      "endLine" : 97,
      "cleanedStartLine" : 64,
      "cleanedEndLine" : 69
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/modelfamilies/amazon/NovaDataModelsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 341,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 280,
      "startLine" : 128,
      "endLine" : 137,
      "cleanedStartLine" : 92,
      "cleanedEndLine" : 97
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/androidMain/kotlin/ai/koog/agents/core/agent/AIAgentService.kt",
        "extension" : "kt",
        "linesOfCode" : 89,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 79,
      "startLine" : 66,
      "endLine" : 71,
      "cleanedStartLine" : 48,
      "cleanedEndLine" : 53
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/wasmJsMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 69,
      "endLine" : 74,
      "cleanedStartLine" : 50,
      "cleanedEndLine" : 55
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jsMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 88,
      "endLine" : 93,
      "cleanedStartLine" : 69,
      "cleanedEndLine" : 74
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/wasmJsMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 117,
      "endLine" : 122,
      "cleanedStartLine" : 97,
      "cleanedEndLine" : 102
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentGraphPipeline.kt",
        "extension" : "kt",
        "linesOfCode" : 107,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 90,
      "startLine" : 85,
      "endLine" : 90,
      "cleanedStartLine" : 22,
      "cleanedEndLine" : 27
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentGraphPipeline.kt",
        "extension" : "kt",
        "linesOfCode" : 107,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 90,
      "startLine" : 107,
      "endLine" : 112,
      "cleanedStartLine" : 32,
      "cleanedEndLine" : 37
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/jvmTest/kotlin/ai/koog/prompt/JavaAPIPromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 296,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 262,
      "startLine" : 198,
      "endLine" : 203,
      "cleanedStartLine" : 135,
      "cleanedEndLine" : 140
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/jvmTest/kotlin/ai/koog/prompt/JavaAPIPromptBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 296,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 262,
      "startLine" : 249,
      "endLine" : 254,
      "cleanedStartLine" : 175,
      "cleanedEndLine" : 180
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/agent/FunctionalAIAgentTest.kt",
        "extension" : "kt",
        "linesOfCode" : 674,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 581,
      "startLine" : 64,
      "endLine" : 73,
      "cleanedStartLine" : 32,
      "cleanedEndLine" : 37
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/agent/SingleRunStrategyTests.kt",
        "extension" : "kt",
        "linesOfCode" : 234,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 186,
      "startLine" : 161,
      "endLine" : 170,
      "cleanedStartLine" : 100,
      "cleanedEndLine" : 105
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/agent/FunctionalAIAgentTest.kt",
        "extension" : "kt",
        "linesOfCode" : 674,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 581,
      "startLine" : 64,
      "endLine" : 73,
      "cleanedStartLine" : 32,
      "cleanedEndLine" : 37
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/agent/SingleRunStrategyTests.kt",
        "extension" : "kt",
        "linesOfCode" : 234,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 186,
      "startLine" : 200,
      "endLine" : 209,
      "cleanedStartLine" : 126,
      "cleanedEndLine" : 131
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-tools/src/commonTest/kotlin/ai/koog/agents/core/tools/serialization/ToolParameterTypesTest.kt",
        "extension" : "kt",
        "linesOfCode" : 560,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 449,
      "startLine" : 287,
      "endLine" : 292,
      "cleanedStartLine" : 187,
      "cleanedEndLine" : 192
    }, {
      "file" : {
        "relativePath" : "agents/agents-tools/src/commonTest/kotlin/ai/koog/agents/core/tools/serialization/ToolParameterTypesTest.kt",
        "extension" : "kt",
        "linesOfCode" : 560,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 449,
      "startLine" : 344,
      "endLine" : 349,
      "cleanedStartLine" : 232,
      "cleanedEndLine" : 237
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 403,
      "endLine" : 419,
      "cleanedStartLine" : 213,
      "cleanedEndLine" : 218
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 493,
      "endLine" : 513,
      "cleanedStartLine" : 269,
      "cleanedEndLine" : 274
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/commonTest/kotlin/ai/koog/prompt/executor/clients/google/structure/GoogleSimpleJsonSchemaGeneratorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 147,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 130,
      "startLine" : 12,
      "endLine" : 17,
      "cleanedStartLine" : 3,
      "cleanedEndLine" : 8
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/commonTest/kotlin/ai/koog/prompt/executor/clients/google/structure/GoogleStandardJsonSchemaGeneratorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 323,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 297,
      "startLine" : 13,
      "endLine" : 18,
      "cleanedStartLine" : 3,
      "cleanedEndLine" : 8
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/androidMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 88,
      "endLine" : 93,
      "cleanedStartLine" : 69,
      "cleanedEndLine" : 74
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/wasmJsMain/kotlin/ai/koog/agents/core/agent/AIAgentService.kt",
        "extension" : "kt",
        "linesOfCode" : 89,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 79,
      "startLine" : 83,
      "endLine" : 88,
      "cleanedStartLine" : 65,
      "cleanedEndLine" : 70
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryNodeExecuteSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 307,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 276,
      "startLine" : 145,
      "endLine" : 151,
      "cleanedStartLine" : 108,
      "cleanedEndLine" : 113
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryNodeExecuteSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 307,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 276,
      "startLine" : 340,
      "endLine" : 346,
      "cleanedStartLine" : 271,
      "cleanedEndLine" : 276
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/appleMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 143,
      "endLine" : 148,
      "cleanedStartLine" : 122,
      "cleanedEndLine" : 127
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/appleMain/kotlin/ai/koog/agents/core/agent/AIAgentService.kt",
        "extension" : "kt",
        "linesOfCode" : 89,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 79,
      "startLine" : 83,
      "endLine" : 88,
      "cleanedStartLine" : 65,
      "cleanedEndLine" : 70
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/androidMain/kotlin/ai/koog/agents/core/agent/AIAgentService.kt",
        "extension" : "kt",
        "linesOfCode" : 89,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 79,
      "startLine" : 83,
      "endLine" : 88,
      "cleanedStartLine" : 65,
      "cleanedEndLine" : 70
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/appleMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 143,
      "endLine" : 148,
      "cleanedStartLine" : 122,
      "cleanedEndLine" : 127
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/modelfamilies/ai21/BedrockAI21JambaSerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 224,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 176,
      "startLine" : 40,
      "endLine" : 48,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 18
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/modelfamilies/ai21/BedrockAI21JambaSerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 224,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 176,
      "startLine" : 65,
      "endLine" : 73,
      "cleanedStartLine" : 29,
      "cleanedEndLine" : 34
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryExecuteToolSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 184,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 154,
      "startLine" : 62,
      "endLine" : 68,
      "cleanedStartLine" : 32,
      "cleanedEndLine" : 37
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryExecuteToolSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 184,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 154,
      "startLine" : 215,
      "endLine" : 221,
      "cleanedStartLine" : 149,
      "cleanedEndLine" : 154
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 329,
      "endLine" : 334,
      "cleanedStartLine" : 164,
      "cleanedEndLine" : 169
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 517,
      "endLine" : 522,
      "cleanedStartLine" : 278,
      "cleanedEndLine" : 283
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/session/AIAgentLLMReadSession.kt",
        "extension" : "kt",
        "linesOfCode" : 78,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 60,
      "startLine" : 37,
      "endLine" : 42,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/wasmJsMain/kotlin/ai/koog/agents/core/agent/session/AIAgentLLMReadSession.kt",
        "extension" : "kt",
        "linesOfCode" : 16,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 10,
      "startLine" : 13,
      "endLine" : 18,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-processor/src/commonMain/kotlin/ai/koog/prompt/processor/LLMBasedToolCallFixProcessor.kt",
        "extension" : "kt",
        "linesOfCode" : 93,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 72,
      "startLine" : 108,
      "endLine" : 113,
      "cleanedStartLine" : 19,
      "cleanedEndLine" : 24
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-processor/src/commonMain/kotlin/ai/koog/prompt/processor/ManualToolCallFixProcessor.kt",
        "extension" : "kt",
        "linesOfCode" : 34,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 23,
      "startLine" : 31,
      "endLine" : 36,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 14
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/session/AIAgentLLMSession.kt",
        "extension" : "kt",
        "linesOfCode" : 162,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 119,
      "startLine" : 150,
      "endLine" : 157,
      "cleanedStartLine" : 80,
      "cleanedEndLine" : 85
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/session/AIAgentLLMSession.kt",
        "extension" : "kt",
        "linesOfCode" : 162,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 119,
      "startLine" : 166,
      "endLine" : 173,
      "cleanedStartLine" : 92,
      "cleanedEndLine" : 97
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-deepseek-client/src/jvmTest/kotlin/deepseek/DeepSeekLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 247,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 191,
      "startLine" : 239,
      "endLine" : 244,
      "cleanedStartLine" : 160,
      "cleanedEndLine" : 165
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/mistralai/MistralAILLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 295,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 232,
      "startLine" : 285,
      "endLine" : 290,
      "cleanedStartLine" : 197,
      "cleanedEndLine" : 202
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerTestAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 281,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 212,
      "startLine" : 187,
      "endLine" : 192,
      "cleanedStartLine" : 105,
      "cleanedEndLine" : 110
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageRemoteWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 816,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 671,
      "startLine" : 398,
      "endLine" : 403,
      "cleanedStartLine" : 239,
      "cleanedEndLine" : 244
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-core/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 40,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 3,
      "endLine" : 11,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-a2a-server/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 32,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 3,
      "endLine" : 11,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "koog-spring-boot-starter/src/main/kotlin/ai/koog/spring/prompt/executor/clients/anthropic/AnthropicKoogProperties.kt",
        "extension" : "kt",
        "linesOfCode" : 18,
        "components" : [ "primary::koog-spring-boot-starter" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 12,
      "startLine" : 24,
      "endLine" : 32,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "koog-spring-boot-starter/src/main/kotlin/ai/koog/spring/prompt/executor/clients/openrouter/OpenRouterKoogProperties.kt",
        "extension" : "kt",
        "linesOfCode" : 19,
        "components" : [ "primary::koog-spring-boot-starter" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 12,
      "startLine" : 31,
      "endLine" : 40,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerTestAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 281,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 212,
      "startLine" : 187,
      "endLine" : 192,
      "cleanedStartLine" : 105,
      "cleanedEndLine" : 110
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageRemoteWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 816,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 671,
      "startLine" : 427,
      "endLine" : 432,
      "cleanedStartLine" : 268,
      "cleanedEndLine" : 273
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/dsl/extension/ParallelNodesTest.kt",
        "extension" : "kt",
        "linesOfCode" : 380,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 299,
      "startLine" : 266,
      "endLine" : 271,
      "cleanedStartLine" : 169,
      "cleanedEndLine" : 174
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/dsl/extension/ParallelNodesTest.kt",
        "extension" : "kt",
        "linesOfCode" : 380,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 299,
      "startLine" : 391,
      "endLine" : 396,
      "cleanedStartLine" : 255,
      "cleanedEndLine" : 260
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client-base/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/base/structure/OpenAIStandardJsonSchemaGenerator.kt",
        "extension" : "kt",
        "linesOfCode" : 90,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 59,
      "startLine" : 35,
      "endLine" : 40,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-structure/src/commonMain/kotlin/ai/koog/prompt/structure/json/generator/BasicJsonSchemaGenerator.kt",
        "extension" : "kt",
        "linesOfCode" : 67,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 48,
      "startLine" : 31,
      "endLine" : 36,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerTestAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 281,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 212,
      "startLine" : 180,
      "endLine" : 185,
      "cleanedStartLine" : 98,
      "cleanedEndLine" : 103
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageRemoteWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 816,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 671,
      "startLine" : 396,
      "endLine" : 401,
      "cleanedStartLine" : 237,
      "cleanedEndLine" : 242
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/ext/agent/AIAgentSubgraphExt.kt",
        "extension" : "kt",
        "linesOfCode" : 376,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 310,
      "startLine" : 168,
      "endLine" : 173,
      "cleanedStartLine" : 48,
      "cleanedEndLine" : 53
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/ext/agent/AIAgentSubgraphExt.kt",
        "extension" : "kt",
        "linesOfCode" : 376,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 310,
      "startLine" : 249,
      "endLine" : 254,
      "cleanedStartLine" : 94,
      "cleanedEndLine" : 99
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/tool/file/EditFileToolCoreTest.kt",
        "extension" : "kt",
        "linesOfCode" : 235,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 214,
      "startLine" : 153,
      "endLine" : 160,
      "cleanedStartLine" : 106,
      "cleanedEndLine" : 111
    }, {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/tool/file/EditFileToolCoreTest.kt",
        "extension" : "kt",
        "linesOfCode" : 235,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 214,
      "startLine" : 188,
      "endLine" : 195,
      "cleanedStartLine" : 134,
      "cleanedEndLine" : 139
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/utils/SerializationUtilsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 478,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 413,
      "startLine" : 196,
      "endLine" : 201,
      "cleanedStartLine" : 113,
      "cleanedEndLine" : 118
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/utils/SerializationUtilsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 478,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 413,
      "startLine" : 584,
      "endLine" : 589,
      "cleanedStartLine" : 391,
      "cleanedEndLine" : 396
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/androidMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 88,
      "endLine" : 93,
      "cleanedStartLine" : 69,
      "cleanedEndLine" : 74
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 156,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 141,
      "startLine" : 161,
      "endLine" : 166,
      "cleanedStartLine" : 109,
      "cleanedEndLine" : 114
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-processor/src/commonMain/kotlin/ai/koog/prompt/processor/ManualToolCallFixProcessor.kt",
        "extension" : "kt",
        "linesOfCode" : 34,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 23,
      "startLine" : 31,
      "endLine" : 36,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 14
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-processor/src/commonMain/kotlin/ai/koog/prompt/processor/ResponseProcessor.kt",
        "extension" : "kt",
        "linesOfCode" : 45,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 36,
      "startLine" : 49,
      "endLine" : 54,
      "cleanedStartLine" : 25,
      "cleanedEndLine" : 30
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageFileWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 509,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 418,
      "startLine" : 81,
      "endLine" : 89,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 20
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageRemoteWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 816,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 671,
      "startLine" : 169,
      "endLine" : 177,
      "cleanedStartLine" : 57,
      "cleanedEndLine" : 62
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-ollama-client/src/commonTest/kotlin/ai/koog/prompt/executor/ollama/client/ContextWindowStrategyTest.kt",
        "extension" : "kt",
        "linesOfCode" : 196,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 162,
      "startLine" : 117,
      "endLine" : 124,
      "cleanedStartLine" : 71,
      "cleanedEndLine" : 76
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-ollama-client/src/commonTest/kotlin/ai/koog/prompt/executor/ollama/client/ContextWindowStrategyTest.kt",
        "extension" : "kt",
        "linesOfCode" : 196,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 162,
      "startLine" : 153,
      "endLine" : 160,
      "cleanedStartLine" : 101,
      "cleanedEndLine" : 106
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-ollama-client/src/commonTest/kotlin/ai/koog/prompt/executor/ollama/client/ContextWindowStrategyTest.kt",
        "extension" : "kt",
        "linesOfCode" : 196,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 162,
      "startLine" : 110,
      "endLine" : 116,
      "cleanedStartLine" : 65,
      "cleanedEndLine" : 70
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-ollama-client/src/commonTest/kotlin/ai/koog/prompt/executor/ollama/client/ContextWindowStrategyTest.kt",
        "extension" : "kt",
        "linesOfCode" : 196,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 162,
      "startLine" : 175,
      "endLine" : 181,
      "cleanedStartLine" : 118,
      "cleanedEndLine" : 123
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-core/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 40,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 3,
      "endLine" : 11,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    }, {
      "file" : {
        "relativePath" : "embeddings/embeddings-llm/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 44,
        "components" : [ "primary::embeddings" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 3,
      "endLine" : 11,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/dsl/extension/ParallelNodesTest.kt",
        "extension" : "kt",
        "linesOfCode" : 380,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 299,
      "startLine" : 266,
      "endLine" : 271,
      "cleanedStartLine" : 169,
      "cleanedEndLine" : 174
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/dsl/extension/ParallelNodesTest.kt",
        "extension" : "kt",
        "linesOfCode" : 380,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 299,
      "startLine" : 359,
      "endLine" : 364,
      "cleanedStartLine" : 233,
      "cleanedEndLine" : 238
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-core/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 40,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 3,
      "endLine" : 11,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    }, {
      "file" : {
        "relativePath" : "agents/agents-ext/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 36,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 3,
      "endLine" : 11,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/agent/session/AIAgentLLMWriteSessionTest.kt",
        "extension" : "kt",
        "linesOfCode" : 376,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 296,
      "startLine" : 53,
      "endLine" : 60,
      "cleanedStartLine" : 18,
      "cleanedEndLine" : 23
    }, {
      "file" : {
        "relativePath" : "agents/agents-test/src/commonMain/kotlin/ai/koog/agents/testing/tools/MockEnvironment.kt",
        "extension" : "kt",
        "linesOfCode" : 55,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 40,
      "startLine" : 107,
      "endLine" : 123,
      "cleanedStartLine" : 35,
      "cleanedEndLine" : 40
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/appleMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 88,
      "endLine" : 93,
      "cleanedStartLine" : 69,
      "cleanedEndLine" : 74
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/wasmJsMain/kotlin/ai/koog/agents/core/agent/AIAgentService.kt",
        "extension" : "kt",
        "linesOfCode" : 89,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 79,
      "startLine" : 83,
      "endLine" : 88,
      "cleanedStartLine" : 65,
      "cleanedEndLine" : 70
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerTest.kt",
        "extension" : "kt",
        "linesOfCode" : 521,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 437,
      "startLine" : 456,
      "endLine" : 461,
      "cleanedStartLine" : 340,
      "cleanedEndLine" : 345
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageRemoteWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 816,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 671,
      "startLine" : 906,
      "endLine" : 911,
      "cleanedStartLine" : 649,
      "cleanedEndLine" : 654
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/agent/context/AIAgentLLMContextTest.kt",
        "extension" : "kt",
        "linesOfCode" : 177,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 136,
      "startLine" : 207,
      "endLine" : 212,
      "cleanedStartLine" : 131,
      "cleanedEndLine" : 136
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/agent/session/AIAgentLLMSessionStructuredOutputTest.kt",
        "extension" : "kt",
        "linesOfCode" : 194,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 154,
      "startLine" : 180,
      "endLine" : 185,
      "cleanedStartLine" : 120,
      "cleanedEndLine" : 125
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-core/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 40,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 3,
      "endLine" : 11,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    }, {
      "file" : {
        "relativePath" : "agents/agents-mcp/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 41,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 31,
      "startLine" : 3,
      "endLine" : 12,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client-base/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/base/AbstractOpenAILLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 412,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 304,
      "startLine" : 210,
      "endLine" : 215,
      "cleanedStartLine" : 89,
      "cleanedEndLine" : 94
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAILLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 711,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 554,
      "startLine" : 422,
      "endLine" : 427,
      "cleanedStartLine" : 245,
      "cleanedEndLine" : 250
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicModels.kt",
        "extension" : "kt",
        "linesOfCode" : 195,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 178,
      "startLine" : 150,
      "endLine" : 155,
      "cleanedStartLine" : 65,
      "cleanedEndLine" : 70
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicModels.kt",
        "extension" : "kt",
        "linesOfCode" : 195,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 178,
      "startLine" : 275,
      "endLine" : 280,
      "cleanedStartLine" : 140,
      "cleanedEndLine" : 145
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 47,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 42,
      "endLine" : 56,
      "cleanedStartLine" : 30,
      "cleanedEndLine" : 35
    }, {
      "file" : {
        "relativePath" : "a2a/a2a-transport/a2a-transport-client-jsonrpc-http/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 44,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 38,
      "endLine" : 52,
      "cleanedStartLine" : 27,
      "cleanedEndLine" : 32
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/session/AIAgentLLMReadSession.kt",
        "extension" : "kt",
        "linesOfCode" : 78,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 60,
      "startLine" : 37,
      "endLine" : 42,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmMain/kotlin/ai/koog/agents/core/agent/session/AIAgentLLMReadSession.kt",
        "extension" : "kt",
        "linesOfCode" : 158,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 121,
      "startLine" : 28,
      "endLine" : 33,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 10
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/appleMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 117,
      "endLine" : 122,
      "cleanedStartLine" : 97,
      "cleanedEndLine" : 102
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 156,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 141,
      "startLine" : 187,
      "endLine" : 192,
      "cleanedStartLine" : 134,
      "cleanedEndLine" : 139
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/appleMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 69,
      "endLine" : 74,
      "cleanedStartLine" : 50,
      "cleanedEndLine" : 55
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/wasmJsMain/kotlin/ai/koog/agents/core/agent/AIAgentService.kt",
        "extension" : "kt",
        "linesOfCode" : 89,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 79,
      "startLine" : 66,
      "endLine" : 71,
      "cleanedStartLine" : 48,
      "cleanedEndLine" : 53
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 47,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 42,
      "endLine" : 56,
      "cleanedStartLine" : 30,
      "cleanedEndLine" : 35
    }, {
      "file" : {
        "relativePath" : "a2a/a2a-server/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 50,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 45,
      "endLine" : 59,
      "cleanedStartLine" : 33,
      "cleanedEndLine" : 38
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/dsl/builder/AIAgentNodeBuilderTransformTest.kt",
        "extension" : "kt",
        "linesOfCode" : 86,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 65,
      "startLine" : 42,
      "endLine" : 47,
      "cleanedStartLine" : 20,
      "cleanedEndLine" : 25
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/dsl/builder/AIAgentNodeBuilderTransformTest.kt",
        "extension" : "kt",
        "linesOfCode" : 86,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 65,
      "startLine" : 94,
      "endLine" : 99,
      "cleanedStartLine" : 58,
      "cleanedEndLine" : 63
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerStreamingTest.kt",
        "extension" : "kt",
        "linesOfCode" : 347,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 262,
      "startLine" : 201,
      "endLine" : 206,
      "cleanedStartLine" : 103,
      "cleanedEndLine" : 108
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerStreamingTest.kt",
        "extension" : "kt",
        "linesOfCode" : 347,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 262,
      "startLine" : 401,
      "endLine" : 406,
      "cleanedStartLine" : 246,
      "cleanedEndLine" : 251
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/mistralai/MistralAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 132,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 123,
      "startLine" : 39,
      "endLine" : 44,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 13
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/mistralai/MistralAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 132,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 123,
      "startLine" : 168,
      "endLine" : 173,
      "cleanedStartLine" : 85,
      "cleanedEndLine" : 90
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/modelfamilies/anthropic/BedrockAnthropicClaudeSerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 437,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 346,
      "startLine" : 130,
      "endLine" : 135,
      "cleanedStartLine" : 77,
      "cleanedEndLine" : 82
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/modelfamilies/anthropic/BedrockAnthropicClaudeSerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 437,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 346,
      "startLine" : 458,
      "endLine" : 463,
      "cleanedStartLine" : 319,
      "cleanedEndLine" : 324
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicModels.kt",
        "extension" : "kt",
        "linesOfCode" : 195,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 178,
      "startLine" : 150,
      "endLine" : 155,
      "cleanedStartLine" : 65,
      "cleanedEndLine" : 70
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicModels.kt",
        "extension" : "kt",
        "linesOfCode" : 195,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 178,
      "startLine" : 300,
      "endLine" : 305,
      "cleanedStartLine" : 155,
      "cleanedEndLine" : 160
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-memory/src/jvmTest/kotlin/ai/koog/agents/memory/AIAgentMemoryTest.kt",
        "extension" : "kt",
        "linesOfCode" : 470,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 399,
      "startLine" : 304,
      "endLine" : 310,
      "cleanedStartLine" : 190,
      "cleanedEndLine" : 195
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-memory/src/jvmTest/kotlin/ai/koog/agents/memory/AIAgentMemoryTest.kt",
        "extension" : "kt",
        "linesOfCode" : 470,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 399,
      "startLine" : 388,
      "endLine" : 394,
      "cleanedStartLine" : 251,
      "cleanedEndLine" : 256
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/GenAIAgentSpanUtilsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 329,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 292,
      "startLine" : 56,
      "endLine" : 63,
      "cleanedStartLine" : 30,
      "cleanedEndLine" : 35
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/GenAIAgentSpanUtilsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 329,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 292,
      "startLine" : 255,
      "endLine" : 262,
      "cleanedStartLine" : 173,
      "cleanedEndLine" : 178
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 328,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 286,
      "startLine" : 140,
      "endLine" : 145,
      "cleanedStartLine" : 74,
      "cleanedEndLine" : 79
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 328,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 286,
      "startLine" : 205,
      "endLine" : 210,
      "cleanedStartLine" : 130,
      "cleanedEndLine" : 135
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/mistralai/MistralAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 132,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 123,
      "startLine" : 39,
      "endLine" : 44,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 13
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/mistralai/MistralAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 132,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 123,
      "startLine" : 91,
      "endLine" : 96,
      "cleanedStartLine" : 40,
      "cleanedEndLine" : 45
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/google/GoogleLLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 653,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 482,
      "startLine" : 126,
      "endLine" : 131,
      "cleanedStartLine" : 28,
      "cleanedEndLine" : 33
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client-base/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/base/AbstractOpenAILLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 412,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 304,
      "startLine" : 117,
      "endLine" : 122,
      "cleanedStartLine" : 30,
      "cleanedEndLine" : 35
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/feature/AIAgentPipelineTest.kt",
        "extension" : "kt",
        "linesOfCode" : 736,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 595,
      "startLine" : 481,
      "endLine" : 489,
      "cleanedStartLine" : 303,
      "cleanedEndLine" : 308
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/feature/AIAgentPipelineTest.kt",
        "extension" : "kt",
        "linesOfCode" : 736,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 595,
      "startLine" : 529,
      "endLine" : 537,
      "cleanedStartLine" : 337,
      "cleanedEndLine" : 342
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryNodeExecuteSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 307,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 276,
      "startLine" : 144,
      "endLine" : 149,
      "cleanedStartLine" : 107,
      "cleanedEndLine" : 112
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetrySubgraphTest.kt",
        "extension" : "kt",
        "linesOfCode" : 334,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 313,
      "startLine" : 122,
      "endLine" : 127,
      "cleanedStartLine" : 96,
      "cleanedEndLine" : 101
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rag/vector-storage/src/jvmTest/kotlin/ai/koog/rag/vector/JVMFileVectorStorageTest.kt",
        "extension" : "kt",
        "linesOfCode" : 160,
        "components" : [ "primary::rag" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 130,
      "startLine" : 89,
      "endLine" : 97,
      "cleanedStartLine" : 51,
      "cleanedEndLine" : 56
    }, {
      "file" : {
        "relativePath" : "rag/vector-storage/src/jvmTest/kotlin/ai/koog/rag/vector/JVMTextFileDocumentEmbeddingStorageTest.kt",
        "extension" : "kt",
        "linesOfCode" : 234,
        "components" : [ "primary::rag" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 193,
      "startLine" : 61,
      "endLine" : 69,
      "cleanedStartLine" : 33,
      "cleanedEndLine" : 38
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryNodeExecuteSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 307,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 276,
      "startLine" : 101,
      "endLine" : 107,
      "cleanedStartLine" : 67,
      "cleanedEndLine" : 72
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetrySubgraphTest.kt",
        "extension" : "kt",
        "linesOfCode" : 334,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 313,
      "startLine" : 148,
      "endLine" : 154,
      "cleanedStartLine" : 114,
      "cleanedEndLine" : 119
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 328,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 286,
      "startLine" : 140,
      "endLine" : 145,
      "cleanedStartLine" : 74,
      "cleanedEndLine" : 79
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 328,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 286,
      "startLine" : 235,
      "endLine" : 240,
      "cleanedStartLine" : 157,
      "cleanedEndLine" : 162
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/feature/AIAgentPipelineTest.kt",
        "extension" : "kt",
        "linesOfCode" : 736,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 595,
      "startLine" : 481,
      "endLine" : 489,
      "cleanedStartLine" : 303,
      "cleanedEndLine" : 308
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/feature/AIAgentPipelineTest.kt",
        "extension" : "kt",
        "linesOfCode" : 736,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 595,
      "startLine" : 577,
      "endLine" : 585,
      "cleanedStartLine" : 371,
      "cleanedEndLine" : 376
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-transport/a2a-transport-server-jsonrpc-http/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 41,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 26,
      "endLine" : 34,
      "cleanedStartLine" : 18,
      "cleanedEndLine" : 23
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-xml/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 27,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 17,
      "startLine" : 18,
      "endLine" : 26,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 15
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-llms-all/src/jvmTest/kotlin/ai/koog/prompt/executor/llms/all/MultipleLLMPromptExecutorMockTest.kt",
        "extension" : "kt",
        "linesOfCode" : 173,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 83,
      "endLine" : 88,
      "cleanedStartLine" : 40,
      "cleanedEndLine" : 45
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-llms/src/commonTest/kotlin/ai/koog/prompt/executor/llms/MultiLLMPromptExecutorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 206,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 155,
      "startLine" : 74,
      "endLine" : 79,
      "cleanedStartLine" : 30,
      "cleanedEndLine" : 35
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/SubgraphWithTaskTest.kt",
        "extension" : "kt",
        "linesOfCode" : 603,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 509,
      "startLine" : 337,
      "endLine" : 346,
      "cleanedStartLine" : 209,
      "cleanedEndLine" : 214
    }, {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/SubgraphWithTaskTest.kt",
        "extension" : "kt",
        "linesOfCode" : 603,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 509,
      "startLine" : 625,
      "endLine" : 634,
      "cleanedStartLine" : 412,
      "cleanedEndLine" : 417
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageFileWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 509,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 418,
      "startLine" : 271,
      "endLine" : 276,
      "cleanedStartLine" : 180,
      "cleanedEndLine" : 185
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageLogWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 480,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 396,
      "startLine" : 157,
      "endLine" : 162,
      "cleanedStartLine" : 76,
      "cleanedEndLine" : 81
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-cache/prompt-cache-files/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 26,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 21,
      "endLine" : 32,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 18
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-cache/prompt-cache-model/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 26,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 21,
      "endLine" : 32,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 18
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/mistralai/MistralAILLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 248,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 184,
      "startLine" : 199,
      "endLine" : 204,
      "cleanedStartLine" : 105,
      "cleanedEndLine" : 110
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAILLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 711,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 554,
      "startLine" : 360,
      "endLine" : 365,
      "cleanedStartLine" : 210,
      "cleanedEndLine" : 215
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/agent/FunctionalAIAgentTest.kt",
        "extension" : "kt",
        "linesOfCode" : 674,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 581,
      "startLine" : 79,
      "endLine" : 87,
      "cleanedStartLine" : 41,
      "cleanedEndLine" : 46
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/agent/SingleRunStrategyTests.kt",
        "extension" : "kt",
        "linesOfCode" : 234,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 186,
      "startLine" : 46,
      "endLine" : 54,
      "cleanedStartLine" : 25,
      "cleanedEndLine" : 30
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/CalculatorPromptExecutor.kt",
        "extension" : "kt",
        "linesOfCode" : 72,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 44,
      "startLine" : 56,
      "endLine" : 61,
      "cleanedStartLine" : 26,
      "cleanedEndLine" : 31
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/src/commonMain/kotlin/ai/koog/prompt/executor/clients/retry/RetryingLLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 96,
      "startLine" : 67,
      "endLine" : 72,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 20
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jsMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 88,
      "endLine" : 93,
      "cleanedStartLine" : 69,
      "cleanedEndLine" : 74
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmMain/kotlin/ai/koog/agents/core/agent/AIAgentService.kt",
        "extension" : "kt",
        "linesOfCode" : 176,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 153,
      "startLine" : 269,
      "endLine" : 274,
      "cleanedStartLine" : 139,
      "cleanedEndLine" : 144
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 381,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 343,
      "startLine" : 324,
      "endLine" : 329,
      "cleanedStartLine" : 213,
      "cleanedEndLine" : 218
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonMain/kotlin/ai/koog/prompt/params/LLMParams.kt",
        "extension" : "kt",
        "linesOfCode" : 169,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 141,
      "startLine" : 170,
      "endLine" : 175,
      "cleanedStartLine" : 77,
      "cleanedEndLine" : 82
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/feature/AIAgentPipelineTest.kt",
        "extension" : "kt",
        "linesOfCode" : 736,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 595,
      "startLine" : 690,
      "endLine" : 698,
      "cleanedStartLine" : 450,
      "cleanedEndLine" : 455
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/feature/AIAgentPipelineTest.kt",
        "extension" : "kt",
        "linesOfCode" : 736,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 595,
      "startLine" : 813,
      "endLine" : 821,
      "cleanedStartLine" : 537,
      "cleanedEndLine" : 542
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/appleMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 143,
      "endLine" : 148,
      "cleanedStartLine" : 122,
      "cleanedEndLine" : 127
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/wasmJsMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 117,
      "endLine" : 122,
      "cleanedStartLine" : 97,
      "cleanedEndLine" : 102
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/appleMain/kotlin/ai/koog/agents/core/agent/AIAgentService.kt",
        "extension" : "kt",
        "linesOfCode" : 89,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 79,
      "startLine" : 83,
      "endLine" : 88,
      "cleanedStartLine" : 65,
      "cleanedEndLine" : 70
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/wasmJsMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 117,
      "endLine" : 122,
      "cleanedStartLine" : 97,
      "cleanedEndLine" : 102
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/mistralai/MistralAILLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 248,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 184,
      "startLine" : 199,
      "endLine" : 204,
      "cleanedStartLine" : 105,
      "cleanedEndLine" : 110
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAILLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 711,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 554,
      "startLine" : 422,
      "endLine" : 427,
      "cleanedStartLine" : 245,
      "cleanedEndLine" : 250
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 767,
      "endLine" : 792,
      "cleanedStartLine" : 418,
      "cleanedEndLine" : 423
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 796,
      "endLine" : 819,
      "cleanedStartLine" : 427,
      "cleanedEndLine" : 432
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/context/AIAgentFunctionalContextImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 483,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 365,
      "startLine" : 275,
      "endLine" : 282,
      "cleanedStartLine" : 157,
      "cleanedEndLine" : 162
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/dsl/extension/AIAgentNodes.kt",
        "extension" : "kt",
        "linesOfCode" : 313,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 233,
      "startLine" : 515,
      "endLine" : 523,
      "cleanedStartLine" : 219,
      "cleanedEndLine" : 224
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/androidMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 117,
      "endLine" : 122,
      "cleanedStartLine" : 97,
      "cleanedEndLine" : 102
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/appleMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 143,
      "endLine" : 148,
      "cleanedStartLine" : 122,
      "cleanedEndLine" : 127
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerTest.kt",
        "extension" : "kt",
        "linesOfCode" : 521,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 437,
      "startLine" : 318,
      "endLine" : 323,
      "cleanedStartLine" : 202,
      "cleanedEndLine" : 207
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageRemoteWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 816,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 671,
      "startLine" : 455,
      "endLine" : 460,
      "cleanedStartLine" : 296,
      "cleanedEndLine" : 301
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/anthropic/models/AnthropicChatMessages.kt",
        "extension" : "kt",
        "linesOfCode" : 247,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 224,
      "startLine" : 448,
      "endLine" : 453,
      "cleanedStartLine" : 155,
      "cleanedEndLine" : 160
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmMain/kotlin/ai/koog/prompt/executor/clients/bedrock/modelfamilies/BedrockDataClasses.kt",
        "extension" : "kt",
        "linesOfCode" : 85,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 75,
      "startLine" : 202,
      "endLine" : 207,
      "cleanedStartLine" : 63,
      "cleanedEndLine" : 68
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/modelfamilies/ai21/BedrockAI21JambaSerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 224,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 176,
      "startLine" : 188,
      "endLine" : 194,
      "cleanedStartLine" : 113,
      "cleanedEndLine" : 118
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/modelfamilies/ai21/JambaDataModelsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 369,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 304,
      "startLine" : 336,
      "endLine" : 342,
      "cleanedStartLine" : 243,
      "cleanedEndLine" : 248
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/agent/FunctionalAIAgentTest.kt",
        "extension" : "kt",
        "linesOfCode" : 674,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 581,
      "startLine" : 79,
      "endLine" : 87,
      "cleanedStartLine" : 41,
      "cleanedEndLine" : 46
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/agent/SingleRunStrategyTests.kt",
        "extension" : "kt",
        "linesOfCode" : 234,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 186,
      "startLine" : 137,
      "endLine" : 145,
      "cleanedStartLine" : 83,
      "cleanedEndLine" : 88
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/appleMain/kotlin/ai/koog/agents/core/agent/AIAgentService.kt",
        "extension" : "kt",
        "linesOfCode" : 89,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 79,
      "startLine" : 83,
      "endLine" : 88,
      "cleanedStartLine" : 65,
      "cleanedEndLine" : 70
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/wasmJsMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 88,
      "endLine" : 93,
      "cleanedStartLine" : 69,
      "cleanedEndLine" : 74
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/feature/AIAgentPipelineTest.kt",
        "extension" : "kt",
        "linesOfCode" : 736,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 595,
      "startLine" : 690,
      "endLine" : 698,
      "cleanedStartLine" : 450,
      "cleanedEndLine" : 455
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/feature/AIAgentPipelineTest.kt",
        "extension" : "kt",
        "linesOfCode" : 736,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 595,
      "startLine" : 747,
      "endLine" : 755,
      "cleanedStartLine" : 488,
      "cleanedEndLine" : 493
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/appleMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 117,
      "endLine" : 122,
      "cleanedStartLine" : 97,
      "cleanedEndLine" : 102
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/wasmJsMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 88,
      "endLine" : 93,
      "cleanedStartLine" : 69,
      "cleanedEndLine" : 74
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/androidMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 143,
      "endLine" : 148,
      "cleanedStartLine" : 122,
      "cleanedEndLine" : 127
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 156,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 141,
      "startLine" : 161,
      "endLine" : 166,
      "cleanedStartLine" : 109,
      "cleanedEndLine" : 114
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageLogWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 480,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 396,
      "startLine" : 407,
      "endLine" : 413,
      "cleanedStartLine" : 280,
      "cleanedEndLine" : 285
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageRemoteWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 816,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 671,
      "startLine" : 734,
      "endLine" : 740,
      "cleanedStartLine" : 520,
      "cleanedEndLine" : 525
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/agent/context/AIAgentLLMContextTest.kt",
        "extension" : "kt",
        "linesOfCode" : 177,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 136,
      "startLine" : 207,
      "endLine" : 212,
      "cleanedStartLine" : 131,
      "cleanedEndLine" : 136
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/agent/session/AIAgentLLMSessionStructuredOutputTest.kt",
        "extension" : "kt",
        "linesOfCode" : 194,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 154,
      "startLine" : 55,
      "endLine" : 60,
      "cleanedStartLine" : 27,
      "cleanedEndLine" : 32
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-deepseek-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/deepseek/DeepSeekParams.kt",
        "extension" : "kt",
        "linesOfCode" : 143,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 66,
      "endLine" : 73,
      "cleanedStartLine" : 41,
      "cleanedEndLine" : 46
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 381,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 343,
      "startLine" : 340,
      "endLine" : 347,
      "cleanedStartLine" : 226,
      "cleanedEndLine" : 231
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/agent/context/AIAgentLLMContextTest.kt",
        "extension" : "kt",
        "linesOfCode" : 177,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 136,
      "startLine" : 207,
      "endLine" : 212,
      "cleanedStartLine" : 131,
      "cleanedEndLine" : 136
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/agent/session/AIAgentLLMSessionStructuredOutputTest.kt",
        "extension" : "kt",
        "linesOfCode" : 194,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 154,
      "startLine" : 109,
      "endLine" : 114,
      "cleanedStartLine" : 66,
      "cleanedEndLine" : 71
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/agent/SingleRunStrategyTests.kt",
        "extension" : "kt",
        "linesOfCode" : 234,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 186,
      "startLine" : 146,
      "endLine" : 153,
      "cleanedStartLine" : 89,
      "cleanedEndLine" : 94
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/agent/SingleRunStrategyTests.kt",
        "extension" : "kt",
        "linesOfCode" : 234,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 186,
      "startLine" : 224,
      "endLine" : 231,
      "cleanedStartLine" : 141,
      "cleanedEndLine" : 146
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/dashscope/DashscopeParams.kt",
        "extension" : "kt",
        "linesOfCode" : 159,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 144,
      "startLine" : 62,
      "endLine" : 67,
      "cleanedStartLine" : 34,
      "cleanedEndLine" : 39
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonMain/kotlin/ai/koog/prompt/params/LLMParams.kt",
        "extension" : "kt",
        "linesOfCode" : 169,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 141,
      "startLine" : 170,
      "endLine" : 175,
      "cleanedStartLine" : 77,
      "cleanedEndLine" : 82
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/agent/SingleRunStrategyTests.kt",
        "extension" : "kt",
        "linesOfCode" : 234,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 186,
      "startLine" : 146,
      "endLine" : 153,
      "cleanedStartLine" : 89,
      "cleanedEndLine" : 94
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/agent/SingleRunStrategyTests.kt",
        "extension" : "kt",
        "linesOfCode" : 234,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 186,
      "startLine" : 264,
      "endLine" : 271,
      "cleanedStartLine" : 168,
      "cleanedEndLine" : 173
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/context/AIAgentGraphContext.kt",
        "extension" : "kt",
        "linesOfCode" : 162,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 130,
      "startLine" : 75,
      "endLine" : 80,
      "cleanedStartLine" : 27,
      "cleanedEndLine" : 32
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/agent/context/AgentTestBase.kt",
        "extension" : "kt",
        "linesOfCode" : 108,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 76,
      "startLine" : 114,
      "endLine" : 119,
      "cleanedStartLine" : 69,
      "cleanedEndLine" : 74
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-xml/src/commonTest/kotlin/ai/koog/prompt/xml/XmlTest.kt",
        "extension" : "kt",
        "linesOfCode" : 283,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 216,
      "startLine" : 131,
      "endLine" : 138,
      "cleanedStartLine" : 90,
      "cleanedEndLine" : 95
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-xml/src/commonTest/kotlin/ai/koog/prompt/xml/XmlTest.kt",
        "extension" : "kt",
        "linesOfCode" : 283,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 216,
      "startLine" : 180,
      "endLine" : 187,
      "cleanedStartLine" : 127,
      "cleanedEndLine" : 132
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "http-client/http-client-java/src/main/kotlin/ai/koog/http/client/java/JavaKoogHttpClient.kt",
        "extension" : "kt",
        "linesOfCode" : 182,
        "components" : [ "primary::http-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 144,
      "startLine" : 209,
      "endLine" : 214,
      "cleanedStartLine" : 127,
      "cleanedEndLine" : 132
    }, {
      "file" : {
        "relativePath" : "http-client/http-client-okhttp/src/main/kotlin/ai/koog/http/client/okhttp/OkHttpKoogHttpClient.kt",
        "extension" : "kt",
        "linesOfCode" : 173,
        "components" : [ "primary::http-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 127,
      "startLine" : 189,
      "endLine" : 194,
      "cleanedStartLine" : 107,
      "cleanedEndLine" : 112
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/agent/SingleRunStrategyTests.kt",
        "extension" : "kt",
        "linesOfCode" : 234,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 186,
      "startLine" : 31,
      "endLine" : 40,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 21
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/agent/SingleRunStrategyTests.kt",
        "extension" : "kt",
        "linesOfCode" : 234,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 186,
      "startLine" : 122,
      "endLine" : 131,
      "cleanedStartLine" : 74,
      "cleanedEndLine" : 79
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-event-handler/src/jvmTest/kotlin/ai/koog/agents/features/eventHandler/feature/EventHandlerTest.kt",
        "extension" : "kt",
        "linesOfCode" : 637,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 548,
      "startLine" : 119,
      "endLine" : 125,
      "cleanedStartLine" : 64,
      "cleanedEndLine" : 69
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-event-handler/src/jvmTest/kotlin/ai/koog/agents/features/eventHandler/feature/EventHandlerTest.kt",
        "extension" : "kt",
        "linesOfCode" : 637,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 548,
      "startLine" : 412,
      "endLine" : 418,
      "cleanedStartLine" : 309,
      "cleanedEndLine" : 314
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-xml/src/commonTest/kotlin/ai/koog/prompt/xml/XmlTest.kt",
        "extension" : "kt",
        "linesOfCode" : 283,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 216,
      "startLine" : 131,
      "endLine" : 138,
      "cleanedStartLine" : 90,
      "cleanedEndLine" : 95
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-xml/src/commonTest/kotlin/ai/koog/prompt/xml/XmlTest.kt",
        "extension" : "kt",
        "linesOfCode" : 283,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 216,
      "startLine" : 148,
      "endLine" : 155,
      "cleanedStartLine" : 103,
      "cleanedEndLine" : 108
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageLogWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 480,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 396,
      "startLine" : 410,
      "endLine" : 418,
      "cleanedStartLine" : 282,
      "cleanedEndLine" : 287
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageRemoteWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 816,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 671,
      "startLine" : 169,
      "endLine" : 177,
      "cleanedStartLine" : 57,
      "cleanedEndLine" : 62
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/androidMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 117,
      "endLine" : 122,
      "cleanedStartLine" : 97,
      "cleanedEndLine" : 102
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/androidMain/kotlin/ai/koog/agents/core/agent/AIAgentService.kt",
        "extension" : "kt",
        "linesOfCode" : 89,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 79,
      "startLine" : 83,
      "endLine" : 88,
      "cleanedStartLine" : 65,
      "cleanedEndLine" : 70
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryAgentSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 148,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 126,
      "startLine" : 93,
      "endLine" : 99,
      "cleanedStartLine" : 63,
      "cleanedEndLine" : 68
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryAgentSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 148,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 126,
      "startLine" : 167,
      "endLine" : 173,
      "cleanedStartLine" : 121,
      "cleanedEndLine" : 126
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/androidMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 69,
      "endLine" : 74,
      "cleanedStartLine" : 50,
      "cleanedEndLine" : 55
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/wasmJsMain/kotlin/ai/koog/agents/core/agent/AIAgentService.kt",
        "extension" : "kt",
        "linesOfCode" : 89,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 79,
      "startLine" : 66,
      "endLine" : 71,
      "cleanedStartLine" : 48,
      "cleanedEndLine" : 53
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-xml/src/commonTest/kotlin/ai/koog/prompt/xml/XmlTest.kt",
        "extension" : "kt",
        "linesOfCode" : 283,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 216,
      "startLine" : 131,
      "endLine" : 138,
      "cleanedStartLine" : 90,
      "cleanedEndLine" : 95
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-xml/src/commonTest/kotlin/ai/koog/prompt/xml/XmlTest.kt",
        "extension" : "kt",
        "linesOfCode" : 283,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 216,
      "startLine" : 197,
      "endLine" : 204,
      "cleanedStartLine" : 140,
      "cleanedEndLine" : 145
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-core/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 40,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 3,
      "endLine" : 11,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-acp/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 26,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 3,
      "endLine" : 11,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/agent/SingleRunStrategyTests.kt",
        "extension" : "kt",
        "linesOfCode" : 234,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 186,
      "startLine" : 31,
      "endLine" : 40,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 21
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/agent/SingleRunStrategyTests.kt",
        "extension" : "kt",
        "linesOfCode" : 234,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 186,
      "startLine" : 92,
      "endLine" : 101,
      "cleanedStartLine" : 55,
      "cleanedEndLine" : 60
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-memory/src/jvmTest/kotlin/ai/koog/agents/memory/AIAgentMemoryTest.kt",
        "extension" : "kt",
        "linesOfCode" : 470,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 399,
      "startLine" : 186,
      "endLine" : 192,
      "cleanedStartLine" : 104,
      "cleanedEndLine" : 109
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-memory/src/jvmTest/kotlin/ai/koog/agents/memory/AIAgentMemoryTest.kt",
        "extension" : "kt",
        "linesOfCode" : 470,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 399,
      "startLine" : 302,
      "endLine" : 308,
      "cleanedStartLine" : 188,
      "cleanedEndLine" : 193
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/dsl/builder/AIAgentNodeBuilderTransformTest.kt",
        "extension" : "kt",
        "linesOfCode" : 86,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 65,
      "startLine" : 23,
      "endLine" : 28,
      "cleanedStartLine" : 6,
      "cleanedEndLine" : 11
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/dsl/extension/HistoryCompressionStrategiesTest.kt",
        "extension" : "kt",
        "linesOfCode" : 419,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 379,
      "startLine" : 31,
      "endLine" : 36,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 10
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/androidMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 117,
      "endLine" : 122,
      "cleanedStartLine" : 97,
      "cleanedEndLine" : 102
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/wasmJsMain/kotlin/ai/koog/agents/core/agent/AIAgentService.kt",
        "extension" : "kt",
        "linesOfCode" : 89,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 79,
      "startLine" : 83,
      "endLine" : 88,
      "cleanedStartLine" : 65,
      "cleanedEndLine" : 70
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/ext/agent/AIAgentSubgraphExt.kt",
        "extension" : "kt",
        "linesOfCode" : 376,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 310,
      "startLine" : 330,
      "endLine" : 335,
      "cleanedStartLine" : 136,
      "cleanedEndLine" : 141
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/ext/agent/AIAgentSubgraphExt.kt",
        "extension" : "kt",
        "linesOfCode" : 376,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 310,
      "startLine" : 389,
      "endLine" : 394,
      "cleanedStartLine" : 167,
      "cleanedEndLine" : 172
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/dashscope/models/DashscopeChatCompletion.kt",
        "extension" : "kt",
        "linesOfCode" : 62,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 47,
      "startLine" : 41,
      "endLine" : 46,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 12
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-deepseek-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/deepseek/models/DeepSeekChatCompletion.kt",
        "extension" : "kt",
        "linesOfCode" : 59,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 44,
      "startLine" : 69,
      "endLine" : 74,
      "cleanedStartLine" : 6,
      "cleanedEndLine" : 11
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/appleMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 117,
      "endLine" : 122,
      "cleanedStartLine" : 97,
      "cleanedEndLine" : 102
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/wasmJsMain/kotlin/ai/koog/agents/core/agent/AIAgentService.kt",
        "extension" : "kt",
        "linesOfCode" : 89,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 79,
      "startLine" : 83,
      "endLine" : 88,
      "cleanedStartLine" : 65,
      "cleanedEndLine" : 70
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/mistralai/MistralAILLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 248,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 184,
      "startLine" : 222,
      "endLine" : 229,
      "cleanedStartLine" : 115,
      "cleanedEndLine" : 120
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAILLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 711,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 554,
      "startLine" : 445,
      "endLine" : 453,
      "cleanedStartLine" : 256,
      "cleanedEndLine" : 261
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-core/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 40,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 3,
      "endLine" : 11,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    }, {
      "file" : {
        "relativePath" : "koog-ktor/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 58,
        "components" : [ "primary::koog-ktor" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 40,
      "startLine" : 3,
      "endLine" : 11,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/feature/remote/client/FeatureMessageRemoteClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 388,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 293,
      "startLine" : 467,
      "endLine" : 475,
      "cleanedStartLine" : 264,
      "cleanedEndLine" : 269
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/feature/writer/FeatureMessageRemoteWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 204,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 144,
      "startLine" : 235,
      "endLine" : 243,
      "cleanedStartLine" : 126,
      "cleanedEndLine" : 131
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/ContextualPromptExecutor.kt",
        "extension" : "kt",
        "linesOfCode" : 161,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 129,
      "startLine" : 47,
      "endLine" : 52,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 20
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/ContextualPromptExecutor.kt",
        "extension" : "kt",
        "linesOfCode" : 161,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 129,
      "startLine" : 185,
      "endLine" : 190,
      "cleanedStartLine" : 114,
      "cleanedEndLine" : 119
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/appleMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 117,
      "endLine" : 122,
      "cleanedStartLine" : 97,
      "cleanedEndLine" : 102
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jsMain/kotlin/ai/koog/agents/core/agent/AIAgentService.kt",
        "extension" : "kt",
        "linesOfCode" : 89,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 79,
      "startLine" : 83,
      "endLine" : 88,
      "cleanedStartLine" : 65,
      "cleanedEndLine" : 70
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/modelfamilies/meta/BedrockMetaLlamaSerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 149,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 111,
      "startLine" : 107,
      "endLine" : 115,
      "cleanedStartLine" : 64,
      "cleanedEndLine" : 69
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/modelfamilies/meta/BedrockMetaLlamaSerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 149,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 111,
      "startLine" : 131,
      "endLine" : 139,
      "cleanedStartLine" : 80,
      "cleanedEndLine" : 85
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/feature/AIAgentPipelineTest.kt",
        "extension" : "kt",
        "linesOfCode" : 736,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 595,
      "startLine" : 481,
      "endLine" : 489,
      "cleanedStartLine" : 303,
      "cleanedEndLine" : 308
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/feature/AIAgentPipelineTest.kt",
        "extension" : "kt",
        "linesOfCode" : 736,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 595,
      "startLine" : 690,
      "endLine" : 698,
      "cleanedStartLine" : 450,
      "cleanedEndLine" : 455
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmMain/kotlin/ai/koog/agents/core/agent/AIAgentService.kt",
        "extension" : "kt",
        "linesOfCode" : 176,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 153,
      "startLine" : 252,
      "endLine" : 257,
      "cleanedStartLine" : 122,
      "cleanedEndLine" : 127
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/wasmJsMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 69,
      "endLine" : 74,
      "cleanedStartLine" : 50,
      "cleanedEndLine" : 55
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/agent/session/AIAgentLLMWriteSessionTest.kt",
        "extension" : "kt",
        "linesOfCode" : 376,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 296,
      "startLine" : 90,
      "endLine" : 95,
      "cleanedStartLine" : 46,
      "cleanedEndLine" : 51
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-processor/src/commonTest/kotlin/ai/koog/prompt/processor/Tools.kt",
        "extension" : "kt",
        "linesOfCode" : 70,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 56,
      "startLine" : 51,
      "endLine" : 56,
      "cleanedStartLine" : 36,
      "cleanedEndLine" : 41
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/feature/AIAgentPipelineTest.kt",
        "extension" : "kt",
        "linesOfCode" : 736,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 595,
      "startLine" : 420,
      "endLine" : 428,
      "cleanedStartLine" : 260,
      "cleanedEndLine" : 265
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/feature/AIAgentPipelineTest.kt",
        "extension" : "kt",
        "linesOfCode" : 736,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 595,
      "startLine" : 481,
      "endLine" : 489,
      "cleanedStartLine" : 303,
      "cleanedEndLine" : 308
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 156,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 141,
      "startLine" : 132,
      "endLine" : 137,
      "cleanedStartLine" : 81,
      "cleanedEndLine" : 86
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/wasmJsMain/kotlin/ai/koog/agents/core/agent/AIAgentService.kt",
        "extension" : "kt",
        "linesOfCode" : 89,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 79,
      "startLine" : 83,
      "endLine" : 88,
      "cleanedStartLine" : 65,
      "cleanedEndLine" : 70
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 328,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 286,
      "startLine" : 130,
      "endLine" : 135,
      "cleanedStartLine" : 65,
      "cleanedEndLine" : 70
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 328,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 286,
      "startLine" : 140,
      "endLine" : 145,
      "cleanedStartLine" : 74,
      "cleanedEndLine" : 79
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/StructuredOutputWithToolsIntegrationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 269,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 223,
      "startLine" : 111,
      "endLine" : 117,
      "cleanedStartLine" : 77,
      "cleanedEndLine" : 82
    }, {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/StructuredOutputWithToolsIntegrationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 269,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 223,
      "startLine" : 187,
      "endLine" : 193,
      "cleanedStartLine" : 133,
      "cleanedEndLine" : 138
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageLogWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 480,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 396,
      "startLine" : 67,
      "endLine" : 73,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 15
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageRemoteWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 816,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 671,
      "startLine" : 734,
      "endLine" : 740,
      "cleanedStartLine" : 520,
      "cleanedEndLine" : 525
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/langfuse/LangfuseTraceStructureTest.kt",
        "extension" : "kt",
        "linesOfCode" : 249,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 236,
      "startLine" : 54,
      "endLine" : 59,
      "cleanedStartLine" : 36,
      "cleanedEndLine" : 41
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/langfuse/LangfuseTraceStructureTest.kt",
        "extension" : "kt",
        "linesOfCode" : 249,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 236,
      "startLine" : 174,
      "endLine" : 179,
      "cleanedStartLine" : 146,
      "cleanedEndLine" : 151
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rag/vector-storage/src/commonTest/kotlin/ai/koog/rag/vector/FileDocumentEmbeddingStorageTest.kt",
        "extension" : "kt",
        "linesOfCode" : 114,
        "components" : [ "primary::rag" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 90,
      "startLine" : 23,
      "endLine" : 32,
      "cleanedStartLine" : 6,
      "cleanedEndLine" : 11
    }, {
      "file" : {
        "relativePath" : "rag/vector-storage/src/commonTest/kotlin/ai/koog/rag/vector/TextFileDocumentEmbeddingStorageTest.kt",
        "extension" : "kt",
        "linesOfCode" : 141,
        "components" : [ "primary::rag" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 112,
      "startLine" : 20,
      "endLine" : 29,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/feature/remote/client/FeatureMessageRemoteClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 388,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 293,
      "startLine" : 360,
      "endLine" : 372,
      "cleanedStartLine" : 203,
      "cleanedEndLine" : 208
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/feature/writer/FeatureMessageRemoteWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 204,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 144,
      "startLine" : 131,
      "endLine" : 147,
      "cleanedStartLine" : 65,
      "cleanedEndLine" : 70
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentGraphPipeline.kt",
        "extension" : "kt",
        "linesOfCode" : 107,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 90,
      "startLine" : 107,
      "endLine" : 112,
      "cleanedStartLine" : 32,
      "cleanedEndLine" : 37
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentGraphPipelineImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 181,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 142,
      "startLine" : 65,
      "endLine" : 70,
      "cleanedStartLine" : 24,
      "cleanedEndLine" : 29
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/dashscope/DashscopeParams.kt",
        "extension" : "kt",
        "linesOfCode" : 159,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 144,
      "startLine" : 113,
      "endLine" : 118,
      "cleanedStartLine" : 71,
      "cleanedEndLine" : 76
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-deepseek-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/deepseek/DeepSeekParams.kt",
        "extension" : "kt",
        "linesOfCode" : 143,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 104,
      "endLine" : 109,
      "cleanedStartLine" : 65,
      "cleanedEndLine" : 70
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/SubgraphWithRetryTest.kt",
        "extension" : "kt",
        "linesOfCode" : 429,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 348,
      "startLine" : 171,
      "endLine" : 178,
      "cleanedStartLine" : 106,
      "cleanedEndLine" : 111
    }, {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/SubgraphWithRetryTest.kt",
        "extension" : "kt",
        "linesOfCode" : 429,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 348,
      "startLine" : 464,
      "endLine" : 471,
      "cleanedStartLine" : 319,
      "cleanedEndLine" : 324
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/modelfamilies/ai21/JambaDataModelsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 369,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 304,
      "startLine" : 255,
      "endLine" : 260,
      "cleanedStartLine" : 176,
      "cleanedEndLine" : 181
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openrouter-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/openrouter/models/OpenRouterSerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 670,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 554,
      "startLine" : 444,
      "endLine" : 449,
      "cleanedStartLine" : 298,
      "cleanedEndLine" : 303
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/ContentPartsBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 407,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 376,
      "startLine" : 70,
      "endLine" : 75,
      "cleanedStartLine" : 50,
      "cleanedEndLine" : 55
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonTest/kotlin/ai/koog/prompt/dsl/ContentPartsBuilderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 407,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 376,
      "startLine" : 162,
      "endLine" : 167,
      "cleanedStartLine" : 136,
      "cleanedEndLine" : 141
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/agent/context/AgentTestBase.kt",
        "extension" : "kt",
        "linesOfCode" : 108,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 76,
      "startLine" : 79,
      "endLine" : 84,
      "cleanedStartLine" : 40,
      "cleanedEndLine" : 45
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/agent/session/AIAgentLLMSessionStructuredOutputTest.kt",
        "extension" : "kt",
        "linesOfCode" : 194,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 154,
      "startLine" : 180,
      "endLine" : 185,
      "cleanedStartLine" : 120,
      "cleanedEndLine" : 125
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/src/commonTest/kotlin/ai/koog/prompt/executor/clients/retry/RetryingLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 381,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 318,
      "startLine" : 126,
      "endLine" : 135,
      "cleanedStartLine" : 68,
      "cleanedEndLine" : 73
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/src/commonTest/kotlin/ai/koog/prompt/executor/clients/retry/RetryingLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 381,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 318,
      "startLine" : 217,
      "endLine" : 226,
      "cleanedStartLine" : 137,
      "cleanedEndLine" : 142
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/context/AIAgentFunctionalContextAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 135,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 110,
      "startLine" : 299,
      "endLine" : 304,
      "cleanedStartLine" : 78,
      "cleanedEndLine" : 83
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/context/AIAgentFunctionalContextImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 483,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 365,
      "startLine" : 421,
      "endLine" : 426,
      "cleanedStartLine" : 266,
      "cleanedEndLine" : 271
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-core/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 40,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 3,
      "endLine" : 11,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openrouter-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 25,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 17,
      "startLine" : 3,
      "endLine" : 11,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rag/vector-storage/src/commonTest/kotlin/ai/koog/rag/vector/FileVectorStorageTest.kt",
        "extension" : "kt",
        "linesOfCode" : 130,
        "components" : [ "primary::rag" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 105,
      "startLine" : 99,
      "endLine" : 104,
      "cleanedStartLine" : 54,
      "cleanedEndLine" : 59
    }, {
      "file" : {
        "relativePath" : "rag/vector-storage/src/jvmTest/kotlin/ai/koog/rag/vector/JVMFileVectorStorageTest.kt",
        "extension" : "kt",
        "linesOfCode" : 160,
        "components" : [ "primary::rag" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 130,
      "startLine" : 126,
      "endLine" : 131,
      "cleanedStartLine" : 74,
      "cleanedEndLine" : 79
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-test/src/commonMain/kotlin/ai/koog/agents/testing/client/CapturingLLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 68,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 50,
      "startLine" : 67,
      "endLine" : 77,
      "cleanedStartLine" : 19,
      "cleanedEndLine" : 24
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/src/commonTest/kotlin/ai/koog/prompt/executor/clients/retry/RetryingLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 381,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 318,
      "startLine" : 410,
      "endLine" : 416,
      "cleanedStartLine" : 279,
      "cleanedEndLine" : 284
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/tool/file/render/TextTest.kt",
        "extension" : "kt",
        "linesOfCode" : 760,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 714,
      "startLine" : 160,
      "endLine" : 165,
      "cleanedStartLine" : 121,
      "cleanedEndLine" : 126
    }, {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/tool/file/render/TextTest.kt",
        "extension" : "kt",
        "linesOfCode" : 760,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 714,
      "startLine" : 193,
      "endLine" : 198,
      "cleanedStartLine" : 149,
      "cleanedEndLine" : 154
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/model/events/toolExecutionEvents.kt",
        "extension" : "kt",
        "linesOfCode" : 176,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 165,
      "startLine" : 29,
      "endLine" : 34,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/model/events/toolExecutionEvents.kt",
        "extension" : "kt",
        "linesOfCode" : 176,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 165,
      "startLine" : 83,
      "endLine" : 88,
      "cleanedStartLine" : 36,
      "cleanedEndLine" : 41
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/feature/remote/client/FeatureMessageRemoteClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 388,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 293,
      "startLine" : 122,
      "endLine" : 134,
      "cleanedStartLine" : 56,
      "cleanedEndLine" : 61
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/feature/remote/client/FeatureMessageRemoteClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 388,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 293,
      "startLine" : 360,
      "endLine" : 372,
      "cleanedStartLine" : 203,
      "cleanedEndLine" : 208
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "embeddings/embeddings-llm/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 44,
        "components" : [ "primary::embeddings" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 35,
      "endLine" : 43,
      "cleanedStartLine" : 24,
      "cleanedEndLine" : 29
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-tokenizer/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 36,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 24,
      "startLine" : 28,
      "endLine" : 36,
      "cleanedStartLine" : 17,
      "cleanedEndLine" : 22
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryNodeExecuteSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 307,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 276,
      "startLine" : 47,
      "endLine" : 52,
      "cleanedStartLine" : 20,
      "cleanedEndLine" : 25
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryNodeExecuteSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 307,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 276,
      "startLine" : 112,
      "endLine" : 117,
      "cleanedStartLine" : 75,
      "cleanedEndLine" : 80
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/model/events/toolExecutionEvents.kt",
        "extension" : "kt",
        "linesOfCode" : 176,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 165,
      "startLine" : 29,
      "endLine" : 34,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/model/events/toolExecutionEvents.kt",
        "extension" : "kt",
        "linesOfCode" : 176,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 165,
      "startLine" : 144,
      "endLine" : 149,
      "cleanedStartLine" : 74,
      "cleanedEndLine" : 79
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/androidMain/kotlin/ai/koog/agents/snapshot/feature/RollbackToolRegistryBuilder.kt",
        "extension" : "kt",
        "linesOfCode" : 14,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 11,
      "startLine" : 1,
      "endLine" : 11,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmMain/kotlin/ai/koog/agents/snapshot/feature/RollbackToolRegistryBuilder.kt",
        "extension" : "kt",
        "linesOfCode" : 47,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 34,
      "startLine" : 1,
      "endLine" : 16,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/androidMain/kotlin/ai/koog/agents/core/agent/AIAgentService.kt",
        "extension" : "kt",
        "linesOfCode" : 89,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 79,
      "startLine" : 83,
      "endLine" : 88,
      "cleanedStartLine" : 65,
      "cleanedEndLine" : 70
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/wasmJsMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 88,
      "endLine" : 93,
      "cleanedStartLine" : 69,
      "cleanedEndLine" : 74
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmMain/kotlin/ai/koog/prompt/executor/clients/bedrock/BedrockLLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 542,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 401,
      "startLine" : 266,
      "endLine" : 271,
      "cleanedStartLine" : 122,
      "cleanedEndLine" : 127
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAILLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 711,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 554,
      "startLine" : 422,
      "endLine" : 427,
      "cleanedStartLine" : 245,
      "cleanedEndLine" : 250
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentGraphPipeline.kt",
        "extension" : "kt",
        "linesOfCode" : 107,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 90,
      "startLine" : 174,
      "endLine" : 179,
      "cleanedStartLine" : 59,
      "cleanedEndLine" : 64
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentGraphPipelineAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 94,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 81,
      "startLine" : 69,
      "endLine" : 74,
      "cleanedStartLine" : 40,
      "cleanedEndLine" : 45
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/TraceStructureTestBase.kt",
        "extension" : "kt",
        "linesOfCode" : 802,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 688,
      "startLine" : 287,
      "endLine" : 293,
      "cleanedStartLine" : 182,
      "cleanedEndLine" : 187
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/TraceStructureTestBase.kt",
        "extension" : "kt",
        "linesOfCode" : 802,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 688,
      "startLine" : 385,
      "endLine" : 391,
      "cleanedStartLine" : 257,
      "cleanedEndLine" : 262
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmMain/kotlin/ai/koog/prompt/executor/clients/bedrock/BedrockLLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 542,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 401,
      "startLine" : 266,
      "endLine" : 271,
      "cleanedStartLine" : 122,
      "cleanedEndLine" : 127
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAILLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 711,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 554,
      "startLine" : 360,
      "endLine" : 365,
      "cleanedStartLine" : 210,
      "cleanedEndLine" : 215
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/utils/SerializationUtilsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 478,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 413,
      "startLine" : 52,
      "endLine" : 61,
      "cleanedStartLine" : 18,
      "cleanedEndLine" : 23
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/utils/SerializationUtilsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 478,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 413,
      "startLine" : 200,
      "endLine" : 209,
      "cleanedStartLine" : 117,
      "cleanedEndLine" : 122
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/androidMain/kotlin/ai/koog/agents/core/agent/AIAgentService.kt",
        "extension" : "kt",
        "linesOfCode" : 89,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 79,
      "startLine" : 83,
      "endLine" : 88,
      "cleanedStartLine" : 65,
      "cleanedEndLine" : 70
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/wasmJsMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 117,
      "endLine" : 122,
      "cleanedStartLine" : 97,
      "cleanedEndLine" : 102
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/feature/remote/client/FeatureMessageRemoteClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 388,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 293,
      "startLine" : 105,
      "endLine" : 113,
      "cleanedStartLine" : 45,
      "cleanedEndLine" : 50
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/feature/remote/client/FeatureMessageRemoteClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 388,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 293,
      "startLine" : 467,
      "endLine" : 475,
      "cleanedStartLine" : 264,
      "cleanedEndLine" : 269
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/feature/AIAgentPipelineTest.kt",
        "extension" : "kt",
        "linesOfCode" : 736,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 595,
      "startLine" : 420,
      "endLine" : 428,
      "cleanedStartLine" : 260,
      "cleanedEndLine" : 265
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/feature/AIAgentPipelineTest.kt",
        "extension" : "kt",
        "linesOfCode" : 736,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 595,
      "startLine" : 747,
      "endLine" : 755,
      "cleanedStartLine" : 488,
      "cleanedEndLine" : 493
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/feature/AIAgentPipelineTest.kt",
        "extension" : "kt",
        "linesOfCode" : 736,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 595,
      "startLine" : 420,
      "endLine" : 428,
      "cleanedStartLine" : 260,
      "cleanedEndLine" : 265
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/feature/AIAgentPipelineTest.kt",
        "extension" : "kt",
        "linesOfCode" : 736,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 595,
      "startLine" : 690,
      "endLine" : 698,
      "cleanedStartLine" : 450,
      "cleanedEndLine" : 455
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 156,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 141,
      "startLine" : 161,
      "endLine" : 166,
      "cleanedStartLine" : 109,
      "cleanedEndLine" : 114
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 156,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 141,
      "startLine" : 187,
      "endLine" : 192,
      "cleanedStartLine" : 134,
      "cleanedEndLine" : 139
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-event-handler/src/jvmTest/kotlin/ai/koog/agents/features/eventHandler/feature/EventHandlerTest.kt",
        "extension" : "kt",
        "linesOfCode" : 637,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 548,
      "startLine" : 59,
      "endLine" : 65,
      "cleanedStartLine" : 17,
      "cleanedEndLine" : 22
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-event-handler/src/jvmTest/kotlin/ai/koog/agents/features/eventHandler/feature/EventHandlerTest.kt",
        "extension" : "kt",
        "linesOfCode" : 637,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 548,
      "startLine" : 328,
      "endLine" : 334,
      "cleanedStartLine" : 239,
      "cleanedEndLine" : 244
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-event-handler/src/jvmTest/kotlin/ai/koog/agents/features/eventHandler/feature/EventHandlerTest.kt",
        "extension" : "kt",
        "linesOfCode" : 637,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 548,
      "startLine" : 352,
      "endLine" : 357,
      "cleanedStartLine" : 262,
      "cleanedEndLine" : 267
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-event-handler/src/jvmTest/kotlin/ai/koog/agents/features/eventHandler/feature/EventHandlerTest.kt",
        "extension" : "kt",
        "linesOfCode" : 637,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 548,
      "startLine" : 360,
      "endLine" : 365,
      "cleanedStartLine" : 270,
      "cleanedEndLine" : 275
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/androidMain/kotlin/ai/koog/agents/core/agent/AIAgentService.kt",
        "extension" : "kt",
        "linesOfCode" : 89,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 79,
      "startLine" : 83,
      "endLine" : 88,
      "cleanedStartLine" : 65,
      "cleanedEndLine" : 70
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 156,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 141,
      "startLine" : 132,
      "endLine" : 137,
      "cleanedStartLine" : 81,
      "cleanedEndLine" : 86
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/dashscope/models/DashscopeChatCompletion.kt",
        "extension" : "kt",
        "linesOfCode" : 62,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 47,
      "startLine" : 41,
      "endLine" : 46,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 12
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openrouter-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openrouter/models/OpenRouterChatCompletion.kt",
        "extension" : "kt",
        "linesOfCode" : 115,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 101,
      "startLine" : 28,
      "endLine" : 33,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 12
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/agent/context/AgentTestBase.kt",
        "extension" : "kt",
        "linesOfCode" : 108,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 76,
      "startLine" : 77,
      "endLine" : 82,
      "cleanedStartLine" : 38,
      "cleanedEndLine" : 43
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/agent/context/AIAgentLLMContextConcurrencyTest.kt",
        "extension" : "kt",
        "linesOfCode" : 184,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 126,
      "startLine" : 209,
      "endLine" : 214,
      "cleanedStartLine" : 119,
      "cleanedEndLine" : 124
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client-base/src/commonTest/kotlin/ai/koog/prompt/executor/clients/openai/base/OpenAICompatibleToolDescriptorConverterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 214,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 181,
      "startLine" : 26,
      "endLine" : 34,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 21
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client-base/src/commonTest/kotlin/ai/koog/prompt/executor/clients/openai/base/OpenAICompatibleToolDescriptorConverterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 214,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 181,
      "startLine" : 114,
      "endLine" : 122,
      "cleanedStartLine" : 88,
      "cleanedEndLine" : 93
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 156,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 141,
      "startLine" : 187,
      "endLine" : 192,
      "cleanedStartLine" : 134,
      "cleanedEndLine" : 139
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/wasmJsMain/kotlin/ai/koog/agents/core/agent/AIAgentService.kt",
        "extension" : "kt",
        "linesOfCode" : 89,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 79,
      "startLine" : 83,
      "endLine" : 88,
      "cleanedStartLine" : 65,
      "cleanedEndLine" : 70
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 381,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 343,
      "startLine" : 102,
      "endLine" : 107,
      "cleanedStartLine" : 52,
      "cleanedEndLine" : 57
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonMain/kotlin/ai/koog/prompt/params/LLMParams.kt",
        "extension" : "kt",
        "linesOfCode" : 169,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 141,
      "startLine" : 170,
      "endLine" : 175,
      "cleanedStartLine" : 77,
      "cleanedEndLine" : 82
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client-base/src/commonTest/kotlin/ai/koog/prompt/executor/clients/openai/base/OpenAICompatibleToolDescriptorConverterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 214,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 181,
      "startLine" : 26,
      "endLine" : 34,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 21
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client-base/src/commonTest/kotlin/ai/koog/prompt/executor/clients/openai/base/OpenAICompatibleToolDescriptorConverterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 214,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 181,
      "startLine" : 74,
      "endLine" : 82,
      "cleanedStartLine" : 56,
      "cleanedEndLine" : 61
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/commonMain/kotlin/ai/koog/agents/features/tracing/feature/Tracing.kt",
        "extension" : "kt",
        "linesOfCode" : 335,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 266,
      "startLine" : 378,
      "endLine" : 383,
      "cleanedStartLine" : 209,
      "cleanedEndLine" : 214
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/commonMain/kotlin/ai/koog/agents/features/tracing/feature/Tracing.kt",
        "extension" : "kt",
        "linesOfCode" : 335,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 266,
      "startLine" : 422,
      "endLine" : 427,
      "cleanedStartLine" : 247,
      "cleanedEndLine" : 252
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/commonMain/kotlin/ai/koog/agents/features/tracing/feature/Tracing.kt",
        "extension" : "kt",
        "linesOfCode" : 335,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 266,
      "startLine" : 378,
      "endLine" : 383,
      "cleanedStartLine" : 209,
      "cleanedEndLine" : 214
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/commonMain/kotlin/ai/koog/agents/features/tracing/feature/Tracing.kt",
        "extension" : "kt",
        "linesOfCode" : 335,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 266,
      "startLine" : 407,
      "endLine" : 412,
      "cleanedStartLine" : 234,
      "cleanedEndLine" : 239
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/langfuse/LangfuseTraceStructureTest.kt",
        "extension" : "kt",
        "linesOfCode" : 249,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 236,
      "startLine" : 243,
      "endLine" : 248,
      "cleanedStartLine" : 210,
      "cleanedEndLine" : 215
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/weave/WeaveTraceStructureTest.kt",
        "extension" : "kt",
        "linesOfCode" : 270,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 257,
      "startLine" : 177,
      "endLine" : 182,
      "cleanedStartLine" : 151,
      "cleanedEndLine" : 156
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/feature/remote/client/FeatureMessageRemoteClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 388,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 293,
      "startLine" : 122,
      "endLine" : 134,
      "cleanedStartLine" : 56,
      "cleanedEndLine" : 61
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/feature/remote/client/FeatureMessageRemoteClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 388,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 293,
      "startLine" : 296,
      "endLine" : 312,
      "cleanedStartLine" : 167,
      "cleanedEndLine" : 172
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/commonMain/kotlin/ai/koog/agents/features/tracing/feature/Tracing.kt",
        "extension" : "kt",
        "linesOfCode" : 335,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 266,
      "startLine" : 378,
      "endLine" : 383,
      "cleanedStartLine" : 209,
      "cleanedEndLine" : 214
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/commonMain/kotlin/ai/koog/agents/features/tracing/feature/Tracing.kt",
        "extension" : "kt",
        "linesOfCode" : 335,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 266,
      "startLine" : 391,
      "endLine" : 396,
      "cleanedStartLine" : 220,
      "cleanedEndLine" : 225
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-core/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 40,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 3,
      "endLine" : 11,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    }, {
      "file" : {
        "relativePath" : "a2a/a2a-transport/a2a-transport-core-jsonrpc/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 37,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 3,
      "endLine" : 11,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/feature/AIAgentFeatureTestAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 395,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 341,
      "startLine" : 225,
      "endLine" : 230,
      "cleanedStartLine" : 153,
      "cleanedEndLine" : 158
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/feature/AIAgentFeatureTestAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 395,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 341,
      "startLine" : 248,
      "endLine" : 253,
      "cleanedStartLine" : 174,
      "cleanedEndLine" : 179
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/feature/AIAgentFeatureTestAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 395,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 341,
      "startLine" : 225,
      "endLine" : 230,
      "cleanedStartLine" : 153,
      "cleanedEndLine" : 158
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/feature/AIAgentFeatureTestAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 395,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 341,
      "startLine" : 264,
      "endLine" : 269,
      "cleanedStartLine" : 189,
      "cleanedEndLine" : 194
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jsMain/kotlin/ai/koog/agents/core/agent/AIAgentService.kt",
        "extension" : "kt",
        "linesOfCode" : 89,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 79,
      "startLine" : 66,
      "endLine" : 71,
      "cleanedStartLine" : 48,
      "cleanedEndLine" : 53
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/wasmJsMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 69,
      "endLine" : 74,
      "cleanedStartLine" : 50,
      "cleanedEndLine" : 55
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/AIAgentHelper.kt",
        "extension" : "kt",
        "linesOfCode" : 190,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 171,
      "startLine" : 153,
      "endLine" : 158,
      "cleanedStartLine" : 70,
      "cleanedEndLine" : 75
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/AIAgentServiceHelper.kt",
        "extension" : "kt",
        "linesOfCode" : 101,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 89,
      "startLine" : 93,
      "endLine" : 98,
      "cleanedStartLine" : 45,
      "cleanedEndLine" : 50
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/feature/AIAgentFeatureTestAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 395,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 341,
      "startLine" : 225,
      "endLine" : 230,
      "cleanedStartLine" : 153,
      "cleanedEndLine" : 158
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/feature/AIAgentFeatureTestAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 395,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 341,
      "startLine" : 235,
      "endLine" : 240,
      "cleanedStartLine" : 162,
      "cleanedEndLine" : 167
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/src/jvmTest/kotlin/dashscope/DashscopeLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 255,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 196,
      "startLine" : 129,
      "endLine" : 135,
      "cleanedStartLine" : 74,
      "cleanedEndLine" : 79
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/mistralai/MistralAILLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 295,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 232,
      "startLine" : 152,
      "endLine" : 158,
      "cleanedStartLine" : 95,
      "cleanedEndLine" : 100
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/ContextualPromptExecutor.kt",
        "extension" : "kt",
        "linesOfCode" : 161,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 129,
      "startLine" : 48,
      "endLine" : 53,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 21
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/ContextualPromptExecutor.kt",
        "extension" : "kt",
        "linesOfCode" : 161,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 129,
      "startLine" : 89,
      "endLine" : 94,
      "cleanedStartLine" : 39,
      "cleanedEndLine" : 44
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/google/GoogleLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 480,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 432,
      "startLine" : 38,
      "endLine" : 43,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 12
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/google/GoogleLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 480,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 432,
      "startLine" : 196,
      "endLine" : 201,
      "cleanedStartLine" : 140,
      "cleanedEndLine" : 145
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-mcp/src/commonTest/kotlin/ai/koog/agents/mcp/DefaultMcpToolDescriptorParserTest.kt",
        "extension" : "kt",
        "linesOfCode" : 726,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 614,
      "startLine" : 285,
      "endLine" : 290,
      "cleanedStartLine" : 200,
      "cleanedEndLine" : 205
    }, {
      "file" : {
        "relativePath" : "agents/agents-mcp/src/commonTest/kotlin/ai/koog/agents/mcp/DefaultMcpToolDescriptorParserTest.kt",
        "extension" : "kt",
        "linesOfCode" : 726,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 614,
      "startLine" : 796,
      "endLine" : 801,
      "cleanedStartLine" : 592,
      "cleanedEndLine" : 597
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 156,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 141,
      "startLine" : 187,
      "endLine" : 192,
      "cleanedStartLine" : 134,
      "cleanedEndLine" : 139
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/wasmJsMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 117,
      "endLine" : 122,
      "cleanedStartLine" : 97,
      "cleanedEndLine" : 102
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/AIAgentHelper.kt",
        "extension" : "kt",
        "linesOfCode" : 190,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 171,
      "startLine" : 67,
      "endLine" : 86,
      "cleanedStartLine" : 28,
      "cleanedEndLine" : 33
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/AIAgentHelper.kt",
        "extension" : "kt",
        "linesOfCode" : 190,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 171,
      "startLine" : 132,
      "endLine" : 154,
      "cleanedStartLine" : 66,
      "cleanedEndLine" : 71
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/androidMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 143,
      "endLine" : 148,
      "cleanedStartLine" : 122,
      "cleanedEndLine" : 127
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/appleMain/kotlin/ai/koog/agents/core/agent/AIAgentService.kt",
        "extension" : "kt",
        "linesOfCode" : 89,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 79,
      "startLine" : 83,
      "endLine" : 88,
      "cleanedStartLine" : 65,
      "cleanedEndLine" : 70
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/ContextualPromptExecutor.kt",
        "extension" : "kt",
        "linesOfCode" : 161,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 129,
      "startLine" : 48,
      "endLine" : 53,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 21
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/ContextualPromptExecutor.kt",
        "extension" : "kt",
        "linesOfCode" : 161,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 129,
      "startLine" : 126,
      "endLine" : 131,
      "cleanedStartLine" : 73,
      "cleanedEndLine" : 78
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/appleMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 143,
      "endLine" : 148,
      "cleanedStartLine" : 122,
      "cleanedEndLine" : 127
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/wasmJsMain/kotlin/ai/koog/agents/core/agent/AIAgentService.kt",
        "extension" : "kt",
        "linesOfCode" : 89,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 79,
      "startLine" : 83,
      "endLine" : 88,
      "cleanedStartLine" : 65,
      "cleanedEndLine" : 70
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jsMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 117,
      "endLine" : 122,
      "cleanedStartLine" : 97,
      "cleanedEndLine" : 102
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/wasmJsMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 88,
      "endLine" : 93,
      "cleanedStartLine" : 69,
      "cleanedEndLine" : 74
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/modelfamilies/amazon/BedrockAmazonNovaSerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 311,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 238,
      "startLine" : 43,
      "endLine" : 52,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 20
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/modelfamilies/amazon/BedrockAmazonNovaSerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 311,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 238,
      "startLine" : 83,
      "endLine" : 92,
      "cleanedStartLine" : 42,
      "cleanedEndLine" : 47
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 156,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 141,
      "startLine" : 187,
      "endLine" : 192,
      "cleanedStartLine" : 134,
      "cleanedEndLine" : 139
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmMain/kotlin/ai/koog/agents/core/agent/AIAgentService.kt",
        "extension" : "kt",
        "linesOfCode" : 176,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 153,
      "startLine" : 269,
      "endLine" : 274,
      "cleanedStartLine" : 139,
      "cleanedEndLine" : 144
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/handler/subgraph/SubgraphExecutionEventContext.kt",
        "extension" : "kt",
        "linesOfCode" : 41,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 25,
      "endLine" : 30,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/handler/subgraph/SubgraphExecutionEventContext.kt",
        "extension" : "kt",
        "linesOfCode" : 41,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 70,
      "endLine" : 75,
      "cleanedStartLine" : 24,
      "cleanedEndLine" : 29
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 434,
      "endLine" : 451,
      "cleanedStartLine" : 233,
      "cleanedEndLine" : 238
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 587,
      "endLine" : 604,
      "cleanedStartLine" : 325,
      "cleanedEndLine" : 330
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentGraphPipelineAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 94,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 81,
      "startLine" : 37,
      "endLine" : 42,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 18
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentGraphPipelineImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 181,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 142,
      "startLine" : 80,
      "endLine" : 85,
      "cleanedStartLine" : 37,
      "cleanedEndLine" : 42
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/feature/AIAgentPipelineTest.kt",
        "extension" : "kt",
        "linesOfCode" : 736,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 595,
      "startLine" : 420,
      "endLine" : 428,
      "cleanedStartLine" : 260,
      "cleanedEndLine" : 265
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/feature/AIAgentPipelineTest.kt",
        "extension" : "kt",
        "linesOfCode" : 736,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 595,
      "startLine" : 813,
      "endLine" : 821,
      "cleanedStartLine" : 537,
      "cleanedEndLine" : 542
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 156,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 141,
      "startLine" : 132,
      "endLine" : 137,
      "cleanedStartLine" : 81,
      "cleanedEndLine" : 86
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/wasmJsMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 117,
      "endLine" : 122,
      "cleanedStartLine" : 97,
      "cleanedEndLine" : 102
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerTestAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 281,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 212,
      "startLine" : 244,
      "endLine" : 255,
      "cleanedStartLine" : 162,
      "cleanedEndLine" : 167
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageRemoteWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 816,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 671,
      "startLine" : 607,
      "endLine" : 621,
      "cleanedStartLine" : 447,
      "cleanedEndLine" : 452
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 587,
      "endLine" : 604,
      "cleanedStartLine" : 325,
      "cleanedEndLine" : 330
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 619,
      "endLine" : 637,
      "cleanedStartLine" : 345,
      "cleanedEndLine" : 350
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/dashscope/DashscopeLLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 111,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 79,
      "startLine" : 111,
      "endLine" : 116,
      "cleanedStartLine" : 57,
      "cleanedEndLine" : 62
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openrouter-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openrouter/OpenRouterLLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 100,
      "startLine" : 140,
      "endLine" : 145,
      "cleanedStartLine" : 72,
      "cleanedEndLine" : 77
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/ext/agent/AIAgentSubgraphExt.kt",
        "extension" : "kt",
        "linesOfCode" : 376,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 310,
      "startLine" : 161,
      "endLine" : 166,
      "cleanedStartLine" : 41,
      "cleanedEndLine" : 46
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/ext/agent/AIAgentSubgraphExt.kt",
        "extension" : "kt",
        "linesOfCode" : 376,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 310,
      "startLine" : 330,
      "endLine" : 335,
      "cleanedStartLine" : 136,
      "cleanedEndLine" : 141
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerSubgraphTest.kt",
        "extension" : "kt",
        "linesOfCode" : 262,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 194,
      "startLine" : 166,
      "endLine" : 176,
      "cleanedStartLine" : 88,
      "cleanedEndLine" : 93
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageRemoteWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 816,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 671,
      "startLine" : 917,
      "endLine" : 927,
      "cleanedStartLine" : 660,
      "cleanedEndLine" : 665
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/ext/agent/AIAgentSubgraphExt.kt",
        "extension" : "kt",
        "linesOfCode" : 376,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 310,
      "startLine" : 161,
      "endLine" : 166,
      "cleanedStartLine" : 41,
      "cleanedEndLine" : 46
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/ext/agent/AIAgentSubgraphExt.kt",
        "extension" : "kt",
        "linesOfCode" : 376,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 310,
      "startLine" : 286,
      "endLine" : 291,
      "cleanedStartLine" : 112,
      "cleanedEndLine" : 117
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicLLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 524,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 393,
      "startLine" : 162,
      "endLine" : 167,
      "cleanedStartLine" : 57,
      "cleanedEndLine" : 62
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAILLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 711,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 554,
      "startLine" : 422,
      "endLine" : 427,
      "cleanedStartLine" : 245,
      "cleanedEndLine" : 250
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 434,
      "endLine" : 451,
      "cleanedStartLine" : 233,
      "cleanedEndLine" : 238
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 493,
      "endLine" : 513,
      "cleanedStartLine" : 269,
      "cleanedEndLine" : 274
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-ext/src/jvmTest/kotlin/ai/koog/agents/ext/tool/file/ListDirectoryToolJvmTest.kt",
        "extension" : "kt",
        "linesOfCode" : 331,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 288,
      "startLine" : 195,
      "endLine" : 200,
      "cleanedStartLine" : 92,
      "cleanedEndLine" : 97
    }, {
      "file" : {
        "relativePath" : "agents/agents-ext/src/jvmTest/kotlin/ai/koog/agents/ext/tool/file/ListDirectoryToolJvmTest.kt",
        "extension" : "kt",
        "linesOfCode" : 331,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 288,
      "startLine" : 310,
      "endLine" : 315,
      "cleanedStartLine" : 147,
      "cleanedEndLine" : 152
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/appleMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 88,
      "endLine" : 93,
      "cleanedStartLine" : 69,
      "cleanedEndLine" : 74
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmMain/kotlin/ai/koog/agents/core/agent/AIAgentService.kt",
        "extension" : "kt",
        "linesOfCode" : 176,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 153,
      "startLine" : 269,
      "endLine" : 274,
      "cleanedStartLine" : 139,
      "cleanedEndLine" : 144
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/model/events/toolExecutionEvents.kt",
        "extension" : "kt",
        "linesOfCode" : 176,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 165,
      "startLine" : 101,
      "endLine" : 106,
      "cleanedStartLine" : 50,
      "cleanedEndLine" : 55
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/model/events/toolExecutionEvents.kt",
        "extension" : "kt",
        "linesOfCode" : 176,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 165,
      "startLine" : 221,
      "endLine" : 226,
      "cleanedStartLine" : 124,
      "cleanedEndLine" : 129
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-llms-all/src/jvmTest/kotlin/ai/koog/prompt/executor/llms/all/MultipleLLMPromptExecutorMockTest.kt",
        "extension" : "kt",
        "linesOfCode" : 173,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 196,
      "endLine" : 202,
      "cleanedStartLine" : 121,
      "cleanedEndLine" : 126
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-llms/src/commonTest/kotlin/ai/koog/prompt/executor/llms/MultiLLMPromptExecutorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 206,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 155,
      "startLine" : 210,
      "endLine" : 215,
      "cleanedStartLine" : 130,
      "cleanedEndLine" : 135
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageFileWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 509,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 418,
      "startLine" : 212,
      "endLine" : 217,
      "cleanedStartLine" : 121,
      "cleanedEndLine" : 126
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageFileWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 509,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 418,
      "startLine" : 223,
      "endLine" : 228,
      "cleanedStartLine" : 132,
      "cleanedEndLine" : 137
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/ext/agent/AIAgentSubgraphExt.kt",
        "extension" : "kt",
        "linesOfCode" : 376,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 310,
      "startLine" : 161,
      "endLine" : 166,
      "cleanedStartLine" : 41,
      "cleanedEndLine" : 46
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/ext/agent/AIAgentSubgraphExt.kt",
        "extension" : "kt",
        "linesOfCode" : 376,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 310,
      "startLine" : 389,
      "endLine" : 394,
      "cleanedStartLine" : 167,
      "cleanedEndLine" : 172
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/google/GoogleLLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 653,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 482,
      "startLine" : 214,
      "endLine" : 219,
      "cleanedStartLine" : 91,
      "cleanedEndLine" : 96
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAILLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 711,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 554,
      "startLine" : 422,
      "endLine" : 427,
      "cleanedStartLine" : 245,
      "cleanedEndLine" : 250
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/mistralai/MistralAILLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 248,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 184,
      "startLine" : 265,
      "endLine" : 270,
      "cleanedStartLine" : 145,
      "cleanedEndLine" : 150
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAILLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 711,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 554,
      "startLine" : 360,
      "endLine" : 365,
      "cleanedStartLine" : 210,
      "cleanedEndLine" : 215
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/feature/message/FeatureMessageProcessorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 313,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 270,
      "startLine" : 313,
      "endLine" : 319,
      "cleanedStartLine" : 204,
      "cleanedEndLine" : 209
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/feature/message/FeatureMessageProcessorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 313,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 270,
      "startLine" : 354,
      "endLine" : 360,
      "cleanedStartLine" : 237,
      "cleanedEndLine" : 242
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageFileWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 509,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 418,
      "startLine" : 196,
      "endLine" : 201,
      "cleanedStartLine" : 105,
      "cleanedEndLine" : 110
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageLogWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 480,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 396,
      "startLine" : 500,
      "endLine" : 505,
      "cleanedStartLine" : 348,
      "cleanedEndLine" : 353
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "koog-spring-boot-starter/src/main/kotlin/ai/koog/spring/prompt/executor/clients/anthropic/AnthropicKoogProperties.kt",
        "extension" : "kt",
        "linesOfCode" : 18,
        "components" : [ "primary::koog-spring-boot-starter" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 12,
      "startLine" : 24,
      "endLine" : 32,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "koog-spring-boot-starter/src/main/kotlin/ai/koog/spring/prompt/executor/clients/deepseek/DeepSeekKoogProperties.kt",
        "extension" : "kt",
        "linesOfCode" : 20,
        "components" : [ "primary::koog-spring-boot-starter" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 12,
      "startLine" : 29,
      "endLine" : 38,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicLLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 524,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 393,
      "startLine" : 288,
      "endLine" : 293,
      "cleanedStartLine" : 143,
      "cleanedEndLine" : 148
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAILLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 711,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 554,
      "startLine" : 360,
      "endLine" : 365,
      "cleanedStartLine" : 210,
      "cleanedEndLine" : 215
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentGraphPipeline.kt",
        "extension" : "kt",
        "linesOfCode" : 107,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 90,
      "startLine" : 64,
      "endLine" : 69,
      "cleanedStartLine" : 14,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentGraphPipelineImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 181,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 142,
      "startLine" : 53,
      "endLine" : 58,
      "cleanedStartLine" : 14,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-core/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 40,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 3,
      "endLine" : 11,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-tokenizer/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 36,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 24,
      "startLine" : 3,
      "endLine" : 11,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageFileWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 509,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 418,
      "startLine" : 212,
      "endLine" : 217,
      "cleanedStartLine" : 121,
      "cleanedEndLine" : 126
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageFileWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 509,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 418,
      "startLine" : 236,
      "endLine" : 241,
      "cleanedStartLine" : 145,
      "cleanedEndLine" : 150
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryExecuteToolSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 184,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 154,
      "startLine" : 103,
      "endLine" : 109,
      "cleanedStartLine" : 66,
      "cleanedEndLine" : 71
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryExecuteToolSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 184,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 154,
      "startLine" : 215,
      "endLine" : 221,
      "cleanedStartLine" : 149,
      "cleanedEndLine" : 154
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/modelfamilies/ai21/BedrockAI21JambaSerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 224,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 176,
      "startLine" : 230,
      "endLine" : 236,
      "cleanedStartLine" : 142,
      "cleanedEndLine" : 147
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/modelfamilies/ai21/JambaDataModelsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 369,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 304,
      "startLine" : 336,
      "endLine" : 342,
      "cleanedStartLine" : 243,
      "cleanedEndLine" : 248
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerConfigTest.kt",
        "extension" : "kt",
        "linesOfCode" : 192,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 139,
      "startLine" : 59,
      "endLine" : 64,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 21
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerConfigTest.kt",
        "extension" : "kt",
        "linesOfCode" : 192,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 139,
      "startLine" : 177,
      "endLine" : 182,
      "cleanedStartLine" : 93,
      "cleanedEndLine" : 98
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-core/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 40,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 3,
      "endLine" : 11,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-cache/prompt-cache-redis/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 35,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 3,
      "endLine" : 11,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicLLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 524,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 393,
      "startLine" : 162,
      "endLine" : 167,
      "cleanedStartLine" : 57,
      "cleanedEndLine" : 62
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAILLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 711,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 554,
      "startLine" : 360,
      "endLine" : 365,
      "cleanedStartLine" : 210,
      "cleanedEndLine" : 215
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-event-handler/src/androidMain/kotlin/ai/koog/agents/features/eventHandler/feature/EventHandlerConfig.kt",
        "extension" : "kt",
        "linesOfCode" : 7,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 6,
      "startLine" : 1,
      "endLine" : 10,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-event-handler/src/jsMain/kotlin/ai/koog/agents/features/eventHandler/feature/EventHandlerConfig.kt",
        "extension" : "kt",
        "linesOfCode" : 7,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 6,
      "startLine" : 1,
      "endLine" : 10,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/model/events/toolExecutionEvents.kt",
        "extension" : "kt",
        "linesOfCode" : 176,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 165,
      "startLine" : 44,
      "endLine" : 49,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 20
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/model/events/toolExecutionEvents.kt",
        "extension" : "kt",
        "linesOfCode" : 176,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 165,
      "startLine" : 221,
      "endLine" : 226,
      "cleanedStartLine" : 124,
      "cleanedEndLine" : 129
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/openai/models/OpenAIResponsesAPIRequestSerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 233,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 194,
      "startLine" : 23,
      "endLine" : 28,
      "cleanedStartLine" : 6,
      "cleanedEndLine" : 11
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/openai/models/OpenAIResponsesAPIRequestSerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 233,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 194,
      "startLine" : 54,
      "endLine" : 59,
      "cleanedStartLine" : 31,
      "cleanedEndLine" : 36
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/androidMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 143,
      "endLine" : 148,
      "cleanedStartLine" : 122,
      "cleanedEndLine" : 127
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/androidMain/kotlin/ai/koog/agents/core/agent/AIAgentService.kt",
        "extension" : "kt",
        "linesOfCode" : 89,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 79,
      "startLine" : 83,
      "endLine" : 88,
      "cleanedStartLine" : 65,
      "cleanedEndLine" : 70
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-core/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 40,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 3,
      "endLine" : 11,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    }, {
      "file" : {
        "relativePath" : "agents/agents-tools/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 38,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 3,
      "endLine" : 11,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicModels.kt",
        "extension" : "kt",
        "linesOfCode" : 195,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 178,
      "startLine" : 224,
      "endLine" : 229,
      "cleanedStartLine" : 110,
      "cleanedEndLine" : 115
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicModels.kt",
        "extension" : "kt",
        "linesOfCode" : 195,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 178,
      "startLine" : 275,
      "endLine" : 280,
      "cleanedStartLine" : 140,
      "cleanedEndLine" : 145
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerTest.kt",
        "extension" : "kt",
        "linesOfCode" : 521,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 437,
      "startLine" : 320,
      "endLine" : 325,
      "cleanedStartLine" : 204,
      "cleanedEndLine" : 209
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerTestAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 281,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 212,
      "startLine" : 216,
      "endLine" : 221,
      "cleanedStartLine" : 134,
      "cleanedEndLine" : 139
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/feature/remote/client/FeatureMessageRemoteClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 388,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 293,
      "startLine" : 266,
      "endLine" : 273,
      "cleanedStartLine" : 147,
      "cleanedEndLine" : 152
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/feature/writer/FeatureMessageRemoteWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 204,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 144,
      "startLine" : 101,
      "endLine" : 108,
      "cleanedStartLine" : 45,
      "cleanedEndLine" : 50
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 51,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 41,
      "endLine" : 53,
      "cleanedStartLine" : 30,
      "cleanedEndLine" : 35
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 31,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 23,
      "endLine" : 35,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 20
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerTest.kt",
        "extension" : "kt",
        "linesOfCode" : 521,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 437,
      "startLine" : 320,
      "endLine" : 325,
      "cleanedStartLine" : 204,
      "cleanedEndLine" : 209
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerTestAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 281,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 212,
      "startLine" : 187,
      "endLine" : 192,
      "cleanedStartLine" : 105,
      "cleanedEndLine" : 110
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerTest.kt",
        "extension" : "kt",
        "linesOfCode" : 521,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 437,
      "startLine" : 308,
      "endLine" : 313,
      "cleanedStartLine" : 192,
      "cleanedEndLine" : 197
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerTest.kt",
        "extension" : "kt",
        "linesOfCode" : 521,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 437,
      "startLine" : 320,
      "endLine" : 325,
      "cleanedStartLine" : 204,
      "cleanedEndLine" : 209
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-server/src/commonTest/kotlin/ai/koog/a2a/server/messages/InMemoryMessageStorageTest.kt",
        "extension" : "kt",
        "linesOfCode" : 79,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 61,
      "startLine" : 93,
      "endLine" : 98,
      "cleanedStartLine" : 56,
      "cleanedEndLine" : 61
    }, {
      "file" : {
        "relativePath" : "a2a/a2a-server/src/commonTest/kotlin/ai/koog/a2a/server/tasks/InMemoryTaskStorageTest.kt",
        "extension" : "kt",
        "linesOfCode" : 279,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 239,
      "startLine" : 329,
      "endLine" : 334,
      "cleanedStartLine" : 219,
      "cleanedEndLine" : 224
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-structure/src/commonTest/kotlin/ai/koog/prompt/structure/json/generator/JsonSchemaGeneratorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 819,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 713,
      "startLine" : 511,
      "endLine" : 516,
      "cleanedStartLine" : 412,
      "cleanedEndLine" : 417
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-structure/src/commonTest/kotlin/ai/koog/prompt/structure/json/generator/JsonSchemaGeneratorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 819,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 713,
      "startLine" : 596,
      "endLine" : 601,
      "cleanedStartLine" : 485,
      "cleanedEndLine" : 490
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicModels.kt",
        "extension" : "kt",
        "linesOfCode" : 195,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 178,
      "startLine" : 224,
      "endLine" : 229,
      "cleanedStartLine" : 110,
      "cleanedEndLine" : 115
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicModels.kt",
        "extension" : "kt",
        "linesOfCode" : 195,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 178,
      "startLine" : 300,
      "endLine" : 305,
      "cleanedStartLine" : 155,
      "cleanedEndLine" : 160
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-core/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 40,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 3,
      "endLine" : 11,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 46,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 34,
      "startLine" : 3,
      "endLine" : 11,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/SubgraphWithRetryTest.kt",
        "extension" : "kt",
        "linesOfCode" : 429,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 348,
      "startLine" : 401,
      "endLine" : 406,
      "cleanedStartLine" : 272,
      "cleanedEndLine" : 277
    }, {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/SubgraphWithRetryTest.kt",
        "extension" : "kt",
        "linesOfCode" : 429,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 348,
      "startLine" : 474,
      "endLine" : 479,
      "cleanedStartLine" : 326,
      "cleanedEndLine" : 331
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/tool/file/EditFileToolCoreTest.kt",
        "extension" : "kt",
        "linesOfCode" : 235,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 214,
      "startLine" : 187,
      "endLine" : 194,
      "cleanedStartLine" : 133,
      "cleanedEndLine" : 138
    }, {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/tool/file/EditFileToolDifferentFileTypesTest.kt",
        "extension" : "kt",
        "linesOfCode" : 71,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 60,
      "startLine" : 34,
      "endLine" : 41,
      "cleanedStartLine" : 21,
      "cleanedEndLine" : 26
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerTestAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 281,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 212,
      "startLine" : 199,
      "endLine" : 204,
      "cleanedStartLine" : 117,
      "cleanedEndLine" : 122
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageRemoteWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 816,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 671,
      "startLine" : 415,
      "endLine" : 420,
      "cleanedStartLine" : 256,
      "cleanedEndLine" : 261
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-mcp/src/commonTest/kotlin/ai/koog/agents/mcp/DefaultMcpToolDescriptorParserTest.kt",
        "extension" : "kt",
        "linesOfCode" : 726,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 614,
      "startLine" : 568,
      "endLine" : 577,
      "cleanedStartLine" : 404,
      "cleanedEndLine" : 409
    }, {
      "file" : {
        "relativePath" : "agents/agents-mcp/src/commonTest/kotlin/ai/koog/agents/mcp/DefaultMcpToolDescriptorParserTest.kt",
        "extension" : "kt",
        "linesOfCode" : 726,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 614,
      "startLine" : 611,
      "endLine" : 620,
      "cleanedStartLine" : 436,
      "cleanedEndLine" : 441
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/CalculatorPromptExecutor.kt",
        "extension" : "kt",
        "linesOfCode" : 72,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 44,
      "startLine" : 56,
      "endLine" : 61,
      "cleanedStartLine" : 26,
      "cleanedEndLine" : 31
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-cached/src/commonMain/kotlin/ai/koog/prompt/executor/cached/CachedPromptExecutor.kt",
        "extension" : "kt",
        "linesOfCode" : 55,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 34,
      "startLine" : 38,
      "endLine" : 43,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 18
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-core/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 40,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 3,
      "endLine" : 11,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    }, {
      "file" : {
        "relativePath" : "agents/agents-utils/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 28,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 3,
      "endLine" : 11,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/google/GoogleLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 480,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 432,
      "startLine" : 38,
      "endLine" : 43,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 12
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/google/GoogleLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 480,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 432,
      "startLine" : 136,
      "endLine" : 141,
      "cleanedStartLine" : 92,
      "cleanedEndLine" : 97
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/weave/WeaveTraceStructureTest.kt",
        "extension" : "kt",
        "linesOfCode" : 270,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 257,
      "startLine" : 114,
      "endLine" : 119,
      "cleanedStartLine" : 94,
      "cleanedEndLine" : 99
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/weave/WeaveTraceStructureTest.kt",
        "extension" : "kt",
        "linesOfCode" : 270,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 257,
      "startLine" : 177,
      "endLine" : 182,
      "cleanedStartLine" : 151,
      "cleanedEndLine" : 156
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client-base/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/base/models/OpenAIDataModels.kt",
        "extension" : "kt",
        "linesOfCode" : 421,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 361,
      "startLine" : 486,
      "endLine" : 501,
      "cleanedStartLine" : 160,
      "cleanedEndLine" : 165
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/models/OpenAIResponsesAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 1134,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1035,
      "startLine" : 1043,
      "endLine" : 1050,
      "cleanedStartLine" : 383,
      "cleanedEndLine" : 388
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-mcp/src/commonTest/kotlin/ai/koog/agents/mcp/DefaultMcpToolDescriptorParserTest.kt",
        "extension" : "kt",
        "linesOfCode" : 726,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 614,
      "startLine" : 568,
      "endLine" : 577,
      "cleanedStartLine" : 404,
      "cleanedEndLine" : 409
    }, {
      "file" : {
        "relativePath" : "agents/agents-mcp/src/commonTest/kotlin/ai/koog/agents/mcp/DefaultMcpToolDescriptorParserTest.kt",
        "extension" : "kt",
        "linesOfCode" : 726,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 614,
      "startLine" : 712,
      "endLine" : 721,
      "cleanedStartLine" : 512,
      "cleanedEndLine" : 517
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/AIAgentHelper.kt",
        "extension" : "kt",
        "linesOfCode" : 190,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 171,
      "startLine" : 49,
      "endLine" : 54,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 15
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/AIAgentServiceHelper.kt",
        "extension" : "kt",
        "linesOfCode" : 101,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 89,
      "startLine" : 69,
      "endLine" : 74,
      "cleanedStartLine" : 29,
      "cleanedEndLine" : 34
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/context/AIAgentLLMContext.kt",
        "extension" : "kt",
        "linesOfCode" : 86,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 72,
      "startLine" : 135,
      "endLine" : 140,
      "cleanedStartLine" : 51,
      "cleanedEndLine" : 56
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/context/AIAgentLLMContextImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 105,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 85,
      "startLine" : 98,
      "endLine" : 103,
      "cleanedStartLine" : 67,
      "cleanedEndLine" : 72
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-transport/a2a-transport-server-jsonrpc-http/src/jvmTest/kotlin/ai/koog/a2a/transport/server/jsonrpc/http/HttpJSONRPCServerTransportTest.kt",
        "extension" : "kt",
        "linesOfCode" : 547,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 452,
      "startLine" : 256,
      "endLine" : 264,
      "cleanedStartLine" : 169,
      "cleanedEndLine" : 174
    }, {
      "file" : {
        "relativePath" : "a2a/a2a-transport/a2a-transport-server-jsonrpc-http/src/jvmTest/kotlin/ai/koog/a2a/transport/server/jsonrpc/http/HttpJSONRPCServerTransportTest.kt",
        "extension" : "kt",
        "linesOfCode" : 547,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 452,
      "startLine" : 603,
      "endLine" : 611,
      "cleanedStartLine" : 430,
      "cleanedEndLine" : 435
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 328,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 286,
      "startLine" : 205,
      "endLine" : 210,
      "cleanedStartLine" : 130,
      "cleanedEndLine" : 135
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 846,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 674,
      "startLine" : 294,
      "endLine" : 299,
      "cleanedStartLine" : 146,
      "cleanedEndLine" : 151
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rag/rag-base/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 32,
        "components" : [ "primary::rag" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 21,
      "endLine" : 29,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 18
    }, {
      "file" : {
        "relativePath" : "utils/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 31,
        "components" : [ "primary::utils" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 22,
      "endLine" : 30,
      "cleanedStartLine" : 14,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/androidMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 143,
      "endLine" : 148,
      "cleanedStartLine" : 122,
      "cleanedEndLine" : 127
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/wasmJsMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 117,
      "endLine" : 122,
      "cleanedStartLine" : 97,
      "cleanedEndLine" : 102
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/mistralai/MistralAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 132,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 123,
      "startLine" : 66,
      "endLine" : 71,
      "cleanedStartLine" : 25,
      "cleanedEndLine" : 30
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/mistralai/MistralAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 132,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 123,
      "startLine" : 168,
      "endLine" : 173,
      "cleanedStartLine" : 85,
      "cleanedEndLine" : 90
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/androidMain/kotlin/ai/koog/agents/core/agent/AIAgentService.kt",
        "extension" : "kt",
        "linesOfCode" : 89,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 79,
      "startLine" : 83,
      "endLine" : 88,
      "cleanedStartLine" : 65,
      "cleanedEndLine" : 70
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/appleMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 88,
      "endLine" : 93,
      "cleanedStartLine" : 69,
      "cleanedEndLine" : 74
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipeline.kt",
        "extension" : "kt",
        "linesOfCode" : 448,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 394,
      "startLine" : 481,
      "endLine" : 486,
      "cleanedStartLine" : 162,
      "cleanedEndLine" : 167
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 846,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 674,
      "startLine" : 294,
      "endLine" : 299,
      "cleanedStartLine" : 146,
      "cleanedEndLine" : 151
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/agent/config/MissingToolsConversionStrategyTest.kt",
        "extension" : "kt",
        "linesOfCode" : 202,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 171,
      "startLine" : 96,
      "endLine" : 101,
      "cleanedStartLine" : 64,
      "cleanedEndLine" : 69
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/agent/config/MissingToolsConversionStrategyTest.kt",
        "extension" : "kt",
        "linesOfCode" : 202,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 171,
      "startLine" : 185,
      "endLine" : 190,
      "cleanedStartLine" : 127,
      "cleanedEndLine" : 132
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/google/GoogleLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 480,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 432,
      "startLine" : 38,
      "endLine" : 43,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 12
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/google/GoogleLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 480,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 432,
      "startLine" : 82,
      "endLine" : 87,
      "cleanedStartLine" : 45,
      "cleanedEndLine" : 50
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerTest.kt",
        "extension" : "kt",
        "linesOfCode" : 521,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 437,
      "startLine" : 456,
      "endLine" : 461,
      "cleanedStartLine" : 340,
      "cleanedEndLine" : 345
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageRemoteWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 816,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 671,
      "startLine" : 531,
      "endLine" : 536,
      "cleanedStartLine" : 371,
      "cleanedEndLine" : 376
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 48,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 21,
      "endLine" : 26,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 21
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 46,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 34,
      "startLine" : 22,
      "endLine" : 27,
      "cleanedStartLine" : 17,
      "cleanedEndLine" : 22
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/PersistencyRunsTwiceTest.kt",
        "extension" : "kt",
        "linesOfCode" : 103,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 74,
      "startLine" : 49,
      "endLine" : 57,
      "cleanedStartLine" : 22,
      "cleanedEndLine" : 27
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/PersistencyRunsTwiceTest.kt",
        "extension" : "kt",
        "linesOfCode" : 103,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 74,
      "startLine" : 110,
      "endLine" : 116,
      "cleanedStartLine" : 58,
      "cleanedEndLine" : 63
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 328,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 286,
      "startLine" : 235,
      "endLine" : 240,
      "cleanedStartLine" : 157,
      "cleanedEndLine" : 162
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 846,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 674,
      "startLine" : 294,
      "endLine" : 299,
      "cleanedStartLine" : 146,
      "cleanedEndLine" : 151
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/agent/config/MissingToolsConversionStrategyTest.kt",
        "extension" : "kt",
        "linesOfCode" : 202,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 171,
      "startLine" : 96,
      "endLine" : 101,
      "cleanedStartLine" : 64,
      "cleanedEndLine" : 69
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/agent/config/MissingToolsConversionStrategyTest.kt",
        "extension" : "kt",
        "linesOfCode" : 202,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 171,
      "startLine" : 161,
      "endLine" : 166,
      "cleanedStartLine" : 110,
      "cleanedEndLine" : 115
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/mistralai/MistralAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 132,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 123,
      "startLine" : 66,
      "endLine" : 71,
      "cleanedStartLine" : 25,
      "cleanedEndLine" : 30
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/mistralai/MistralAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 132,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 123,
      "startLine" : 91,
      "endLine" : 96,
      "cleanedStartLine" : 40,
      "cleanedEndLine" : 45
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryInferenceSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 556,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 517,
      "startLine" : 61,
      "endLine" : 67,
      "cleanedStartLine" : 24,
      "cleanedEndLine" : 29
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryInferenceSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 556,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 517,
      "startLine" : 447,
      "endLine" : 453,
      "cleanedStartLine" : 364,
      "cleanedEndLine" : 369
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-deepseek-client/src/jvmTest/kotlin/deepseek/DeepSeekLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 247,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 191,
      "startLine" : 136,
      "endLine" : 141,
      "cleanedStartLine" : 81,
      "cleanedEndLine" : 86
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/mistralai/MistralAILLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 295,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 232,
      "startLine" : 161,
      "endLine" : 166,
      "cleanedStartLine" : 102,
      "cleanedEndLine" : 107
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/feature/AIAgentPipelineTest.kt",
        "extension" : "kt",
        "linesOfCode" : 736,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 595,
      "startLine" : 67,
      "endLine" : 74,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 15
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/feature/AIAgentPipelineTest.kt",
        "extension" : "kt",
        "linesOfCode" : 736,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 595,
      "startLine" : 119,
      "endLine" : 126,
      "cleanedStartLine" : 48,
      "cleanedEndLine" : 53
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/androidMain/kotlin/ai/koog/agents/core/agent/AIAgentService.kt",
        "extension" : "kt",
        "linesOfCode" : 89,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 79,
      "startLine" : 83,
      "endLine" : 88,
      "cleanedStartLine" : 65,
      "cleanedEndLine" : 70
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/appleMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 117,
      "endLine" : 122,
      "cleanedStartLine" : 97,
      "cleanedEndLine" : 102
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 261,
      "endLine" : 266,
      "cleanedStartLine" : 124,
      "cleanedEndLine" : 129
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 329,
      "endLine" : 334,
      "cleanedStartLine" : 164,
      "cleanedEndLine" : 169
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/session/AIAgentLLMReadSession.kt",
        "extension" : "kt",
        "linesOfCode" : 78,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 60,
      "startLine" : 37,
      "endLine" : 42,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jsMain/kotlin/ai/koog/agents/core/agent/session/AIAgentLLMReadSession.kt",
        "extension" : "kt",
        "linesOfCode" : 16,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 10,
      "startLine" : 13,
      "endLine" : 18,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/androidMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 69,
      "endLine" : 74,
      "cleanedStartLine" : 50,
      "cleanedEndLine" : 55
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/androidMain/kotlin/ai/koog/agents/core/agent/AIAgentService.kt",
        "extension" : "kt",
        "linesOfCode" : 89,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 79,
      "startLine" : 66,
      "endLine" : 71,
      "cleanedStartLine" : 48,
      "cleanedEndLine" : 53
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client-base/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/base/AbstractOpenAILLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 412,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 304,
      "startLine" : 178,
      "endLine" : 183,
      "cleanedStartLine" : 60,
      "cleanedEndLine" : 65
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-llms/src/commonMain/kotlin/ai/koog/prompt/executor/llms/MultiLLMPromptExecutor.kt",
        "extension" : "kt",
        "linesOfCode" : 110,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 80,
      "startLine" : 162,
      "endLine" : 167,
      "cleanedStartLine" : 44,
      "cleanedEndLine" : 49
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/androidMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 143,
      "endLine" : 148,
      "cleanedStartLine" : 122,
      "cleanedEndLine" : 127
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/wasmJsMain/kotlin/ai/koog/agents/core/agent/AIAgentService.kt",
        "extension" : "kt",
        "linesOfCode" : 89,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 79,
      "startLine" : 83,
      "endLine" : 88,
      "cleanedStartLine" : 65,
      "cleanedEndLine" : 70
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rag/vector-storage/src/jvmTest/kotlin/ai/koog/rag/vector/JVMFileDocumentEmbeddingStorageTest.kt",
        "extension" : "kt",
        "linesOfCode" : 184,
        "components" : [ "primary::rag" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 148,
      "startLine" : 23,
      "endLine" : 32,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 12
    }, {
      "file" : {
        "relativePath" : "rag/vector-storage/src/jvmTest/kotlin/ai/koog/rag/vector/JVMTextFileDocumentEmbeddingStorageTest.kt",
        "extension" : "kt",
        "linesOfCode" : 234,
        "components" : [ "primary::rag" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 193,
      "startLine" : 18,
      "endLine" : 27,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/AIAgentService.kt",
        "extension" : "kt",
        "linesOfCode" : 228,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 197,
      "startLine" : 429,
      "endLine" : 434,
      "cleanedStartLine" : 122,
      "cleanedEndLine" : 127
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/AIAgentService.kt",
        "extension" : "kt",
        "linesOfCode" : 228,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 197,
      "startLine" : 479,
      "endLine" : 484,
      "cleanedStartLine" : 149,
      "cleanedEndLine" : 154
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerSubgraphTest.kt",
        "extension" : "kt",
        "linesOfCode" : 262,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 194,
      "startLine" : 312,
      "endLine" : 320,
      "cleanedStartLine" : 186,
      "cleanedEndLine" : 191
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerTestAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 281,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 212,
      "startLine" : 242,
      "endLine" : 250,
      "cleanedStartLine" : 160,
      "cleanedEndLine" : 165
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-transport/a2a-transport-server-jsonrpc-http/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 41,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 26,
      "endLine" : 34,
      "cleanedStartLine" : 18,
      "cleanedEndLine" : 23
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-markdown/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 27,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 17,
      "startLine" : 18,
      "endLine" : 26,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 15
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentGraphPipelineAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 94,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 81,
      "startLine" : 48,
      "endLine" : 53,
      "cleanedStartLine" : 23,
      "cleanedEndLine" : 28
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentGraphPipelineImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 181,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 142,
      "startLine" : 65,
      "endLine" : 70,
      "cleanedStartLine" : 24,
      "cleanedEndLine" : 29
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/debugger/Debugger.kt",
        "extension" : "kt",
        "linesOfCode" : 399,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 318,
      "startLine" : 344,
      "endLine" : 349,
      "cleanedStartLine" : 189,
      "cleanedEndLine" : 194
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/commonMain/kotlin/ai/koog/agents/features/tracing/feature/Tracing.kt",
        "extension" : "kt",
        "linesOfCode" : 335,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 266,
      "startLine" : 378,
      "endLine" : 383,
      "cleanedStartLine" : 209,
      "cleanedEndLine" : 214
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/context/AIAgentLLMContext.kt",
        "extension" : "kt",
        "linesOfCode" : 86,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 72,
      "startLine" : 54,
      "endLine" : 59,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 15
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/context/AIAgentLLMContextImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 105,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 85,
      "startLine" : 98,
      "endLine" : 103,
      "cleanedStartLine" : 67,
      "cleanedEndLine" : 72
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/mistralai/MistralAILLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 248,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 184,
      "startLine" : 265,
      "endLine" : 270,
      "cleanedStartLine" : 145,
      "cleanedEndLine" : 150
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAILLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 711,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 554,
      "startLine" : 422,
      "endLine" : 427,
      "cleanedStartLine" : 245,
      "cleanedEndLine" : 250
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerTestAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 281,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 212,
      "startLine" : 228,
      "endLine" : 233,
      "cleanedStartLine" : 146,
      "cleanedEndLine" : 151
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageRemoteWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 816,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 671,
      "startLine" : 591,
      "endLine" : 596,
      "cleanedStartLine" : 431,
      "cleanedEndLine" : 436
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 466,
      "endLine" : 482,
      "cleanedStartLine" : 253,
      "cleanedEndLine" : 258
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 493,
      "endLine" : 513,
      "cleanedStartLine" : 269,
      "cleanedEndLine" : 274
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/feature/remote/client/FeatureMessageRemoteClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 388,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 293,
      "startLine" : 158,
      "endLine" : 165,
      "cleanedStartLine" : 77,
      "cleanedEndLine" : 82
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/feature/writer/FeatureMessageRemoteWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 204,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 144,
      "startLine" : 101,
      "endLine" : 108,
      "cleanedStartLine" : 45,
      "cleanedEndLine" : 50
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-core/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 40,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 3,
      "endLine" : 11,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-deepseek-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 29,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 19,
      "startLine" : 3,
      "endLine" : 11,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-memory/src/commonMain/kotlin/ai/koog/agents/memory/providers/LocalFileMemoryProvider.kt",
        "extension" : "kt",
        "linesOfCode" : 80,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 56,
      "startLine" : 136,
      "endLine" : 142,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 20
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-memory/src/jvmTest/kotlin/ai/koog/agents/memory/providers/LocalFileMemoryProviderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 161,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 133,
      "startLine" : 194,
      "endLine" : 200,
      "cleanedStartLine" : 128,
      "cleanedEndLine" : 133
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/SubgraphWithTaskTest.kt",
        "extension" : "kt",
        "linesOfCode" : 603,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 509,
      "startLine" : 173,
      "endLine" : 179,
      "cleanedStartLine" : 98,
      "cleanedEndLine" : 103
    }, {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/SubgraphWithTaskTest.kt",
        "extension" : "kt",
        "linesOfCode" : 603,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 509,
      "startLine" : 457,
      "endLine" : 463,
      "cleanedStartLine" : 294,
      "cleanedEndLine" : 299
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-mcp/src/commonTest/kotlin/ai/koog/agents/mcp/DefaultMcpToolDescriptorParserTest.kt",
        "extension" : "kt",
        "linesOfCode" : 726,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 614,
      "startLine" : 202,
      "endLine" : 211,
      "cleanedStartLine" : 126,
      "cleanedEndLine" : 131
    }, {
      "file" : {
        "relativePath" : "agents/agents-mcp/src/commonTest/kotlin/ai/koog/agents/mcp/DefaultMcpToolDescriptorParserTest.kt",
        "extension" : "kt",
        "linesOfCode" : 726,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 614,
      "startLine" : 568,
      "endLine" : 577,
      "cleanedStartLine" : 404,
      "cleanedEndLine" : 409
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/feature/remote/client/FeatureMessageRemoteClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 388,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 293,
      "startLine" : 398,
      "endLine" : 406,
      "cleanedStartLine" : 225,
      "cleanedEndLine" : 230
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/feature/writer/FeatureMessageRemoteWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 204,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 144,
      "startLine" : 235,
      "endLine" : 243,
      "cleanedStartLine" : 126,
      "cleanedEndLine" : 131
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 466,
      "endLine" : 482,
      "cleanedStartLine" : 253,
      "cleanedEndLine" : 258
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 587,
      "endLine" : 604,
      "cleanedStartLine" : 325,
      "cleanedEndLine" : 330
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "http-client/http-client-java/src/main/kotlin/ai/koog/http/client/java/JavaKoogHttpClient.kt",
        "extension" : "kt",
        "linesOfCode" : 182,
        "components" : [ "primary::http-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 144,
      "startLine" : 174,
      "endLine" : 179,
      "cleanedStartLine" : 104,
      "cleanedEndLine" : 109
    }, {
      "file" : {
        "relativePath" : "http-client/http-client-java/src/main/kotlin/ai/koog/http/client/java/JavaKoogHttpClient.kt",
        "extension" : "kt",
        "linesOfCode" : 182,
        "components" : [ "primary::http-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 144,
      "startLine" : 189,
      "endLine" : 194,
      "cleanedStartLine" : 116,
      "cleanedEndLine" : 121
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-transport/a2a-transport-server-jsonrpc-http/src/jvmTest/kotlin/ai/koog/a2a/transport/server/jsonrpc/http/HttpJSONRPCServerTransportTest.kt",
        "extension" : "kt",
        "linesOfCode" : 547,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 452,
      "startLine" : 461,
      "endLine" : 467,
      "cleanedStartLine" : 321,
      "cleanedEndLine" : 326
    }, {
      "file" : {
        "relativePath" : "a2a/a2a-transport/a2a-transport-server-jsonrpc-http/src/jvmTest/kotlin/ai/koog/a2a/transport/server/jsonrpc/http/HttpJSONRPCServerTransportTest.kt",
        "extension" : "kt",
        "linesOfCode" : 547,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 452,
      "startLine" : 541,
      "endLine" : 547,
      "cleanedStartLine" : 383,
      "cleanedEndLine" : 388
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/feature/message/FeatureMessageProcessorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 313,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 270,
      "startLine" : 301,
      "endLine" : 310,
      "cleanedStartLine" : 196,
      "cleanedEndLine" : 201
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/feature/message/FeatureMessageProcessorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 313,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 270,
      "startLine" : 342,
      "endLine" : 351,
      "cleanedStartLine" : 229,
      "cleanedEndLine" : 234
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentGraphPipeline.kt",
        "extension" : "kt",
        "linesOfCode" : 107,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 90,
      "startLine" : 107,
      "endLine" : 112,
      "cleanedStartLine" : 32,
      "cleanedEndLine" : 37
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentGraphPipelineAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 94,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 81,
      "startLine" : 37,
      "endLine" : 42,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 18
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/wasmJsMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 88,
      "endLine" : 93,
      "cleanedStartLine" : 69,
      "cleanedEndLine" : 74
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/wasmJsMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 117,
      "endLine" : 122,
      "cleanedStartLine" : 97,
      "cleanedEndLine" : 102
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-mcp/src/commonTest/kotlin/ai/koog/agents/mcp/DefaultMcpToolDescriptorParserTest.kt",
        "extension" : "kt",
        "linesOfCode" : 726,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 614,
      "startLine" : 202,
      "endLine" : 211,
      "cleanedStartLine" : 126,
      "cleanedEndLine" : 131
    }, {
      "file" : {
        "relativePath" : "agents/agents-mcp/src/commonTest/kotlin/ai/koog/agents/mcp/DefaultMcpToolDescriptorParserTest.kt",
        "extension" : "kt",
        "linesOfCode" : 726,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 614,
      "startLine" : 611,
      "endLine" : 620,
      "cleanedStartLine" : 436,
      "cleanedEndLine" : 441
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-event-handler/src/jvmTest/kotlin/ai/koog/agents/features/eventHandler/feature/EventHandlerTest.kt",
        "extension" : "kt",
        "linesOfCode" : 637,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 548,
      "startLine" : 102,
      "endLine" : 107,
      "cleanedStartLine" : 50,
      "cleanedEndLine" : 55
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-event-handler/src/jvmTest/kotlin/ai/koog/agents/features/eventHandler/feature/EventHandlerTest.kt",
        "extension" : "kt",
        "linesOfCode" : 637,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 548,
      "startLine" : 312,
      "endLine" : 317,
      "cleanedStartLine" : 226,
      "cleanedEndLine" : 231
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jsMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 117,
      "endLine" : 122,
      "cleanedStartLine" : 97,
      "cleanedEndLine" : 102
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jsMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 143,
      "endLine" : 148,
      "cleanedStartLine" : 122,
      "cleanedEndLine" : 127
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/SubgraphWithTaskTest.kt",
        "extension" : "kt",
        "linesOfCode" : 603,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 509,
      "startLine" : 393,
      "endLine" : 399,
      "cleanedStartLine" : 248,
      "cleanedEndLine" : 253
    }, {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/SubgraphWithTaskTest.kt",
        "extension" : "kt",
        "linesOfCode" : 603,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 509,
      "startLine" : 674,
      "endLine" : 680,
      "cleanedStartLine" : 448,
      "cleanedEndLine" : 453
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/appleMain/kotlin/ai/koog/agents/core/agent/session/AIAgentLLMReadSession.kt",
        "extension" : "kt",
        "linesOfCode" : 16,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 10,
      "startLine" : 13,
      "endLine" : 18,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/session/AIAgentLLMReadSession.kt",
        "extension" : "kt",
        "linesOfCode" : 78,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 60,
      "startLine" : 37,
      "endLine" : 42,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/appleMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipeline.kt",
        "extension" : "kt",
        "linesOfCode" : 8,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 6,
      "startLine" : 1,
      "endLine" : 11,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jsMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipeline.kt",
        "extension" : "kt",
        "linesOfCode" : 8,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 6,
      "startLine" : 1,
      "endLine" : 11,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "embeddings/embeddings-llm/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 44,
        "components" : [ "primary::embeddings" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 41,
      "endLine" : 52,
      "cleanedStartLine" : 27,
      "cleanedEndLine" : 32
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-cache/prompt-cache-model/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 26,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 21,
      "endLine" : 32,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 18
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/debugger/Debugger.kt",
        "extension" : "kt",
        "linesOfCode" : 399,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 318,
      "startLine" : 331,
      "endLine" : 336,
      "cleanedStartLine" : 178,
      "cleanedEndLine" : 183
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/debugger/Debugger.kt",
        "extension" : "kt",
        "linesOfCode" : 399,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 318,
      "startLine" : 360,
      "endLine" : 365,
      "cleanedStartLine" : 203,
      "cleanedEndLine" : 208
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/src/commonTest/kotlin/ai/koog/prompt/executor/clients/retry/RetryingLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 381,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 318,
      "startLine" : 148,
      "endLine" : 157,
      "cleanedStartLine" : 85,
      "cleanedEndLine" : 90
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/src/commonTest/kotlin/ai/koog/prompt/executor/clients/retry/RetryingLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 381,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 318,
      "startLine" : 217,
      "endLine" : 226,
      "cleanedStartLine" : 137,
      "cleanedEndLine" : 142
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/SubgraphWithTaskTest.kt",
        "extension" : "kt",
        "linesOfCode" : 603,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 509,
      "startLine" : 337,
      "endLine" : 346,
      "cleanedStartLine" : 209,
      "cleanedEndLine" : 214
    }, {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/SubgraphWithTaskTest.kt",
        "extension" : "kt",
        "linesOfCode" : 603,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 509,
      "startLine" : 411,
      "endLine" : 420,
      "cleanedStartLine" : 261,
      "cleanedEndLine" : 266
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-event-handler/src/appleMain/kotlin/ai/koog/agents/features/eventHandler/feature/EventHandlerConfig.kt",
        "extension" : "kt",
        "linesOfCode" : 7,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 6,
      "startLine" : 1,
      "endLine" : 10,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-event-handler/src/jsMain/kotlin/ai/koog/agents/features/eventHandler/feature/EventHandlerConfig.kt",
        "extension" : "kt",
        "linesOfCode" : 7,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 6,
      "startLine" : 1,
      "endLine" : 10,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/debugger/Debugger.kt",
        "extension" : "kt",
        "linesOfCode" : 399,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 318,
      "startLine" : 331,
      "endLine" : 336,
      "cleanedStartLine" : 178,
      "cleanedEndLine" : 183
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/debugger/Debugger.kt",
        "extension" : "kt",
        "linesOfCode" : 399,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 318,
      "startLine" : 375,
      "endLine" : 380,
      "cleanedStartLine" : 216,
      "cleanedEndLine" : 221
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/ai/koog/agents/snapshot/providers/file/FileCheckpointsTests.kt",
        "extension" : "kt",
        "linesOfCode" : 236,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 188,
      "startLine" : 70,
      "endLine" : 75,
      "cleanedStartLine" : 29,
      "cleanedEndLine" : 34
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/ai/koog/agents/snapshot/providers/file/FileCheckpointsTests.kt",
        "extension" : "kt",
        "linesOfCode" : 236,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 188,
      "startLine" : 261,
      "endLine" : 266,
      "cleanedStartLine" : 179,
      "cleanedEndLine" : 184
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/appleMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 117,
      "endLine" : 122,
      "cleanedStartLine" : 97,
      "cleanedEndLine" : 102
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jsMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 143,
      "endLine" : 148,
      "cleanedStartLine" : 122,
      "cleanedEndLine" : 127
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryAgentSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 148,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 126,
      "startLine" : 31,
      "endLine" : 37,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 13
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryNodeExecuteSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 307,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 276,
      "startLine" : 181,
      "endLine" : 187,
      "cleanedStartLine" : 133,
      "cleanedEndLine" : 138
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAILLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 711,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 554,
      "startLine" : 360,
      "endLine" : 365,
      "cleanedStartLine" : 210,
      "cleanedEndLine" : 215
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAILLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 711,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 554,
      "startLine" : 498,
      "endLine" : 503,
      "cleanedStartLine" : 289,
      "cleanedEndLine" : 294
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-transport/a2a-transport-client-jsonrpc-http/src/commonTest/kotlin/ai/koog/a2a/transport/client/jsonrpc/http/HttpJSONRPCClientTransportTest.kt",
        "extension" : "kt",
        "linesOfCode" : 389,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 327,
      "startLine" : 269,
      "endLine" : 274,
      "cleanedStartLine" : 177,
      "cleanedEndLine" : 182
    }, {
      "file" : {
        "relativePath" : "a2a/a2a-transport/a2a-transport-client-jsonrpc-http/src/commonTest/kotlin/ai/koog/a2a/transport/client/jsonrpc/http/HttpJSONRPCClientTransportTest.kt",
        "extension" : "kt",
        "linesOfCode" : 389,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 327,
      "startLine" : 344,
      "endLine" : 349,
      "cleanedStartLine" : 238,
      "cleanedEndLine" : 243
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 156,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 141,
      "startLine" : 161,
      "endLine" : 166,
      "cleanedStartLine" : 109,
      "cleanedEndLine" : 114
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmMain/kotlin/ai/koog/agents/core/agent/AIAgentService.kt",
        "extension" : "kt",
        "linesOfCode" : 176,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 153,
      "startLine" : 269,
      "endLine" : 274,
      "cleanedStartLine" : 139,
      "cleanedEndLine" : 144
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIParams.kt",
        "extension" : "kt",
        "linesOfCode" : 381,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 343,
      "startLine" : 340,
      "endLine" : 347,
      "cleanedStartLine" : 226,
      "cleanedEndLine" : 231
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openrouter-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openrouter/OpenRouterParams.kt",
        "extension" : "kt",
        "linesOfCode" : 197,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 177,
      "startLine" : 85,
      "endLine" : 92,
      "cleanedStartLine" : 48,
      "cleanedEndLine" : 53
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-transport/a2a-transport-client-jsonrpc-http/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 44,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 38,
      "endLine" : 52,
      "cleanedStartLine" : 27,
      "cleanedEndLine" : 32
    }, {
      "file" : {
        "relativePath" : "a2a/a2a-transport/a2a-transport-core-jsonrpc/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 37,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 33,
      "endLine" : 47,
      "cleanedStartLine" : 20,
      "cleanedEndLine" : 25
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAILLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 711,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 554,
      "startLine" : 360,
      "endLine" : 365,
      "cleanedStartLine" : 210,
      "cleanedEndLine" : 215
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAILLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 711,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 554,
      "startLine" : 422,
      "endLine" : 427,
      "cleanedStartLine" : 245,
      "cleanedEndLine" : 250
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerTest.kt",
        "extension" : "kt",
        "linesOfCode" : 521,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 437,
      "startLine" : 149,
      "endLine" : 154,
      "cleanedStartLine" : 58,
      "cleanedEndLine" : 63
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-event-handler/src/jvmTest/kotlin/ai/koog/agents/features/eventHandler/feature/EventHandlerTest.kt",
        "extension" : "kt",
        "linesOfCode" : 637,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 548,
      "startLine" : 173,
      "endLine" : 178,
      "cleanedStartLine" : 109,
      "cleanedEndLine" : 114
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/context/AIAgentLLMContextImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 105,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 85,
      "startLine" : 98,
      "endLine" : 103,
      "cleanedStartLine" : 67,
      "cleanedEndLine" : 72
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jsMain/kotlin/ai/koog/agents/core/agent/context/AIAgentLLMContext.kt",
        "extension" : "kt",
        "linesOfCode" : 32,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 23,
      "endLine" : 28,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 15
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryNodeExecuteSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 307,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 276,
      "startLine" : 120,
      "endLine" : 125,
      "cleanedStartLine" : 83,
      "cleanedEndLine" : 88
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryNodeExecuteSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 307,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 276,
      "startLine" : 327,
      "endLine" : 332,
      "cleanedStartLine" : 258,
      "cleanedEndLine" : 263
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentGraphPipeline.kt",
        "extension" : "kt",
        "linesOfCode" : 107,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 90,
      "startLine" : 174,
      "endLine" : 179,
      "cleanedStartLine" : 59,
      "cleanedEndLine" : 64
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentGraphPipelineImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 181,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 142,
      "startLine" : 110,
      "endLine" : 115,
      "cleanedStartLine" : 59,
      "cleanedEndLine" : 64
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/TraceStructureTestBase.kt",
        "extension" : "kt",
        "linesOfCode" : 802,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 688,
      "startLine" : 136,
      "endLine" : 142,
      "cleanedStartLine" : 60,
      "cleanedEndLine" : 65
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/TraceStructureTestBase.kt",
        "extension" : "kt",
        "linesOfCode" : 802,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 688,
      "startLine" : 621,
      "endLine" : 627,
      "cleanedStartLine" : 436,
      "cleanedEndLine" : 441
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/wasmJsMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 117,
      "endLine" : 122,
      "cleanedStartLine" : 97,
      "cleanedEndLine" : 102
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/wasmJsMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 143,
      "endLine" : 148,
      "cleanedStartLine" : 122,
      "cleanedEndLine" : 127
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/context/AIAgentLLMContextImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 105,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 85,
      "startLine" : 98,
      "endLine" : 103,
      "cleanedStartLine" : 67,
      "cleanedEndLine" : 72
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmMain/kotlin/ai/koog/agents/core/agent/context/AIAgentLLMContext.kt",
        "extension" : "kt",
        "linesOfCode" : 82,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 59,
      "startLine" : 46,
      "endLine" : 51,
      "cleanedStartLine" : 26,
      "cleanedEndLine" : 31
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/handler/llm/LLMCallEventContext.kt",
        "extension" : "kt",
        "linesOfCode" : 35,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 24,
      "startLine" : 51,
      "endLine" : 56,
      "cleanedStartLine" : 14,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/handler/streaming/LLMStreamingEventContext.kt",
        "extension" : "kt",
        "linesOfCode" : 54,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 42,
      "startLine" : 97,
      "endLine" : 102,
      "cleanedStartLine" : 34,
      "cleanedEndLine" : 39
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client-base/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 40,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 28,
      "startLine" : 30,
      "endLine" : 38,
      "cleanedStartLine" : 20,
      "cleanedEndLine" : 25
    }, {
      "file" : {
        "relativePath" : "utils/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 31,
        "components" : [ "primary::utils" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 22,
      "endLine" : 30,
      "cleanedStartLine" : 14,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/context/AIAgentLLMContextImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 105,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 85,
      "startLine" : 98,
      "endLine" : 103,
      "cleanedStartLine" : 67,
      "cleanedEndLine" : 72
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmMain/kotlin/ai/koog/agents/core/agent/context/AIAgentLLMContext.kt",
        "extension" : "kt",
        "linesOfCode" : 82,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 59,
      "startLine" : 29,
      "endLine" : 34,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 15
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/SingleRunStrategyWithHistoryCompressionTests.kt",
        "extension" : "kt",
        "linesOfCode" : 119,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 93,
      "startLine" : 44,
      "endLine" : 52,
      "cleanedStartLine" : 23,
      "cleanedEndLine" : 28
    }, {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/SingleRunStrategyWithHistoryCompressionTests.kt",
        "extension" : "kt",
        "linesOfCode" : 119,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 93,
      "startLine" : 97,
      "endLine" : 105,
      "cleanedStartLine" : 62,
      "cleanedEndLine" : 67
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/handler/llm/LLMCallEventContext.kt",
        "extension" : "kt",
        "linesOfCode" : 35,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 24,
      "startLine" : 28,
      "endLine" : 33,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/handler/llm/LLMCallEventContext.kt",
        "extension" : "kt",
        "linesOfCode" : 35,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 24,
      "startLine" : 51,
      "endLine" : 56,
      "cleanedStartLine" : 14,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/BedrockLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 751,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 628,
      "startLine" : 751,
      "endLine" : 756,
      "cleanedStartLine" : 518,
      "cleanedEndLine" : 523
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/BedrockLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 751,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 628,
      "startLine" : 777,
      "endLine" : 782,
      "cleanedStartLine" : 539,
      "cleanedEndLine" : 544
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/BedrockLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 751,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 628,
      "startLine" : 751,
      "endLine" : 756,
      "cleanedStartLine" : 518,
      "cleanedEndLine" : 523
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/BedrockLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 751,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 628,
      "startLine" : 790,
      "endLine" : 795,
      "cleanedStartLine" : 550,
      "cleanedEndLine" : 555
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/debugger/Debugger.kt",
        "extension" : "kt",
        "linesOfCode" : 399,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 318,
      "startLine" : 331,
      "endLine" : 336,
      "cleanedStartLine" : 178,
      "cleanedEndLine" : 183
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/debugger/Debugger.kt",
        "extension" : "kt",
        "linesOfCode" : 399,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 318,
      "startLine" : 344,
      "endLine" : 349,
      "cleanedStartLine" : 189,
      "cleanedEndLine" : 194
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-test/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 39,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 27,
      "endLine" : 38,
      "cleanedStartLine" : 20,
      "cleanedEndLine" : 25
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-deepseek-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 29,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 19,
      "startLine" : 16,
      "endLine" : 27,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 16
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/SubgraphSetExecutionPointTest.kt",
        "extension" : "kt",
        "linesOfCode" : 176,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 143,
      "startLine" : 16,
      "endLine" : 21,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 7
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/ai/koog/agents/snapshot/providers/file/FileCheckpointsTests.kt",
        "extension" : "kt",
        "linesOfCode" : 236,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 188,
      "startLine" : 38,
      "endLine" : 43,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/GraphAIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 120,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 91,
      "startLine" : 128,
      "endLine" : 134,
      "cleanedStartLine" : 56,
      "cleanedEndLine" : 61
    }, {
      "file" : {
        "relativePath" : "agents/agents-planner/src/commonMain/kotlin/ai/koog/agents/planner/PlannerAIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 101,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 76,
      "startLine" : 110,
      "endLine" : 117,
      "cleanedStartLine" : 54,
      "cleanedEndLine" : 59
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerTest.kt",
        "extension" : "kt",
        "linesOfCode" : 521,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 437,
      "startLine" : 289,
      "endLine" : 294,
      "cleanedStartLine" : 173,
      "cleanedEndLine" : 178
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageRemoteWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 816,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 671,
      "startLine" : 408,
      "endLine" : 413,
      "cleanedStartLine" : 249,
      "cleanedEndLine" : 254
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rag/vector-storage/src/jvmTest/kotlin/ai/koog/rag/vector/JVMFileDocumentEmbeddingStorageTest.kt",
        "extension" : "kt",
        "linesOfCode" : 184,
        "components" : [ "primary::rag" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 148,
      "startLine" : 62,
      "endLine" : 70,
      "cleanedStartLine" : 33,
      "cleanedEndLine" : 38
    }, {
      "file" : {
        "relativePath" : "rag/vector-storage/src/jvmTest/kotlin/ai/koog/rag/vector/JVMFileVectorStorageTest.kt",
        "extension" : "kt",
        "linesOfCode" : 160,
        "components" : [ "primary::rag" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 130,
      "startLine" : 89,
      "endLine" : 97,
      "cleanedStartLine" : 51,
      "cleanedEndLine" : 56
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmMain/kotlin/ai/koog/agents/features/opentelemetry/feature/OpenTelemetry.kt",
        "extension" : "kt",
        "linesOfCode" : 583,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 491,
      "startLine" : 120,
      "endLine" : 125,
      "cleanedStartLine" : 52,
      "cleanedEndLine" : 57
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmMain/kotlin/ai/koog/agents/features/opentelemetry/feature/OpenTelemetry.kt",
        "extension" : "kt",
        "linesOfCode" : 583,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 491,
      "startLine" : 151,
      "endLine" : 156,
      "cleanedStartLine" : 75,
      "cleanedEndLine" : 80
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/androidMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipeline.kt",
        "extension" : "kt",
        "linesOfCode" : 8,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 6,
      "startLine" : 1,
      "endLine" : 11,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jsMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipeline.kt",
        "extension" : "kt",
        "linesOfCode" : 8,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 6,
      "startLine" : 1,
      "endLine" : 11,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-core/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 40,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 3,
      "endLine" : 11,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-processor/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 38,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 3,
      "endLine" : 11,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/model/events/toolExecutionEvents.kt",
        "extension" : "kt",
        "linesOfCode" : 176,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 165,
      "startLine" : 114,
      "endLine" : 119,
      "cleanedStartLine" : 63,
      "cleanedEndLine" : 68
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/model/events/toolExecutionEvents.kt",
        "extension" : "kt",
        "linesOfCode" : 176,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 165,
      "startLine" : 174,
      "endLine" : 179,
      "cleanedStartLine" : 100,
      "cleanedEndLine" : 105
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/mock/TestTools.kt",
        "extension" : "kt",
        "linesOfCode" : 57,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 32,
      "endLine" : 37,
      "cleanedStartLine" : 19,
      "cleanedEndLine" : 24
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/mock/TestTools.kt",
        "extension" : "kt",
        "linesOfCode" : 57,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 45,
      "endLine" : 50,
      "cleanedStartLine" : 28,
      "cleanedEndLine" : 33
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 46,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 34,
      "startLine" : 11,
      "endLine" : 16,
      "cleanedStartLine" : 6,
      "cleanedEndLine" : 11
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-ollama-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 70,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 52,
      "startLine" : 11,
      "endLine" : 16,
      "cleanedStartLine" : 6,
      "cleanedEndLine" : 11
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/model/events/toolExecutionEvents.kt",
        "extension" : "kt",
        "linesOfCode" : 176,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 165,
      "startLine" : 114,
      "endLine" : 119,
      "cleanedStartLine" : 63,
      "cleanedEndLine" : 68
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/model/events/toolExecutionEvents.kt",
        "extension" : "kt",
        "linesOfCode" : 176,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 165,
      "startLine" : 234,
      "endLine" : 239,
      "cleanedStartLine" : 137,
      "cleanedEndLine" : 142
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicLLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 524,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 393,
      "startLine" : 288,
      "endLine" : 293,
      "cleanedStartLine" : 143,
      "cleanedEndLine" : 148
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAILLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 711,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 554,
      "startLine" : 422,
      "endLine" : 427,
      "cleanedStartLine" : 245,
      "cleanedEndLine" : 250
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 328,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 286,
      "startLine" : 88,
      "endLine" : 93,
      "cleanedStartLine" : 32,
      "cleanedEndLine" : 37
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 846,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 674,
      "startLine" : 219,
      "endLine" : 224,
      "cleanedStartLine" : 92,
      "cleanedEndLine" : 97
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/agent/FunctionalAIAgentTest.kt",
        "extension" : "kt",
        "linesOfCode" : 674,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 581,
      "startLine" : 79,
      "endLine" : 87,
      "cleanedStartLine" : 41,
      "cleanedEndLine" : 46
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/agent/SingleRunStrategyTests.kt",
        "extension" : "kt",
        "linesOfCode" : 234,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 186,
      "startLine" : 176,
      "endLine" : 184,
      "cleanedStartLine" : 109,
      "cleanedEndLine" : 114
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/llm/choice/ChoiceSelectionStrategyTest.kt",
        "extension" : "kt",
        "linesOfCode" : 94,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 65,
      "startLine" : 87,
      "endLine" : 94,
      "cleanedStartLine" : 48,
      "cleanedEndLine" : 53
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-event-handler/src/jvmTest/kotlin/ai/koog/agents/features/eventHandler/feature/TestLLMExecutor.kt",
        "extension" : "kt",
        "linesOfCode" : 40,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 23,
      "startLine" : 40,
      "endLine" : 47,
      "cleanedStartLine" : 18,
      "cleanedEndLine" : 23
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerTest.kt",
        "extension" : "kt",
        "linesOfCode" : 521,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 437,
      "startLine" : 515,
      "endLine" : 520,
      "cleanedStartLine" : 399,
      "cleanedEndLine" : 404
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageRemoteWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 816,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 671,
      "startLine" : 562,
      "endLine" : 567,
      "cleanedStartLine" : 402,
      "cleanedEndLine" : 407
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/SingleRunStrategyWithHistoryCompressionTests.kt",
        "extension" : "kt",
        "linesOfCode" : 119,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 93,
      "startLine" : 44,
      "endLine" : 52,
      "cleanedStartLine" : 23,
      "cleanedEndLine" : 28
    }, {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/SingleRunStrategyWithHistoryCompressionTests.kt",
        "extension" : "kt",
        "linesOfCode" : 119,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 93,
      "startLine" : 126,
      "endLine" : 134,
      "cleanedStartLine" : 83,
      "cleanedEndLine" : 88
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/handler/node/NodeExecutionEventContext.kt",
        "extension" : "kt",
        "linesOfCode" : 41,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 25,
      "endLine" : 30,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/handler/node/NodeExecutionEventContext.kt",
        "extension" : "kt",
        "linesOfCode" : 41,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 47,
      "endLine" : 52,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 18
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/agent/context/AgentTestBase.kt",
        "extension" : "kt",
        "linesOfCode" : 108,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 76,
      "startLine" : 79,
      "endLine" : 84,
      "cleanedStartLine" : 40,
      "cleanedEndLine" : 45
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/agent/session/AIAgentLLMSessionStructuredOutputTest.kt",
        "extension" : "kt",
        "linesOfCode" : 194,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 154,
      "startLine" : 109,
      "endLine" : 114,
      "cleanedStartLine" : 66,
      "cleanedEndLine" : 71
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerTest.kt",
        "extension" : "kt",
        "linesOfCode" : 521,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 437,
      "startLine" : 496,
      "endLine" : 501,
      "cleanedStartLine" : 380,
      "cleanedEndLine" : 385
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageRemoteWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 816,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 671,
      "startLine" : 572,
      "endLine" : 577,
      "cleanedStartLine" : 412,
      "cleanedEndLine" : 417
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jsMain/kotlin/ai/koog/agents/core/agent/AIAgentService.kt",
        "extension" : "kt",
        "linesOfCode" : 89,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 79,
      "startLine" : 83,
      "endLine" : 88,
      "cleanedStartLine" : 65,
      "cleanedEndLine" : 70
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/wasmJsMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 88,
      "endLine" : 93,
      "cleanedStartLine" : 69,
      "cleanedEndLine" : 74
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/handler/node/NodeExecutionEventContext.kt",
        "extension" : "kt",
        "linesOfCode" : 41,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 25,
      "endLine" : 30,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/handler/node/NodeExecutionEventContext.kt",
        "extension" : "kt",
        "linesOfCode" : 41,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 70,
      "endLine" : 75,
      "cleanedStartLine" : 24,
      "cleanedEndLine" : 29
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-server/src/commonTest/kotlin/ai/koog/a2a/server/messages/InMemoryMessageStorageTest.kt",
        "extension" : "kt",
        "linesOfCode" : 79,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 61,
      "startLine" : 93,
      "endLine" : 98,
      "cleanedStartLine" : 56,
      "cleanedEndLine" : 61
    }, {
      "file" : {
        "relativePath" : "a2a/a2a-server/src/commonTest/kotlin/ai/koog/a2a/server/session/SessionEventProcessorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 287,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 234,
      "startLine" : 47,
      "endLine" : 52,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 20
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageFileWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 509,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 418,
      "startLine" : 530,
      "endLine" : 535,
      "cleanedStartLine" : 370,
      "cleanedEndLine" : 375
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageLogWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 480,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 396,
      "startLine" : 174,
      "endLine" : 179,
      "cleanedStartLine" : 92,
      "cleanedEndLine" : 97
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/models/OpenAIResponsesAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 1134,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1035,
      "startLine" : 1993,
      "endLine" : 2006,
      "cleanedStartLine" : 799,
      "cleanedEndLine" : 804
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/models/OpenAIResponsesAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 1134,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1035,
      "startLine" : 2215,
      "endLine" : 2228,
      "cleanedStartLine" : 910,
      "cleanedEndLine" : 915
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/feature/writer/FeatureMessageRemoteWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 204,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 144,
      "startLine" : 115,
      "endLine" : 123,
      "cleanedStartLine" : 55,
      "cleanedEndLine" : 60
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/feature/writer/FeatureMessageRemoteWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 204,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 144,
      "startLine" : 235,
      "endLine" : 243,
      "cleanedStartLine" : 126,
      "cleanedEndLine" : 131
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/agent/context/AgentTestBase.kt",
        "extension" : "kt",
        "linesOfCode" : 108,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 76,
      "startLine" : 79,
      "endLine" : 84,
      "cleanedStartLine" : 40,
      "cleanedEndLine" : 45
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/agent/session/AIAgentLLMSessionStructuredOutputTest.kt",
        "extension" : "kt",
        "linesOfCode" : 194,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 154,
      "startLine" : 55,
      "endLine" : 60,
      "cleanedStartLine" : 27,
      "cleanedEndLine" : 32
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/debugger/Debugger.kt",
        "extension" : "kt",
        "linesOfCode" : 399,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 318,
      "startLine" : 360,
      "endLine" : 365,
      "cleanedStartLine" : 203,
      "cleanedEndLine" : 208
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/commonMain/kotlin/ai/koog/agents/features/tracing/feature/Tracing.kt",
        "extension" : "kt",
        "linesOfCode" : 335,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 266,
      "startLine" : 378,
      "endLine" : 383,
      "cleanedStartLine" : 209,
      "cleanedEndLine" : 214
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerStreamingTest.kt",
        "extension" : "kt",
        "linesOfCode" : 347,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 262,
      "startLine" : 103,
      "endLine" : 111,
      "cleanedStartLine" : 30,
      "cleanedEndLine" : 35
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerSubgraphTest.kt",
        "extension" : "kt",
        "linesOfCode" : 262,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 194,
      "startLine" : 69,
      "endLine" : 77,
      "cleanedStartLine" : 17,
      "cleanedEndLine" : 22
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicLLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 524,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 393,
      "startLine" : 111,
      "endLine" : 116,
      "cleanedStartLine" : 24,
      "cleanedEndLine" : 29
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/google/GoogleLLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 653,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 482,
      "startLine" : 126,
      "endLine" : 131,
      "cleanedStartLine" : 28,
      "cleanedEndLine" : 33
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 156,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 141,
      "startLine" : 113,
      "endLine" : 118,
      "cleanedStartLine" : 62,
      "cleanedEndLine" : 67
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/wasmJsMain/kotlin/ai/koog/agents/core/agent/AIAgentService.kt",
        "extension" : "kt",
        "linesOfCode" : 89,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 79,
      "startLine" : 66,
      "endLine" : 71,
      "cleanedStartLine" : 48,
      "cleanedEndLine" : 53
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-mcp/src/commonTest/kotlin/ai/koog/agents/mcp/DefaultMcpToolDescriptorParserTest.kt",
        "extension" : "kt",
        "linesOfCode" : 726,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 614,
      "startLine" : 639,
      "endLine" : 644,
      "cleanedStartLine" : 460,
      "cleanedEndLine" : 465
    }, {
      "file" : {
        "relativePath" : "agents/agents-mcp/src/commonTest/kotlin/ai/koog/agents/mcp/DefaultMcpToolDescriptorParserTest.kt",
        "extension" : "kt",
        "linesOfCode" : 726,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 614,
      "startLine" : 796,
      "endLine" : 801,
      "cleanedStartLine" : 592,
      "cleanedEndLine" : 597
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerTestAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 281,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 212,
      "startLine" : 187,
      "endLine" : 192,
      "cleanedStartLine" : 105,
      "cleanedEndLine" : 110
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerTestAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 281,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 212,
      "startLine" : 199,
      "endLine" : 204,
      "cleanedStartLine" : 117,
      "cleanedEndLine" : 122
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 846,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 674,
      "startLine" : 294,
      "endLine" : 299,
      "cleanedStartLine" : 146,
      "cleanedEndLine" : 151
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 846,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 674,
      "startLine" : 430,
      "endLine" : 435,
      "cleanedStartLine" : 264,
      "cleanedEndLine" : 269
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/androidMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 88,
      "endLine" : 93,
      "cleanedStartLine" : 69,
      "cleanedEndLine" : 74
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jsMain/kotlin/ai/koog/agents/core/agent/AIAgentService.kt",
        "extension" : "kt",
        "linesOfCode" : 89,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 79,
      "startLine" : 83,
      "endLine" : 88,
      "cleanedStartLine" : 65,
      "cleanedEndLine" : 70
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-deepseek-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 29,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 19,
      "startLine" : 16,
      "endLine" : 27,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "utils/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 31,
        "components" : [ "primary::utils" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 18,
      "endLine" : 29,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 18
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jsMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 88,
      "endLine" : 93,
      "cleanedStartLine" : 69,
      "cleanedEndLine" : 74
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 156,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 141,
      "startLine" : 161,
      "endLine" : 166,
      "cleanedStartLine" : 109,
      "cleanedEndLine" : 114
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/agent/FunctionalAIAgentTest.kt",
        "extension" : "kt",
        "linesOfCode" : 674,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 581,
      "startLine" : 79,
      "endLine" : 87,
      "cleanedStartLine" : 41,
      "cleanedEndLine" : 46
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/agent/FunctionalAIAgentTest.kt",
        "extension" : "kt",
        "linesOfCode" : 674,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 581,
      "startLine" : 119,
      "endLine" : 127,
      "cleanedStartLine" : 68,
      "cleanedEndLine" : 73
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/NodeUniquenessCheckpointTest.kt",
        "extension" : "kt",
        "linesOfCode" : 99,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 71,
      "startLine" : 28,
      "endLine" : 34,
      "cleanedStartLine" : 3,
      "cleanedEndLine" : 8
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/TestStrategies.kt",
        "extension" : "kt",
        "linesOfCode" : 398,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 340,
      "startLine" : 15,
      "endLine" : 21,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 7
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryAgentSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 148,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 126,
      "startLine" : 115,
      "endLine" : 121,
      "cleanedStartLine" : 74,
      "cleanedEndLine" : 79
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryNodeExecuteSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 307,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 276,
      "startLine" : 101,
      "endLine" : 107,
      "cleanedStartLine" : 67,
      "cleanedEndLine" : 72
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-test/src/commonMain/kotlin/ai/koog/agents/testing/tools/MockLLMBuilder.kt",
        "extension" : "kt",
        "linesOfCode" : 495,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 414,
      "startLine" : 330,
      "endLine" : 335,
      "cleanedStartLine" : 137,
      "cleanedEndLine" : 142
    }, {
      "file" : {
        "relativePath" : "agents/agents-test/src/commonMain/kotlin/ai/koog/agents/testing/tools/MockLLMBuilder.kt",
        "extension" : "kt",
        "linesOfCode" : 495,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 414,
      "startLine" : 400,
      "endLine" : 405,
      "cleanedStartLine" : 177,
      "cleanedEndLine" : 182
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryExecuteToolSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 184,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 154,
      "startLine" : 79,
      "endLine" : 85,
      "cleanedStartLine" : 45,
      "cleanedEndLine" : 50
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryInferenceSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 556,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 517,
      "startLine" : 264,
      "endLine" : 271,
      "cleanedStartLine" : 208,
      "cleanedEndLine" : 213
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-transport/a2a-transport-core-jsonrpc/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 37,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 24,
      "endLine" : 32,
      "cleanedStartLine" : 14,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-markdown/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 27,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 17,
      "startLine" : 18,
      "endLine" : 26,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 15
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipeline.kt",
        "extension" : "kt",
        "linesOfCode" : 448,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 394,
      "startLine" : 130,
      "endLine" : 135,
      "cleanedStartLine" : 20,
      "cleanedEndLine" : 25
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 328,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 286,
      "startLine" : 71,
      "endLine" : 76,
      "cleanedStartLine" : 17,
      "cleanedEndLine" : 22
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 156,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 141,
      "startLine" : 161,
      "endLine" : 166,
      "cleanedStartLine" : 109,
      "cleanedEndLine" : 114
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/wasmJsMain/kotlin/ai/koog/agents/core/agent/AIAgentService.kt",
        "extension" : "kt",
        "linesOfCode" : 89,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 79,
      "startLine" : 83,
      "endLine" : 88,
      "cleanedStartLine" : 65,
      "cleanedEndLine" : 70
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-core/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 40,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 3,
      "endLine" : 11,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-cache/prompt-cache-model/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 26,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 3,
      "endLine" : 11,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jsMain/kotlin/ai/koog/agents/core/agent/AIAgentService.kt",
        "extension" : "kt",
        "linesOfCode" : 89,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 79,
      "startLine" : 83,
      "endLine" : 88,
      "cleanedStartLine" : 65,
      "cleanedEndLine" : 70
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 156,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 141,
      "startLine" : 161,
      "endLine" : 166,
      "cleanedStartLine" : 109,
      "cleanedEndLine" : 114
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-test/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 39,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 27,
      "endLine" : 38,
      "cleanedStartLine" : 20,
      "cleanedEndLine" : 25
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 29,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 19,
      "startLine" : 16,
      "endLine" : 27,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 16
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/models/OpenAIResponsesAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 1134,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1035,
      "startLine" : 1993,
      "endLine" : 2006,
      "cleanedStartLine" : 799,
      "cleanedEndLine" : 804
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/models/OpenAIResponsesAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 1134,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1035,
      "startLine" : 2151,
      "endLine" : 2164,
      "cleanedStartLine" : 878,
      "cleanedEndLine" : 883
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/SubgraphWithRetryTest.kt",
        "extension" : "kt",
        "linesOfCode" : 429,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 348,
      "startLine" : 114,
      "endLine" : 121,
      "cleanedStartLine" : 64,
      "cleanedEndLine" : 69
    }, {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/SubgraphWithRetryTest.kt",
        "extension" : "kt",
        "linesOfCode" : 429,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 348,
      "startLine" : 464,
      "endLine" : 471,
      "cleanedStartLine" : 319,
      "cleanedEndLine" : 324
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jsMain/kotlin/ai/koog/agents/core/agent/AIAgentService.kt",
        "extension" : "kt",
        "linesOfCode" : 89,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 79,
      "startLine" : 83,
      "endLine" : 88,
      "cleanedStartLine" : 65,
      "cleanedEndLine" : 70
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 156,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 141,
      "startLine" : 187,
      "endLine" : 192,
      "cleanedStartLine" : 134,
      "cleanedEndLine" : 139
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageLogWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 480,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 396,
      "startLine" : 70,
      "endLine" : 78,
      "cleanedStartLine" : 12,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageRemoteWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 816,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 671,
      "startLine" : 169,
      "endLine" : 177,
      "cleanedStartLine" : 57,
      "cleanedEndLine" : 62
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client-base/src/commonTest/kotlin/ai/koog/prompt/executor/clients/openai/base/OpenAICompatibleToolDescriptorConverterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 214,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 181,
      "startLine" : 26,
      "endLine" : 34,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 21
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client-base/src/commonTest/kotlin/ai/koog/prompt/executor/clients/openai/base/OpenAICompatibleToolDescriptorConverterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 214,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 181,
      "startLine" : 207,
      "endLine" : 215,
      "cleanedStartLine" : 161,
      "cleanedEndLine" : 166
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jsMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 88,
      "endLine" : 93,
      "cleanedStartLine" : 69,
      "cleanedEndLine" : 74
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jsMain/kotlin/ai/koog/agents/core/agent/AIAgentService.kt",
        "extension" : "kt",
        "linesOfCode" : 89,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 79,
      "startLine" : 83,
      "endLine" : 88,
      "cleanedStartLine" : 65,
      "cleanedEndLine" : 70
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 99,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 84,
      "startLine" : 113,
      "endLine" : 118,
      "cleanedStartLine" : 24,
      "cleanedEndLine" : 29
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/AIAgentHelper.kt",
        "extension" : "kt",
        "linesOfCode" : 190,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 171,
      "startLine" : 86,
      "endLine" : 91,
      "cleanedStartLine" : 33,
      "cleanedEndLine" : 38
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client-base/src/commonTest/kotlin/ai/koog/prompt/executor/clients/openai/base/OpenAICompatibleToolDescriptorConverterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 214,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 181,
      "startLine" : 26,
      "endLine" : 34,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 21
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client-base/src/commonTest/kotlin/ai/koog/prompt/executor/clients/openai/base/OpenAICompatibleToolDescriptorConverterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 214,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 181,
      "startLine" : 156,
      "endLine" : 165,
      "cleanedStartLine" : 121,
      "cleanedEndLine" : 126
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 47,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 42,
      "endLine" : 56,
      "cleanedStartLine" : 30,
      "cleanedEndLine" : 35
    }, {
      "file" : {
        "relativePath" : "a2a/a2a-transport/a2a-transport-core-jsonrpc/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 37,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 33,
      "endLine" : 47,
      "cleanedStartLine" : 20,
      "cleanedEndLine" : 25
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-deepseek-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 29,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 19,
      "startLine" : 20,
      "endLine" : 28,
      "cleanedStartLine" : 12,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 46,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 34,
      "startLine" : 37,
      "endLine" : 45,
      "cleanedStartLine" : 26,
      "cleanedEndLine" : 31
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/TraceStructureTestBase.kt",
        "extension" : "kt",
        "linesOfCode" : 802,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 688,
      "startLine" : 147,
      "endLine" : 152,
      "cleanedStartLine" : 67,
      "cleanedEndLine" : 72
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/weave/WeaveTraceStructureTest.kt",
        "extension" : "kt",
        "linesOfCode" : 270,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 257,
      "startLine" : 21,
      "endLine" : 26,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 12
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/androidMain/kotlin/ai/koog/agents/core/agent/session/AIAgentLLMReadSession.kt",
        "extension" : "kt",
        "linesOfCode" : 16,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 10,
      "startLine" : 13,
      "endLine" : 18,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/session/AIAgentLLMReadSession.kt",
        "extension" : "kt",
        "linesOfCode" : 78,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 60,
      "startLine" : 37,
      "endLine" : 42,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/langfuse/LangfuseTraceStructureTest.kt",
        "extension" : "kt",
        "linesOfCode" : 249,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 236,
      "startLine" : 174,
      "endLine" : 179,
      "cleanedStartLine" : 146,
      "cleanedEndLine" : 151
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/langfuse/LangfuseTraceStructureTest.kt",
        "extension" : "kt",
        "linesOfCode" : 249,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 236,
      "startLine" : 243,
      "endLine" : 248,
      "cleanedStartLine" : 210,
      "cleanedEndLine" : 215
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerTestAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 281,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 212,
      "startLine" : 170,
      "endLine" : 175,
      "cleanedStartLine" : 88,
      "cleanedEndLine" : 93
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerTestAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 281,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 212,
      "startLine" : 216,
      "endLine" : 221,
      "cleanedStartLine" : 134,
      "cleanedEndLine" : 139
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-tools/src/jvmTest/kotlin/ai/koog/agents/core/tools/JavaAPIToolRegistryTest.kt",
        "extension" : "kt",
        "linesOfCode" : 186,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 156,
      "startLine" : 105,
      "endLine" : 112,
      "cleanedStartLine" : 60,
      "cleanedEndLine" : 65
    }, {
      "file" : {
        "relativePath" : "agents/agents-tools/src/jvmTest/kotlin/ai/koog/agents/core/tools/JavaAPIToolRegistryTest.kt",
        "extension" : "kt",
        "linesOfCode" : 186,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 156,
      "startLine" : 236,
      "endLine" : 243,
      "cleanedStartLine" : 144,
      "cleanedEndLine" : 149
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/google/GoogleLLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 653,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 482,
      "startLine" : 262,
      "endLine" : 267,
      "cleanedStartLine" : 121,
      "cleanedEndLine" : 126
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAILLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 711,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 554,
      "startLine" : 360,
      "endLine" : 365,
      "cleanedStartLine" : 210,
      "cleanedEndLine" : 215
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryNodeExecuteSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 307,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 276,
      "startLine" : 80,
      "endLine" : 86,
      "cleanedStartLine" : 53,
      "cleanedEndLine" : 58
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryNodeExecuteSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 307,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 276,
      "startLine" : 340,
      "endLine" : 346,
      "cleanedStartLine" : 271,
      "cleanedEndLine" : 276
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-core/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 40,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 3,
      "endLine" : 11,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-a2a-core/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 31,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 3,
      "endLine" : 11,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerTestAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 281,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 212,
      "startLine" : 170,
      "endLine" : 175,
      "cleanedStartLine" : 88,
      "cleanedEndLine" : 93
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerTestAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 281,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 212,
      "startLine" : 187,
      "endLine" : 192,
      "cleanedStartLine" : 105,
      "cleanedEndLine" : 110
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/google/GoogleLLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 653,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 482,
      "startLine" : 262,
      "endLine" : 267,
      "cleanedStartLine" : 121,
      "cleanedEndLine" : 126
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAILLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 711,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 554,
      "startLine" : 422,
      "endLine" : 427,
      "cleanedStartLine" : 245,
      "cleanedEndLine" : 250
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/context/AIAgentFunctionalContext.kt",
        "extension" : "kt",
        "linesOfCode" : 179,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 153,
      "startLine" : 243,
      "endLine" : 248,
      "cleanedStartLine" : 136,
      "cleanedEndLine" : 141
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/context/AIAgentFunctionalContextImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 483,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 365,
      "startLine" : 298,
      "endLine" : 303,
      "cleanedStartLine" : 172,
      "cleanedEndLine" : 177
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jsMain/kotlin/ai/koog/agents/core/agent/AIAgentService.kt",
        "extension" : "kt",
        "linesOfCode" : 89,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 79,
      "startLine" : 83,
      "endLine" : 88,
      "cleanedStartLine" : 65,
      "cleanedEndLine" : 70
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/wasmJsMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 117,
      "endLine" : 122,
      "cleanedStartLine" : 97,
      "cleanedEndLine" : 102
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 846,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 674,
      "startLine" : 294,
      "endLine" : 299,
      "cleanedStartLine" : 146,
      "cleanedEndLine" : 151
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 846,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 674,
      "startLine" : 476,
      "endLine" : 481,
      "cleanedStartLine" : 303,
      "cleanedEndLine" : 308
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/androidMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 69,
      "endLine" : 74,
      "cleanedStartLine" : 50,
      "cleanedEndLine" : 55
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/appleMain/kotlin/ai/koog/agents/core/agent/AIAgentService.kt",
        "extension" : "kt",
        "linesOfCode" : 89,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 79,
      "startLine" : 66,
      "endLine" : 71,
      "cleanedStartLine" : 48,
      "cleanedEndLine" : 53
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jsMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 143,
      "endLine" : 148,
      "cleanedStartLine" : 122,
      "cleanedEndLine" : 127
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jsMain/kotlin/ai/koog/agents/core/agent/AIAgentService.kt",
        "extension" : "kt",
        "linesOfCode" : 89,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 79,
      "startLine" : 83,
      "endLine" : 88,
      "cleanedStartLine" : 65,
      "cleanedEndLine" : 70
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-tools/src/jvmTest/kotlin/ai/koog/agents/core/tools/JavaAPIToolRegistryTest.kt",
        "extension" : "kt",
        "linesOfCode" : 186,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 156,
      "startLine" : 33,
      "endLine" : 38,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "agents/agents-tools/src/jvmTest/kotlin/ai/koog/agents/core/tools/reflect/ToolSetAsToolsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 71,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 54,
      "startLine" : 37,
      "endLine" : 42,
      "cleanedStartLine" : 18,
      "cleanedEndLine" : 23
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/feature/message/FeatureMessageProcessorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 313,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 270,
      "startLine" : 150,
      "endLine" : 156,
      "cleanedStartLine" : 75,
      "cleanedEndLine" : 80
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/feature/message/FeatureMessageProcessorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 313,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 270,
      "startLine" : 189,
      "endLine" : 195,
      "cleanedStartLine" : 105,
      "cleanedEndLine" : 110
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/langfuse/LangfuseTraceStructureTest.kt",
        "extension" : "kt",
        "linesOfCode" : 249,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 236,
      "startLine" : 211,
      "endLine" : 216,
      "cleanedStartLine" : 180,
      "cleanedEndLine" : 185
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/weave/WeaveTraceStructureTest.kt",
        "extension" : "kt",
        "linesOfCode" : 270,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 257,
      "startLine" : 157,
      "endLine" : 162,
      "cleanedStartLine" : 132,
      "cleanedEndLine" : 137
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/feature/remote/client/FeatureMessageRemoteClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 388,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 293,
      "startLine" : 398,
      "endLine" : 406,
      "cleanedStartLine" : 225,
      "cleanedEndLine" : 230
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/feature/remote/client/FeatureMessageRemoteClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 388,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 293,
      "startLine" : 467,
      "endLine" : 475,
      "cleanedStartLine" : 264,
      "cleanedEndLine" : 269
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-sql/src/jvmTest/kotlin/ai/koog/agents/features/sql/providers/ExposedPersistenceFilterPostgresTest.kt",
        "extension" : "kt",
        "linesOfCode" : 133,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 99,
      "startLine" : 56,
      "endLine" : 61,
      "cleanedStartLine" : 19,
      "cleanedEndLine" : 24
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-sql/src/jvmTest/kotlin/ai/koog/agents/features/sql/providers/PostgresPersistenceAgentRunTest.kt",
        "extension" : "kt",
        "linesOfCode" : 243,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 182,
      "startLine" : 72,
      "endLine" : 77,
      "cleanedStartLine" : 25,
      "cleanedEndLine" : 30
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/androidMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 88,
      "endLine" : 93,
      "cleanedStartLine" : 69,
      "cleanedEndLine" : 74
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/appleMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 117,
      "endLine" : 122,
      "cleanedStartLine" : 97,
      "cleanedEndLine" : 102
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/SubgraphWithTaskTest.kt",
        "extension" : "kt",
        "linesOfCode" : 603,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 509,
      "startLine" : 319,
      "endLine" : 325,
      "cleanedStartLine" : 196,
      "cleanedEndLine" : 201
    }, {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/SubgraphWithTaskTest.kt",
        "extension" : "kt",
        "linesOfCode" : 603,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 509,
      "startLine" : 674,
      "endLine" : 680,
      "cleanedStartLine" : 448,
      "cleanedEndLine" : 453
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerTest.kt",
        "extension" : "kt",
        "linesOfCode" : 521,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 437,
      "startLine" : 291,
      "endLine" : 296,
      "cleanedStartLine" : 175,
      "cleanedEndLine" : 180
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerTest.kt",
        "extension" : "kt",
        "linesOfCode" : 521,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 437,
      "startLine" : 308,
      "endLine" : 313,
      "cleanedStartLine" : 192,
      "cleanedEndLine" : 197
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/appleMain/kotlin/ai/koog/agents/core/agent/AIAgentService.kt",
        "extension" : "kt",
        "linesOfCode" : 89,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 79,
      "startLine" : 66,
      "endLine" : 71,
      "cleanedStartLine" : 48,
      "cleanedEndLine" : 53
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/wasmJsMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 69,
      "endLine" : 74,
      "cleanedStartLine" : 50,
      "cleanedEndLine" : 55
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-llms-all/src/jvmTest/kotlin/ai/koog/prompt/executor/llms/all/MultipleLLMPromptExecutorMockTest.kt",
        "extension" : "kt",
        "linesOfCode" : 173,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 65,
      "endLine" : 70,
      "cleanedStartLine" : 27,
      "cleanedEndLine" : 32
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-llms/src/commonTest/kotlin/ai/koog/prompt/executor/llms/MultiLLMPromptExecutorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 206,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 155,
      "startLine" : 46,
      "endLine" : 51,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 18
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmMain/kotlin/ai/koog/agents/features/opentelemetry/feature/OpenTelemetry.kt",
        "extension" : "kt",
        "linesOfCode" : 583,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 491,
      "startLine" : 132,
      "endLine" : 137,
      "cleanedStartLine" : 63,
      "cleanedEndLine" : 68
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmMain/kotlin/ai/koog/agents/features/opentelemetry/feature/OpenTelemetry.kt",
        "extension" : "kt",
        "linesOfCode" : 583,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 491,
      "startLine" : 170,
      "endLine" : 175,
      "cleanedStartLine" : 92,
      "cleanedEndLine" : 97
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/androidMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipeline.kt",
        "extension" : "kt",
        "linesOfCode" : 8,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 6,
      "startLine" : 1,
      "endLine" : 11,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/appleMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipeline.kt",
        "extension" : "kt",
        "linesOfCode" : 8,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 6,
      "startLine" : 1,
      "endLine" : 11,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/feature/remote/client/FeatureMessageRemoteClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 388,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 293,
      "startLine" : 344,
      "endLine" : 352,
      "cleanedStartLine" : 193,
      "cleanedEndLine" : 198
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/feature/remote/client/FeatureMessageRemoteClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 388,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 293,
      "startLine" : 467,
      "endLine" : 475,
      "cleanedStartLine" : 264,
      "cleanedEndLine" : 269
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-mcp/src/commonTest/kotlin/ai/koog/agents/mcp/DefaultMcpToolDescriptorParserTest.kt",
        "extension" : "kt",
        "linesOfCode" : 726,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 614,
      "startLine" : 638,
      "endLine" : 643,
      "cleanedStartLine" : 459,
      "cleanedEndLine" : 464
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/openai/models/OpenAIContentTest.kt",
        "extension" : "kt",
        "linesOfCode" : 338,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 269,
      "startLine" : 181,
      "endLine" : 186,
      "cleanedStartLine" : 129,
      "cleanedEndLine" : 134
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerTest.kt",
        "extension" : "kt",
        "linesOfCode" : 521,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 437,
      "startLine" : 385,
      "endLine" : 390,
      "cleanedStartLine" : 269,
      "cleanedEndLine" : 274
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerTest.kt",
        "extension" : "kt",
        "linesOfCode" : 521,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 437,
      "startLine" : 394,
      "endLine" : 399,
      "cleanedStartLine" : 278,
      "cleanedEndLine" : 283
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-ollama-client/src/commonTest/kotlin/ai/koog/prompt/executor/ollama/client/OllamaToolCallTest.kt",
        "extension" : "kt",
        "linesOfCode" : 210,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 189,
      "startLine" : 58,
      "endLine" : 63,
      "cleanedStartLine" : 31,
      "cleanedEndLine" : 36
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-ollama-client/src/commonTest/kotlin/ai/koog/prompt/executor/ollama/client/OllamaToolCallTest.kt",
        "extension" : "kt",
        "linesOfCode" : 210,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 189,
      "startLine" : 201,
      "endLine" : 206,
      "cleanedStartLine" : 151,
      "cleanedEndLine" : 156
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/dashscope/models/DashscopeSerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 453,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 372,
      "startLine" : 35,
      "endLine" : 43,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 20
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/dashscope/models/DashscopeSerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 453,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 372,
      "startLine" : 443,
      "endLine" : 451,
      "cleanedStartLine" : 312,
      "cleanedEndLine" : 317
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/commonTest/kotlin/ai/koog/prompt/executor/clients/google/structure/GoogleStandardJsonSchemaGeneratorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 323,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 297,
      "startLine" : 13,
      "endLine" : 18,
      "cleanedStartLine" : 3,
      "cleanedEndLine" : 8
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client-base/src/commonTest/kotlin/ai/koog/prompt/executor/clients/openai/structure/OpenAIBasicJsonSchemaGeneratorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 152,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 134,
      "startLine" : 13,
      "endLine" : 18,
      "cleanedStartLine" : 3,
      "cleanedEndLine" : 8
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmMain/kotlin/ai/koog/agents/snapshot/feature/RollbackToolRegistryBuilder.kt",
        "extension" : "kt",
        "linesOfCode" : 47,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 34,
      "startLine" : 1,
      "endLine" : 16,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/wasmJsMain/kotlin/ai/koog/agents/snapshot/feature/RollbackToolRegistryBuilder.kt",
        "extension" : "kt",
        "linesOfCode" : 14,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 11,
      "startLine" : 1,
      "endLine" : 11,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicModels.kt",
        "extension" : "kt",
        "linesOfCode" : 195,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 178,
      "startLine" : 100,
      "endLine" : 105,
      "cleanedStartLine" : 35,
      "cleanedEndLine" : 40
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicModels.kt",
        "extension" : "kt",
        "linesOfCode" : 195,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 178,
      "startLine" : 275,
      "endLine" : 280,
      "cleanedStartLine" : 140,
      "cleanedEndLine" : 145
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-ollama-client/src/commonTest/kotlin/ai/koog/prompt/executor/ollama/client/OllamaToolCallTest.kt",
        "extension" : "kt",
        "linesOfCode" : 210,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 189,
      "startLine" : 58,
      "endLine" : 63,
      "cleanedStartLine" : 31,
      "cleanedEndLine" : 36
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-ollama-client/src/commonTest/kotlin/ai/koog/prompt/executor/ollama/client/OllamaToolCallTest.kt",
        "extension" : "kt",
        "linesOfCode" : 210,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 189,
      "startLine" : 188,
      "endLine" : 193,
      "cleanedStartLine" : 139,
      "cleanedEndLine" : 144
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicModels.kt",
        "extension" : "kt",
        "linesOfCode" : 195,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 178,
      "startLine" : 100,
      "endLine" : 105,
      "cleanedStartLine" : 35,
      "cleanedEndLine" : 40
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicModels.kt",
        "extension" : "kt",
        "linesOfCode" : 195,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 178,
      "startLine" : 300,
      "endLine" : 305,
      "cleanedStartLine" : 155,
      "cleanedEndLine" : 160
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "koog-spring-boot-starter/src/main/kotlin/ai/koog/spring/prompt/executor/clients/google/GoogleKoogProperties.kt",
        "extension" : "kt",
        "linesOfCode" : 19,
        "components" : [ "primary::koog-spring-boot-starter" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 12,
      "startLine" : 56,
      "endLine" : 65,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "koog-spring-boot-starter/src/main/kotlin/ai/koog/spring/prompt/executor/clients/openrouter/OpenRouterKoogProperties.kt",
        "extension" : "kt",
        "linesOfCode" : 19,
        "components" : [ "primary::koog-spring-boot-starter" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 12,
      "startLine" : 31,
      "endLine" : 40,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetrySubgraphTest.kt",
        "extension" : "kt",
        "linesOfCode" : 334,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 313,
      "startLine" : 225,
      "endLine" : 230,
      "cleanedStartLine" : 184,
      "cleanedEndLine" : 189
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetrySubgraphTest.kt",
        "extension" : "kt",
        "linesOfCode" : 334,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 313,
      "startLine" : 341,
      "endLine" : 346,
      "cleanedStartLine" : 283,
      "cleanedEndLine" : 288
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-transport/a2a-transport-client-jsonrpc-http/src/commonTest/kotlin/ai/koog/a2a/transport/client/jsonrpc/http/HttpJSONRPCClientTransportTest.kt",
        "extension" : "kt",
        "linesOfCode" : 389,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 327,
      "startLine" : 344,
      "endLine" : 349,
      "cleanedStartLine" : 238,
      "cleanedEndLine" : 243
    }, {
      "file" : {
        "relativePath" : "a2a/a2a-transport/a2a-transport-server-jsonrpc-http/src/jvmTest/kotlin/ai/koog/a2a/transport/server/jsonrpc/http/HttpJSONRPCServerTransportTest.kt",
        "extension" : "kt",
        "linesOfCode" : 547,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 452,
      "startLine" : 488,
      "endLine" : 493,
      "cleanedStartLine" : 341,
      "cleanedEndLine" : 346
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-tools/src/jvmMain/kotlin/ai/koog/agents/core/tools/reflect/ToolFromCallable.kt",
        "extension" : "kt",
        "linesOfCode" : 129,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 87,
      "startLine" : 132,
      "endLine" : 140,
      "cleanedStartLine" : 56,
      "cleanedEndLine" : 61
    }, {
      "file" : {
        "relativePath" : "agents/agents-tools/src/jvmMain/kotlin/ai/koog/agents/core/tools/reflect/java/ToolFromJavaMethod.kt",
        "extension" : "kt",
        "linesOfCode" : 163,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 117,
      "startLine" : 135,
      "endLine" : 143,
      "cleanedStartLine" : 61,
      "cleanedEndLine" : 66
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAILLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 711,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 554,
      "startLine" : 244,
      "endLine" : 249,
      "cleanedStartLine" : 126,
      "cleanedEndLine" : 131
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openrouter-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openrouter/OpenRouterLLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 100,
      "startLine" : 140,
      "endLine" : 145,
      "cleanedStartLine" : 72,
      "cleanedEndLine" : 77
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerTestAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 281,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 212,
      "startLine" : 168,
      "endLine" : 173,
      "cleanedStartLine" : 86,
      "cleanedEndLine" : 91
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageRemoteWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 816,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 671,
      "startLine" : 408,
      "endLine" : 413,
      "cleanedStartLine" : 249,
      "cleanedEndLine" : 254
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client-base/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/base/structure/OpenAIBasicJsonSchemaGenerator.kt",
        "extension" : "kt",
        "linesOfCode" : 24,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 14,
      "startLine" : 31,
      "endLine" : 37,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 13
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client-base/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/base/structure/OpenAIStandardJsonSchemaGenerator.kt",
        "extension" : "kt",
        "linesOfCode" : 90,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 59,
      "startLine" : 84,
      "endLine" : 90,
      "cleanedStartLine" : 34,
      "cleanedEndLine" : 39
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/androidMain/kotlin/ai/koog/agents/core/agent/AIAgentService.kt",
        "extension" : "kt",
        "linesOfCode" : 89,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 79,
      "startLine" : 83,
      "endLine" : 88,
      "cleanedStartLine" : 65,
      "cleanedEndLine" : 70
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jsMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 88,
      "endLine" : 93,
      "cleanedStartLine" : 69,
      "cleanedEndLine" : 74
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-mcp/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 41,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 31,
      "startLine" : 28,
      "endLine" : 39,
      "cleanedStartLine" : 21,
      "cleanedEndLine" : 26
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 29,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 19,
      "startLine" : 16,
      "endLine" : 27,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 16
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-deepseek-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/deepseek/models/DeepSeekSerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 327,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 263,
      "startLine" : 140,
      "endLine" : 148,
      "cleanedStartLine" : 93,
      "cleanedEndLine" : 98
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-deepseek-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/deepseek/models/DeepSeekSerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 327,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 263,
      "startLine" : 274,
      "endLine" : 282,
      "cleanedStartLine" : 200,
      "cleanedEndLine" : 205
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/appleMain/kotlin/ai/koog/agents/core/agent/AIAgentService.kt",
        "extension" : "kt",
        "linesOfCode" : 89,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 79,
      "startLine" : 83,
      "endLine" : 88,
      "cleanedStartLine" : 65,
      "cleanedEndLine" : 70
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/wasmJsMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 143,
      "endLine" : 148,
      "cleanedStartLine" : 122,
      "cleanedEndLine" : 127
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/dashscope/models/DashscopeSerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 453,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 372,
      "startLine" : 73,
      "endLine" : 81,
      "cleanedStartLine" : 44,
      "cleanedEndLine" : 49
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/dashscope/models/DashscopeSerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 453,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 372,
      "startLine" : 443,
      "endLine" : 451,
      "cleanedStartLine" : 312,
      "cleanedEndLine" : 317
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/FunctionalAIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 110,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 84,
      "startLine" : 49,
      "endLine" : 56,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 18
    }, {
      "file" : {
        "relativePath" : "agents/agents-planner/src/commonMain/kotlin/ai/koog/agents/planner/PlannerAIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 101,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 76,
      "startLine" : 47,
      "endLine" : 54,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 18
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jsMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 117,
      "endLine" : 122,
      "cleanedStartLine" : 97,
      "cleanedEndLine" : 102
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/wasmJsMain/kotlin/ai/koog/agents/core/agent/AIAgentService.kt",
        "extension" : "kt",
        "linesOfCode" : 89,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 79,
      "startLine" : 83,
      "endLine" : 88,
      "cleanedStartLine" : 65,
      "cleanedEndLine" : 70
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-event-handler/src/jvmTest/kotlin/ai/koog/agents/features/eventHandler/feature/EventHandlerTest.kt",
        "extension" : "kt",
        "linesOfCode" : 637,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 548,
      "startLine" : 173,
      "endLine" : 178,
      "cleanedStartLine" : 109,
      "cleanedEndLine" : 114
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageRemoteWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 816,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 671,
      "startLine" : 810,
      "endLine" : 815,
      "cleanedStartLine" : 576,
      "cleanedEndLine" : 581
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "koog-ktor/src/commonTest/kotlin/ai/koog/ktor/ConfigurationLoadingTest.kt",
        "extension" : "kt",
        "linesOfCode" : 331,
        "components" : [ "primary::koog-ktor" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 293,
      "startLine" : 174,
      "endLine" : 181,
      "cleanedStartLine" : 103,
      "cleanedEndLine" : 108
    }, {
      "file" : {
        "relativePath" : "koog-ktor/src/commonTest/kotlin/ai/koog/ktor/ConfigurationLoadingTest.kt",
        "extension" : "kt",
        "linesOfCode" : 331,
        "components" : [ "primary::koog-ktor" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 293,
      "startLine" : 192,
      "endLine" : 199,
      "cleanedStartLine" : 115,
      "cleanedEndLine" : 120
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/context/AIAgentFunctionalContextImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 483,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 365,
      "startLine" : 298,
      "endLine" : 303,
      "cleanedStartLine" : 172,
      "cleanedEndLine" : 177
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/context/AIAgentFunctionalContextImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 483,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 365,
      "startLine" : 328,
      "endLine" : 333,
      "cleanedStartLine" : 199,
      "cleanedEndLine" : 204
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-core/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 40,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 3,
      "endLine" : 11,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 48,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 3,
      "endLine" : 11,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "koog-spring-boot-starter/src/main/kotlin/ai/koog/spring/prompt/executor/clients/deepseek/DeepSeekKoogProperties.kt",
        "extension" : "kt",
        "linesOfCode" : 20,
        "components" : [ "primary::koog-spring-boot-starter" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 12,
      "startLine" : 29,
      "endLine" : 38,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "koog-spring-boot-starter/src/main/kotlin/ai/koog/spring/prompt/executor/clients/google/GoogleKoogProperties.kt",
        "extension" : "kt",
        "linesOfCode" : 19,
        "components" : [ "primary::koog-spring-boot-starter" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 12,
      "startLine" : 56,
      "endLine" : 65,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 295,
      "endLine" : 300,
      "cleanedStartLine" : 144,
      "cleanedEndLine" : 149
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 329,
      "endLine" : 334,
      "cleanedStartLine" : 164,
      "cleanedEndLine" : 169
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentGraphPipelineAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 94,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 81,
      "startLine" : 60,
      "endLine" : 65,
      "cleanedStartLine" : 32,
      "cleanedEndLine" : 37
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentGraphPipelineImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 181,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 142,
      "startLine" : 98,
      "endLine" : 103,
      "cleanedStartLine" : 49,
      "cleanedEndLine" : 54
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-event-handler/src/jvmTest/kotlin/ai/koog/agents/features/eventHandler/feature/EventHandlerTest.kt",
        "extension" : "kt",
        "linesOfCode" : 637,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 548,
      "startLine" : 254,
      "endLine" : 259,
      "cleanedStartLine" : 179,
      "cleanedEndLine" : 184
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-event-handler/src/jvmTest/kotlin/ai/koog/agents/features/eventHandler/feature/EventHandlerTest.kt",
        "extension" : "kt",
        "linesOfCode" : 637,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 548,
      "startLine" : 262,
      "endLine" : 267,
      "cleanedStartLine" : 187,
      "cleanedEndLine" : 192
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/model/events/toolExecutionEvents.kt",
        "extension" : "kt",
        "linesOfCode" : 176,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 165,
      "startLine" : 174,
      "endLine" : 179,
      "cleanedStartLine" : 100,
      "cleanedEndLine" : 105
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/model/events/toolExecutionEvents.kt",
        "extension" : "kt",
        "linesOfCode" : 176,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 165,
      "startLine" : 234,
      "endLine" : 239,
      "cleanedStartLine" : 137,
      "cleanedEndLine" : 142
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/agent/SingleRunStrategyTests.kt",
        "extension" : "kt",
        "linesOfCode" : 234,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 186,
      "startLine" : 15,
      "endLine" : 23,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 10
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/agent/SingleRunStrategyTests.kt",
        "extension" : "kt",
        "linesOfCode" : 234,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 186,
      "startLine" : 137,
      "endLine" : 145,
      "cleanedStartLine" : 83,
      "cleanedEndLine" : 88
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rag/rag-base/src/jvmTest/kotlin/ai/koog/rag/base/files/JVMFileSystemProviderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 933,
        "components" : [ "primary::rag" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 724,
      "startLine" : 588,
      "endLine" : 594,
      "cleanedStartLine" : 362,
      "cleanedEndLine" : 367
    }, {
      "file" : {
        "relativePath" : "rag/rag-base/src/jvmTest/kotlin/ai/koog/rag/base/files/JVMFileSystemProviderTest.kt",
        "extension" : "kt",
        "linesOfCode" : 933,
        "components" : [ "primary::rag" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 724,
      "startLine" : 687,
      "endLine" : 693,
      "cleanedStartLine" : 424,
      "cleanedEndLine" : 429
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openrouter-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/openrouter/models/OpenRouterSerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 670,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 554,
      "startLine" : 56,
      "endLine" : 64,
      "cleanedStartLine" : 21,
      "cleanedEndLine" : 26
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openrouter-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/openrouter/models/OpenRouterSerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 670,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 554,
      "startLine" : 91,
      "endLine" : 99,
      "cleanedStartLine" : 47,
      "cleanedEndLine" : 52
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/ext/agent/AIAgentSubgraphExt.kt",
        "extension" : "kt",
        "linesOfCode" : 376,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 310,
      "startLine" : 161,
      "endLine" : 166,
      "cleanedStartLine" : 41,
      "cleanedEndLine" : 46
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/ext/agent/AIAgentSubgraphExt.kt",
        "extension" : "kt",
        "linesOfCode" : 376,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 310,
      "startLine" : 202,
      "endLine" : 207,
      "cleanedStartLine" : 65,
      "cleanedEndLine" : 70
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/appleMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 88,
      "endLine" : 93,
      "cleanedStartLine" : 69,
      "cleanedEndLine" : 74
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jsMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 117,
      "endLine" : 122,
      "cleanedStartLine" : 97,
      "cleanedEndLine" : 102
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/agent/FunctionalAIAgentTest.kt",
        "extension" : "kt",
        "linesOfCode" : 674,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 581,
      "startLine" : 779,
      "endLine" : 787,
      "cleanedStartLine" : 574,
      "cleanedEndLine" : 579
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/agent/GraphAIAgentTest.kt",
        "extension" : "kt",
        "linesOfCode" : 44,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 28,
      "startLine" : 40,
      "endLine" : 48,
      "cleanedStartLine" : 21,
      "cleanedEndLine" : 26
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/agent/SingleRunStrategyTests.kt",
        "extension" : "kt",
        "linesOfCode" : 234,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 186,
      "startLine" : 15,
      "endLine" : 23,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 10
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/agent/SingleRunStrategyTests.kt",
        "extension" : "kt",
        "linesOfCode" : 234,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 186,
      "startLine" : 176,
      "endLine" : 184,
      "cleanedStartLine" : 109,
      "cleanedEndLine" : 114
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/androidMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 88,
      "endLine" : 93,
      "cleanedStartLine" : 69,
      "cleanedEndLine" : 74
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmMain/kotlin/ai/koog/agents/core/agent/AIAgentService.kt",
        "extension" : "kt",
        "linesOfCode" : 176,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 153,
      "startLine" : 269,
      "endLine" : 274,
      "cleanedStartLine" : 139,
      "cleanedEndLine" : 144
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/modelfamilies/BedrockToolSerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 230,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 205,
      "startLine" : 207,
      "endLine" : 212,
      "cleanedStartLine" : 166,
      "cleanedEndLine" : 171
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client-base/src/commonTest/kotlin/ai/koog/prompt/executor/clients/openai/base/OpenAICompatibleToolDescriptorConverterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 214,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 181,
      "startLine" : 200,
      "endLine" : 205,
      "cleanedStartLine" : 154,
      "cleanedEndLine" : 159
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/feature/AIAgentPipelineTest.kt",
        "extension" : "kt",
        "linesOfCode" : 736,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 595,
      "startLine" : 577,
      "endLine" : 585,
      "cleanedStartLine" : 371,
      "cleanedEndLine" : 376
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/feature/AIAgentPipelineTest.kt",
        "extension" : "kt",
        "linesOfCode" : 736,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 595,
      "startLine" : 747,
      "endLine" : 755,
      "cleanedStartLine" : 488,
      "cleanedEndLine" : 493
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerSubgraphTest.kt",
        "extension" : "kt",
        "linesOfCode" : 262,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 194,
      "startLine" : 166,
      "endLine" : 176,
      "cleanedStartLine" : 88,
      "cleanedEndLine" : 93
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerTest.kt",
        "extension" : "kt",
        "linesOfCode" : 521,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 437,
      "startLine" : 542,
      "endLine" : 552,
      "cleanedStartLine" : 426,
      "cleanedEndLine" : 431
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/SubgraphWithTaskTest.kt",
        "extension" : "kt",
        "linesOfCode" : 603,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 509,
      "startLine" : 123,
      "endLine" : 129,
      "cleanedStartLine" : 64,
      "cleanedEndLine" : 69
    }, {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/SubgraphWithTaskTest.kt",
        "extension" : "kt",
        "linesOfCode" : 603,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 509,
      "startLine" : 480,
      "endLine" : 486,
      "cleanedStartLine" : 310,
      "cleanedEndLine" : 315
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/appleMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 69,
      "endLine" : 74,
      "cleanedStartLine" : 50,
      "cleanedEndLine" : 55
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jsMain/kotlin/ai/koog/agents/core/agent/AIAgentService.kt",
        "extension" : "kt",
        "linesOfCode" : 89,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 79,
      "startLine" : 66,
      "endLine" : 71,
      "cleanedStartLine" : 48,
      "cleanedEndLine" : 53
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/feature/AIAgentPipelineTest.kt",
        "extension" : "kt",
        "linesOfCode" : 736,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 595,
      "startLine" : 577,
      "endLine" : 585,
      "cleanedStartLine" : 371,
      "cleanedEndLine" : 376
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/feature/AIAgentPipelineTest.kt",
        "extension" : "kt",
        "linesOfCode" : 736,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 595,
      "startLine" : 690,
      "endLine" : 698,
      "cleanedStartLine" : 450,
      "cleanedEndLine" : 455
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/ext/agent/AIAgentSubgraphExt.kt",
        "extension" : "kt",
        "linesOfCode" : 376,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 310,
      "startLine" : 161,
      "endLine" : 166,
      "cleanedStartLine" : 41,
      "cleanedEndLine" : 46
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/ext/agent/AIAgentSubgraphExt.kt",
        "extension" : "kt",
        "linesOfCode" : 376,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 310,
      "startLine" : 242,
      "endLine" : 247,
      "cleanedStartLine" : 87,
      "cleanedEndLine" : 92
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/androidMain/kotlin/ai/koog/agents/core/agent/AIAgentService.kt",
        "extension" : "kt",
        "linesOfCode" : 89,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 79,
      "startLine" : 83,
      "endLine" : 88,
      "cleanedStartLine" : 65,
      "cleanedEndLine" : 70
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jsMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 117,
      "endLine" : 122,
      "cleanedStartLine" : 97,
      "cleanedEndLine" : 102
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/agent/SingleRunStrategyTests.kt",
        "extension" : "kt",
        "linesOfCode" : 234,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 186,
      "startLine" : 15,
      "endLine" : 23,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 10
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/agent/SingleRunStrategyTests.kt",
        "extension" : "kt",
        "linesOfCode" : 234,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 186,
      "startLine" : 46,
      "endLine" : 54,
      "cleanedStartLine" : 25,
      "cleanedEndLine" : 30
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/modelfamilies/anthropic/BedrockAnthropicClaudeSerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 437,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 346,
      "startLine" : 415,
      "endLine" : 421,
      "cleanedStartLine" : 287,
      "cleanedEndLine" : 292
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/modelfamilies/anthropic/BedrockAnthropicClaudeSerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 437,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 346,
      "startLine" : 425,
      "endLine" : 431,
      "cleanedStartLine" : 294,
      "cleanedEndLine" : 299
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/BedrockLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 751,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 628,
      "startLine" : 149,
      "endLine" : 154,
      "cleanedStartLine" : 65,
      "cleanedEndLine" : 70
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/BedrockLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 751,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 628,
      "startLine" : 854,
      "endLine" : 859,
      "cleanedStartLine" : 601,
      "cleanedEndLine" : 606
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicParams.kt",
        "extension" : "kt",
        "linesOfCode" : 154,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 135,
      "startLine" : 64,
      "endLine" : 69,
      "cleanedStartLine" : 32,
      "cleanedEndLine" : 37
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonMain/kotlin/ai/koog/prompt/params/LLMParams.kt",
        "extension" : "kt",
        "linesOfCode" : 169,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 141,
      "startLine" : 170,
      "endLine" : 175,
      "cleanedStartLine" : 77,
      "cleanedEndLine" : 82
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/debugger/Debugger.kt",
        "extension" : "kt",
        "linesOfCode" : 399,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 318,
      "startLine" : 331,
      "endLine" : 336,
      "cleanedStartLine" : 178,
      "cleanedEndLine" : 183
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/commonMain/kotlin/ai/koog/agents/features/tracing/feature/Tracing.kt",
        "extension" : "kt",
        "linesOfCode" : 335,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 266,
      "startLine" : 391,
      "endLine" : 396,
      "cleanedStartLine" : 220,
      "cleanedEndLine" : 225
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/TraceStructureTestBase.kt",
        "extension" : "kt",
        "linesOfCode" : 802,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 688,
      "startLine" : 230,
      "endLine" : 235,
      "cleanedStartLine" : 130,
      "cleanedEndLine" : 135
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/TraceStructureTestBase.kt",
        "extension" : "kt",
        "linesOfCode" : 802,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 688,
      "startLine" : 243,
      "endLine" : 248,
      "cleanedStartLine" : 142,
      "cleanedEndLine" : 147
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/androidMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 117,
      "endLine" : 122,
      "cleanedStartLine" : 97,
      "cleanedEndLine" : 102
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jsMain/kotlin/ai/koog/agents/core/agent/AIAgentService.kt",
        "extension" : "kt",
        "linesOfCode" : 89,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 79,
      "startLine" : 83,
      "endLine" : 88,
      "cleanedStartLine" : 65,
      "cleanedEndLine" : 70
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/debugger/Debugger.kt",
        "extension" : "kt",
        "linesOfCode" : 399,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 318,
      "startLine" : 331,
      "endLine" : 336,
      "cleanedStartLine" : 178,
      "cleanedEndLine" : 183
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/commonMain/kotlin/ai/koog/agents/features/tracing/feature/Tracing.kt",
        "extension" : "kt",
        "linesOfCode" : 335,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 266,
      "startLine" : 407,
      "endLine" : 412,
      "cleanedStartLine" : 234,
      "cleanedEndLine" : 239
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 47,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 3,
      "endLine" : 11,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    }, {
      "file" : {
        "relativePath" : "a2a/a2a-core/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 40,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 3,
      "endLine" : 11,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client-base/src/commonTest/kotlin/ai/koog/prompt/executor/clients/openai/structure/OpenAIBasicJsonSchemaGeneratorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 152,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 134,
      "startLine" : 13,
      "endLine" : 18,
      "cleanedStartLine" : 3,
      "cleanedEndLine" : 8
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client-base/src/commonTest/kotlin/ai/koog/prompt/executor/clients/openai/structure/OpenAIStandardJsonSchemaGeneratorTest.kt",
        "extension" : "kt",
        "linesOfCode" : 375,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 342,
      "startLine" : 14,
      "endLine" : 19,
      "cleanedStartLine" : 3,
      "cleanedEndLine" : 8
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/SubgraphWithRetryTest.kt",
        "extension" : "kt",
        "linesOfCode" : 429,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 348,
      "startLine" : 290,
      "endLine" : 297,
      "cleanedStartLine" : 192,
      "cleanedEndLine" : 197
    }, {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/SubgraphWithRetryTest.kt",
        "extension" : "kt",
        "linesOfCode" : 429,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 348,
      "startLine" : 464,
      "endLine" : 471,
      "cleanedStartLine" : 319,
      "cleanedEndLine" : 324
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openrouter-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openrouter/OpenRouterParams.kt",
        "extension" : "kt",
        "linesOfCode" : 197,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 177,
      "startLine" : 75,
      "endLine" : 80,
      "cleanedStartLine" : 38,
      "cleanedEndLine" : 43
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-model/src/commonMain/kotlin/ai/koog/prompt/params/LLMParams.kt",
        "extension" : "kt",
        "linesOfCode" : 169,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 141,
      "startLine" : 170,
      "endLine" : 175,
      "cleanedStartLine" : 77,
      "cleanedEndLine" : 82
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/model/events/llmCallEvents.kt",
        "extension" : "kt",
        "linesOfCode" : 93,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 84,
      "startLine" : 46,
      "endLine" : 51,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 20
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/model/events/llmStreamingEvents.kt",
        "extension" : "kt",
        "linesOfCode" : 136,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 125,
      "startLine" : 43,
      "endLine" : 48,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 20
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/TraceStructureTestBase.kt",
        "extension" : "kt",
        "linesOfCode" : 802,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 688,
      "startLine" : 182,
      "endLine" : 188,
      "cleanedStartLine" : 97,
      "cleanedEndLine" : 102
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/TraceStructureTestBase.kt",
        "extension" : "kt",
        "linesOfCode" : 802,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 688,
      "startLine" : 672,
      "endLine" : 678,
      "cleanedStartLine" : 478,
      "cleanedEndLine" : 483
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentGraphPipelineImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 181,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 142,
      "startLine" : 110,
      "endLine" : 115,
      "cleanedStartLine" : 59,
      "cleanedEndLine" : 64
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentGraphPipelineImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 181,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 142,
      "startLine" : 138,
      "endLine" : 143,
      "cleanedStartLine" : 84,
      "cleanedEndLine" : 89
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/debugger/Debugger.kt",
        "extension" : "kt",
        "linesOfCode" : 399,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 318,
      "startLine" : 331,
      "endLine" : 336,
      "cleanedStartLine" : 178,
      "cleanedEndLine" : 183
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/commonMain/kotlin/ai/koog/agents/features/tracing/feature/Tracing.kt",
        "extension" : "kt",
        "linesOfCode" : 335,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 266,
      "startLine" : 422,
      "endLine" : 427,
      "cleanedStartLine" : 247,
      "cleanedEndLine" : 252
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/modelfamilies/anthropic/BedrockAnthropicClaudeSerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 437,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 346,
      "startLine" : 98,
      "endLine" : 103,
      "cleanedStartLine" : 53,
      "cleanedEndLine" : 58
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/modelfamilies/anthropic/BedrockAnthropicClaudeSerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 437,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 346,
      "startLine" : 130,
      "endLine" : 135,
      "cleanedStartLine" : 77,
      "cleanedEndLine" : 82
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/dashscope/models/DashscopeChatCompletion.kt",
        "extension" : "kt",
        "linesOfCode" : 62,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 47,
      "startLine" : 79,
      "endLine" : 84,
      "cleanedStartLine" : 37,
      "cleanedEndLine" : 42
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/mistralai/models/MistralAIChatCompletion.kt",
        "extension" : "kt",
        "linesOfCode" : 72,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 59,
      "startLine" : 123,
      "endLine" : 128,
      "cleanedStartLine" : 49,
      "cleanedEndLine" : 54
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/src/jvmTest/kotlin/dashscope/DashscopeLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 255,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 196,
      "startLine" : 247,
      "endLine" : 252,
      "cleanedStartLine" : 165,
      "cleanedEndLine" : 170
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-deepseek-client/src/jvmTest/kotlin/deepseek/DeepSeekLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 247,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 191,
      "startLine" : 239,
      "endLine" : 244,
      "cleanedStartLine" : 160,
      "cleanedEndLine" : 165
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jsMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 117,
      "endLine" : 122,
      "cleanedStartLine" : 97,
      "cleanedEndLine" : 102
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/wasmJsMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 143,
      "endLine" : 148,
      "cleanedStartLine" : 122,
      "cleanedEndLine" : 127
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageTestWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 623,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 501,
      "startLine" : 405,
      "endLine" : 410,
      "cleanedStartLine" : 251,
      "cleanedEndLine" : 256
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageTestWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 623,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 501,
      "startLine" : 530,
      "endLine" : 535,
      "cleanedStartLine" : 350,
      "cleanedEndLine" : 355
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/ai/koog/agents/snapshot/providers/file/FileCheckpointsTests.kt",
        "extension" : "kt",
        "linesOfCode" : 236,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 188,
      "startLine" : 119,
      "endLine" : 125,
      "cleanedStartLine" : 66,
      "cleanedEndLine" : 71
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/ai/koog/agents/snapshot/providers/file/FileCheckpointsTests.kt",
        "extension" : "kt",
        "linesOfCode" : 236,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 188,
      "startLine" : 160,
      "endLine" : 166,
      "cleanedStartLine" : 98,
      "cleanedEndLine" : 103
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-event-handler/src/androidMain/kotlin/ai/koog/agents/features/eventHandler/feature/EventHandlerConfig.kt",
        "extension" : "kt",
        "linesOfCode" : 7,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 6,
      "startLine" : 1,
      "endLine" : 10,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-event-handler/src/wasmJsMain/kotlin/ai/koog/agents/features/eventHandler/feature/EventHandlerConfig.kt",
        "extension" : "kt",
        "linesOfCode" : 7,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 6,
      "startLine" : 1,
      "endLine" : 10,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmMain/kotlin/ai/koog/agents/ext/agent/AIAgentSubgraphExt.jvm.kt",
        "extension" : "kt",
        "linesOfCode" : 47,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 35,
      "endLine" : 40,
      "cleanedStartLine" : 6,
      "cleanedEndLine" : 11
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmMain/kotlin/ai/koog/agents/ext/agent/AIAgentSubgraphExt.jvm.kt",
        "extension" : "kt",
        "linesOfCode" : 47,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 67,
      "endLine" : 72,
      "cleanedStartLine" : 23,
      "cleanedEndLine" : 28
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/mock/TestAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 82,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 63,
      "startLine" : 128,
      "endLine" : 133,
      "cleanedStartLine" : 58,
      "cleanedEndLine" : 63
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/mock/TestAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 85,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 64,
      "startLine" : 131,
      "endLine" : 136,
      "cleanedStartLine" : 59,
      "cleanedEndLine" : 64
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/dsl/extension/AIAgentNodesTest.kt",
        "extension" : "kt",
        "linesOfCode" : 199,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 155,
      "startLine" : 38,
      "endLine" : 44,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 15
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/dsl/extension/ParallelNodesMergeContextTest.kt",
        "extension" : "kt",
        "linesOfCode" : 133,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 95,
      "startLine" : 36,
      "endLine" : 42,
      "cleanedStartLine" : 12,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryNodeExecuteSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 307,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 276,
      "startLine" : 55,
      "endLine" : 60,
      "cleanedStartLine" : 28,
      "cleanedEndLine" : 33
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetrySubgraphTest.kt",
        "extension" : "kt",
        "linesOfCode" : 334,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 313,
      "startLine" : 305,
      "endLine" : 310,
      "cleanedStartLine" : 247,
      "cleanedEndLine" : 252
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-tools/src/commonTest/kotlin/ai/koog/agents/core/tools/serialization/ToolParameterTypesTest.kt",
        "extension" : "kt",
        "linesOfCode" : 560,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 449,
      "startLine" : 262,
      "endLine" : 270,
      "cleanedStartLine" : 168,
      "cleanedEndLine" : 173
    }, {
      "file" : {
        "relativePath" : "agents/agents-tools/src/commonTest/kotlin/ai/koog/agents/core/tools/serialization/ToolParameterTypesTest.kt",
        "extension" : "kt",
        "linesOfCode" : 560,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 449,
      "startLine" : 398,
      "endLine" : 406,
      "cleanedStartLine" : 271,
      "cleanedEndLine" : 276
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/dsl/extension/AIAgentNodesTest.kt",
        "extension" : "kt",
        "linesOfCode" : 199,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 155,
      "startLine" : 54,
      "endLine" : 60,
      "cleanedStartLine" : 23,
      "cleanedEndLine" : 28
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/dsl/extension/AIAgentNodesTest.kt",
        "extension" : "kt",
        "linesOfCode" : 199,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 155,
      "startLine" : 115,
      "endLine" : 121,
      "cleanedStartLine" : 67,
      "cleanedEndLine" : 72
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 48,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 36,
      "endLine" : 44,
      "cleanedStartLine" : 25,
      "cleanedEndLine" : 30
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 30,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 20,
      "startLine" : 20,
      "endLine" : 28,
      "cleanedStartLine" : 12,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryNodeExecuteSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 307,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 276,
      "startLine" : 112,
      "endLine" : 117,
      "cleanedStartLine" : 75,
      "cleanedEndLine" : 80
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryNodeExecuteSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 307,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 276,
      "startLine" : 319,
      "endLine" : 324,
      "cleanedStartLine" : 250,
      "cleanedEndLine" : 255
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmMain/kotlin/ai/koog/prompt/executor/clients/bedrock/modelfamilies/ai21/BedrockAI21JambaSerialization.kt",
        "extension" : "kt",
        "linesOfCode" : 184,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 147,
      "startLine" : 52,
      "endLine" : 57,
      "cleanedStartLine" : 26,
      "cleanedEndLine" : 31
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmMain/kotlin/ai/koog/prompt/executor/clients/bedrock/modelfamilies/ai21/BedrockAI21JambaSerialization.kt",
        "extension" : "kt",
        "linesOfCode" : 184,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 147,
      "startLine" : 67,
      "endLine" : 72,
      "cleanedStartLine" : 40,
      "cleanedEndLine" : 45
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jsMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 117,
      "endLine" : 122,
      "cleanedStartLine" : 97,
      "cleanedEndLine" : 102
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jsMain/kotlin/ai/koog/agents/core/agent/AIAgentService.kt",
        "extension" : "kt",
        "linesOfCode" : 89,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 79,
      "startLine" : 83,
      "endLine" : 88,
      "cleanedStartLine" : 65,
      "cleanedEndLine" : 70
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/langfuse/LangfuseTraceStructureTest.kt",
        "extension" : "kt",
        "linesOfCode" : 249,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 236,
      "startLine" : 121,
      "endLine" : 126,
      "cleanedStartLine" : 97,
      "cleanedEndLine" : 102
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/weave/WeaveTraceStructureTest.kt",
        "extension" : "kt",
        "linesOfCode" : 270,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 257,
      "startLine" : 177,
      "endLine" : 182,
      "cleanedStartLine" : 151,
      "cleanedEndLine" : 156
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/androidMain/kotlin/ai/koog/agents/core/agent/AIAgentService.kt",
        "extension" : "kt",
        "linesOfCode" : 89,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 79,
      "startLine" : 83,
      "endLine" : 88,
      "cleanedStartLine" : 65,
      "cleanedEndLine" : 70
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/wasmJsMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 143,
      "endLine" : 148,
      "cleanedStartLine" : 122,
      "cleanedEndLine" : 127
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicModels.kt",
        "extension" : "kt",
        "linesOfCode" : 195,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 178,
      "startLine" : 125,
      "endLine" : 130,
      "cleanedStartLine" : 50,
      "cleanedEndLine" : 55
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicModels.kt",
        "extension" : "kt",
        "linesOfCode" : 195,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 178,
      "startLine" : 275,
      "endLine" : 280,
      "cleanedStartLine" : 140,
      "cleanedEndLine" : 145
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicModels.kt",
        "extension" : "kt",
        "linesOfCode" : 195,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 178,
      "startLine" : 125,
      "endLine" : 130,
      "cleanedStartLine" : 50,
      "cleanedEndLine" : 55
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicModels.kt",
        "extension" : "kt",
        "linesOfCode" : 195,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 178,
      "startLine" : 300,
      "endLine" : 305,
      "cleanedStartLine" : 155,
      "cleanedEndLine" : 160
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/androidMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 117,
      "endLine" : 122,
      "cleanedStartLine" : 97,
      "cleanedEndLine" : 102
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/appleMain/kotlin/ai/koog/agents/core/agent/AIAgentService.kt",
        "extension" : "kt",
        "linesOfCode" : 89,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 79,
      "startLine" : 83,
      "endLine" : 88,
      "cleanedStartLine" : 65,
      "cleanedEndLine" : 70
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/appleMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 143,
      "endLine" : 148,
      "cleanedStartLine" : 122,
      "cleanedEndLine" : 127
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jsMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 117,
      "endLine" : 122,
      "cleanedStartLine" : 97,
      "cleanedEndLine" : 102
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/androidMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 117,
      "endLine" : 122,
      "cleanedStartLine" : 97,
      "cleanedEndLine" : 102
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmMain/kotlin/ai/koog/agents/core/agent/AIAgentService.kt",
        "extension" : "kt",
        "linesOfCode" : 176,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 153,
      "startLine" : 269,
      "endLine" : 274,
      "cleanedStartLine" : 139,
      "cleanedEndLine" : 144
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerTest.kt",
        "extension" : "kt",
        "linesOfCode" : 521,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 437,
      "startLine" : 332,
      "endLine" : 337,
      "cleanedStartLine" : 216,
      "cleanedEndLine" : 221
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageRemoteWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 816,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 671,
      "startLine" : 439,
      "endLine" : 444,
      "cleanedStartLine" : 280,
      "cleanedEndLine" : 285
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/appleMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 143,
      "endLine" : 148,
      "cleanedStartLine" : 122,
      "cleanedEndLine" : 127
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 156,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 141,
      "startLine" : 161,
      "endLine" : 166,
      "cleanedStartLine" : 109,
      "cleanedEndLine" : 114
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryNodeExecuteSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 307,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 276,
      "startLine" : 79,
      "endLine" : 84,
      "cleanedStartLine" : 52,
      "cleanedEndLine" : 57
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetrySubgraphTest.kt",
        "extension" : "kt",
        "linesOfCode" : 334,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 313,
      "startLine" : 365,
      "endLine" : 370,
      "cleanedStartLine" : 307,
      "cleanedEndLine" : 312
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/agent/config/MissingToolsConversionStrategyTest.kt",
        "extension" : "kt",
        "linesOfCode" : 202,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 171,
      "startLine" : 96,
      "endLine" : 101,
      "cleanedStartLine" : 64,
      "cleanedEndLine" : 69
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/agent/config/MissingToolsConversionStrategyTest.kt",
        "extension" : "kt",
        "linesOfCode" : 202,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 171,
      "startLine" : 123,
      "endLine" : 128,
      "cleanedStartLine" : 84,
      "cleanedEndLine" : 89
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/appleMain/kotlin/ai/koog/agents/core/agent/AIAgentService.kt",
        "extension" : "kt",
        "linesOfCode" : 89,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 79,
      "startLine" : 83,
      "endLine" : 88,
      "cleanedStartLine" : 65,
      "cleanedEndLine" : 70
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jsMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 143,
      "endLine" : 148,
      "cleanedStartLine" : 122,
      "cleanedEndLine" : 127
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/androidMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 117,
      "endLine" : 122,
      "cleanedStartLine" : 97,
      "cleanedEndLine" : 102
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/wasmJsMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 143,
      "endLine" : 148,
      "cleanedStartLine" : 122,
      "cleanedEndLine" : 127
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageRemoteWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 816,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 671,
      "startLine" : 445,
      "endLine" : 450,
      "cleanedStartLine" : 286,
      "cleanedEndLine" : 291
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageRemoteWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 816,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 671,
      "startLine" : 894,
      "endLine" : 899,
      "cleanedStartLine" : 637,
      "cleanedEndLine" : 642
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryNodeExecuteSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 307,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 276,
      "startLine" : 55,
      "endLine" : 60,
      "cleanedStartLine" : 28,
      "cleanedEndLine" : 33
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetrySubgraphTest.kt",
        "extension" : "kt",
        "linesOfCode" : 334,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 313,
      "startLine" : 189,
      "endLine" : 194,
      "cleanedStartLine" : 148,
      "cleanedEndLine" : 153
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageFileWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 509,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 418,
      "startLine" : 565,
      "endLine" : 570,
      "cleanedStartLine" : 405,
      "cleanedEndLine" : 410
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageLogWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 480,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 396,
      "startLine" : 157,
      "endLine" : 162,
      "cleanedStartLine" : 76,
      "cleanedEndLine" : 81
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmMain/kotlin/ai/koog/agents/core/agent/AIAgentService.kt",
        "extension" : "kt",
        "linesOfCode" : 176,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 153,
      "startLine" : 269,
      "endLine" : 274,
      "cleanedStartLine" : 139,
      "cleanedEndLine" : 144
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/wasmJsMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 88,
      "endLine" : 93,
      "cleanedStartLine" : 69,
      "cleanedEndLine" : 74
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentGraphPipelineAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 94,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 81,
      "startLine" : 80,
      "endLine" : 85,
      "cleanedStartLine" : 50,
      "cleanedEndLine" : 55
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentGraphPipelineImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 181,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 142,
      "startLine" : 110,
      "endLine" : 115,
      "cleanedStartLine" : 59,
      "cleanedEndLine" : 64
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmMain/kotlin/ai/koog/agents/core/agent/AIAgentService.kt",
        "extension" : "kt",
        "linesOfCode" : 176,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 153,
      "startLine" : 269,
      "endLine" : 274,
      "cleanedStartLine" : 139,
      "cleanedEndLine" : 144
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/wasmJsMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 117,
      "endLine" : 122,
      "cleanedStartLine" : 97,
      "cleanedEndLine" : 102
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "koog-spring-boot-starter/src/main/kotlin/ai/koog/spring/prompt/executor/clients/deepseek/DeepSeekKoogProperties.kt",
        "extension" : "kt",
        "linesOfCode" : 20,
        "components" : [ "primary::koog-spring-boot-starter" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 12,
      "startLine" : 29,
      "endLine" : 38,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "koog-spring-boot-starter/src/main/kotlin/ai/koog/spring/prompt/executor/clients/openrouter/OpenRouterKoogProperties.kt",
        "extension" : "kt",
        "linesOfCode" : 19,
        "components" : [ "primary::koog-spring-boot-starter" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 12,
      "startLine" : 31,
      "endLine" : 40,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 156,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 141,
      "startLine" : 113,
      "endLine" : 118,
      "cleanedStartLine" : 62,
      "cleanedEndLine" : 67
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmMain/kotlin/ai/koog/agents/core/agent/AIAgentService.kt",
        "extension" : "kt",
        "linesOfCode" : 176,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 153,
      "startLine" : 252,
      "endLine" : 257,
      "cleanedStartLine" : 122,
      "cleanedEndLine" : 127
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-mcp-server/src/jvmTest/kotlin/ai/koog/agents/mcp/server/KoogToolAsMcpToolTest.kt",
        "extension" : "kt",
        "linesOfCode" : 156,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 101,
      "startLine" : 53,
      "endLine" : 63,
      "cleanedStartLine" : 17,
      "cleanedEndLine" : 22
    }, {
      "file" : {
        "relativePath" : "agents/agents-mcp-server/src/jvmTest/kotlin/ai/koog/agents/mcp/server/KoogToolAsMcpToolTest.kt",
        "extension" : "kt",
        "linesOfCode" : 156,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 101,
      "startLine" : 127,
      "endLine" : 137,
      "cleanedStartLine" : 58,
      "cleanedEndLine" : 63
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/SubgraphWithTaskTest.kt",
        "extension" : "kt",
        "linesOfCode" : 603,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 509,
      "startLine" : 457,
      "endLine" : 463,
      "cleanedStartLine" : 294,
      "cleanedEndLine" : 299
    }, {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/SubgraphWithTaskTest.kt",
        "extension" : "kt",
        "linesOfCode" : 603,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 509,
      "startLine" : 607,
      "endLine" : 613,
      "cleanedStartLine" : 399,
      "cleanedEndLine" : 404
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/mistralai/MistralAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 132,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 123,
      "startLine" : 115,
      "endLine" : 120,
      "cleanedStartLine" : 54,
      "cleanedEndLine" : 59
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/mistralai/MistralAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 132,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 123,
      "startLine" : 168,
      "endLine" : 173,
      "cleanedStartLine" : 85,
      "cleanedEndLine" : 90
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/context/AIAgentFunctionalContext.kt",
        "extension" : "kt",
        "linesOfCode" : 179,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 153,
      "startLine" : 219,
      "endLine" : 224,
      "cleanedStartLine" : 114,
      "cleanedEndLine" : 119
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/context/AIAgentFunctionalContextAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 135,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 110,
      "startLine" : 299,
      "endLine" : 304,
      "cleanedStartLine" : 78,
      "cleanedEndLine" : 83
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/langfuse/LangfuseTraceStructureTest.kt",
        "extension" : "kt",
        "linesOfCode" : 249,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 236,
      "startLine" : 121,
      "endLine" : 126,
      "cleanedStartLine" : 97,
      "cleanedEndLine" : 102
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/langfuse/LangfuseTraceStructureTest.kt",
        "extension" : "kt",
        "linesOfCode" : 249,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 236,
      "startLine" : 174,
      "endLine" : 179,
      "cleanedStartLine" : 146,
      "cleanedEndLine" : 151
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/openai/models/OpenAIChatCompletionRequestSerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 149,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 109,
      "startLine" : 28,
      "endLine" : 33,
      "cleanedStartLine" : 6,
      "cleanedEndLine" : 11
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/openai/models/OpenAIChatCompletionRequestSerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 149,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 109,
      "startLine" : 49,
      "endLine" : 54,
      "cleanedStartLine" : 23,
      "cleanedEndLine" : 28
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-ollama-client/src/commonTest/kotlin/ai/koog/prompt/executor/ollama/client/OllamaToolCallTest.kt",
        "extension" : "kt",
        "linesOfCode" : 210,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 189,
      "startLine" : 188,
      "endLine" : 193,
      "cleanedStartLine" : 139,
      "cleanedEndLine" : 144
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-ollama-client/src/commonTest/kotlin/ai/koog/prompt/executor/ollama/client/OllamaToolCallTest.kt",
        "extension" : "kt",
        "linesOfCode" : 210,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 189,
      "startLine" : 201,
      "endLine" : 206,
      "cleanedStartLine" : 151,
      "cleanedEndLine" : 156
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/SubgraphWithTaskTest.kt",
        "extension" : "kt",
        "linesOfCode" : 603,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 509,
      "startLine" : 457,
      "endLine" : 463,
      "cleanedStartLine" : 294,
      "cleanedEndLine" : 299
    }, {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/SubgraphWithTaskTest.kt",
        "extension" : "kt",
        "linesOfCode" : 603,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 509,
      "startLine" : 530,
      "endLine" : 536,
      "cleanedStartLine" : 344,
      "cleanedEndLine" : 349
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-event-handler/src/androidMain/kotlin/ai/koog/agents/features/eventHandler/feature/EventHandlerConfig.kt",
        "extension" : "kt",
        "linesOfCode" : 7,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 6,
      "startLine" : 1,
      "endLine" : 10,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-event-handler/src/appleMain/kotlin/ai/koog/agents/features/eventHandler/feature/EventHandlerConfig.kt",
        "extension" : "kt",
        "linesOfCode" : 7,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 6,
      "startLine" : 1,
      "endLine" : 10,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipeline.kt",
        "extension" : "kt",
        "linesOfCode" : 448,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 394,
      "startLine" : 412,
      "endLine" : 417,
      "cleanedStartLine" : 135,
      "cleanedEndLine" : 140
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 328,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 286,
      "startLine" : 140,
      "endLine" : 145,
      "cleanedStartLine" : 74,
      "cleanedEndLine" : 79
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "koog-ktor/src/commonTest/kotlin/ai/koog/ktor/ConfigurationLoadingTest.kt",
        "extension" : "kt",
        "linesOfCode" : 331,
        "components" : [ "primary::koog-ktor" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 293,
      "startLine" : 140,
      "endLine" : 145,
      "cleanedStartLine" : 81,
      "cleanedEndLine" : 86
    }, {
      "file" : {
        "relativePath" : "koog-ktor/src/commonTest/kotlin/ai/koog/ktor/ConfigurationLoadingTest.kt",
        "extension" : "kt",
        "linesOfCode" : 331,
        "components" : [ "primary::koog-ktor" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 293,
      "startLine" : 173,
      "endLine" : 178,
      "cleanedStartLine" : 102,
      "cleanedEndLine" : 107
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 556,
      "endLine" : 573,
      "cleanedStartLine" : 306,
      "cleanedEndLine" : 311
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAIModels.kt",
        "extension" : "kt",
        "linesOfCode" : 452,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 440,
      "startLine" : 587,
      "endLine" : 604,
      "cleanedStartLine" : 325,
      "cleanedEndLine" : 330
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-ollama-client/src/commonTest/kotlin/ai/koog/prompt/executor/ollama/client/ContextWindowStrategyTest.kt",
        "extension" : "kt",
        "linesOfCode" : 196,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 162,
      "startLine" : 40,
      "endLine" : 47,
      "cleanedStartLine" : 12,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-ollama-client/src/commonTest/kotlin/ai/koog/prompt/executor/ollama/client/ContextWindowStrategyTest.kt",
        "extension" : "kt",
        "linesOfCode" : 196,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 162,
      "startLine" : 153,
      "endLine" : 160,
      "cleanedStartLine" : 101,
      "cleanedEndLine" : 106
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-core/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 40,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 3,
      "endLine" : 11,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    }, {
      "file" : {
        "relativePath" : "agents/agents-test/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 39,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 3,
      "endLine" : 11,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jsMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 117,
      "endLine" : 122,
      "cleanedStartLine" : 97,
      "cleanedEndLine" : 102
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 156,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 141,
      "startLine" : 187,
      "endLine" : 192,
      "cleanedStartLine" : 134,
      "cleanedEndLine" : 139
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/agent/AIAgentSimpleStrategies.kt",
        "extension" : "kt",
        "linesOfCode" : 57,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 39,
      "startLine" : 71,
      "endLine" : 76,
      "cleanedStartLine" : 30,
      "cleanedEndLine" : 35
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/OpenTelemetryTestAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 258,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 193,
      "startLine" : 116,
      "endLine" : 121,
      "cleanedStartLine" : 49,
      "cleanedEndLine" : 54
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-core/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 40,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 3,
      "endLine" : 11,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-event-handler/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 33,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 23,
      "startLine" : 3,
      "endLine" : 11,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageLogWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 480,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 396,
      "startLine" : 190,
      "endLine" : 195,
      "cleanedStartLine" : 108,
      "cleanedEndLine" : 113
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageLogWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 480,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 396,
      "startLine" : 201,
      "endLine" : 206,
      "cleanedStartLine" : 119,
      "cleanedEndLine" : 124
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/modelfamilies/anthropic/BedrockAnthropicClaudeSerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 437,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 346,
      "startLine" : 169,
      "endLine" : 176,
      "cleanedStartLine" : 106,
      "cleanedEndLine" : 111
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/modelfamilies/anthropic/BedrockAnthropicClaudeSerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 437,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 346,
      "startLine" : 253,
      "endLine" : 260,
      "cleanedStartLine" : 165,
      "cleanedEndLine" : 170
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/dsl/builder/AIAgentNodeBuilderTransformTest.kt",
        "extension" : "kt",
        "linesOfCode" : 86,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 65,
      "startLine" : 66,
      "endLine" : 71,
      "cleanedStartLine" : 38,
      "cleanedEndLine" : 43
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/dsl/builder/AIAgentNodeBuilderTransformTest.kt",
        "extension" : "kt",
        "linesOfCode" : 86,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 65,
      "startLine" : 94,
      "endLine" : 99,
      "cleanedStartLine" : 58,
      "cleanedEndLine" : 63
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-structure/src/commonMain/kotlin/ai/koog/prompt/structure/json/generator/BasicJsonSchemaGenerator.kt",
        "extension" : "kt",
        "linesOfCode" : 67,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 48,
      "startLine" : 31,
      "endLine" : 36,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-structure/src/commonMain/kotlin/ai/koog/prompt/structure/json/generator/StandardJsonSchemaGenerator.kt",
        "extension" : "kt",
        "linesOfCode" : 206,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 156,
      "startLine" : 38,
      "endLine" : 43,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jsMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 143,
      "endLine" : 148,
      "cleanedStartLine" : 122,
      "cleanedEndLine" : 127
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 156,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 141,
      "startLine" : 161,
      "endLine" : 166,
      "cleanedStartLine" : 109,
      "cleanedEndLine" : 114
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipeline.kt",
        "extension" : "kt",
        "linesOfCode" : 448,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 394,
      "startLine" : 217,
      "endLine" : 222,
      "cleanedStartLine" : 53,
      "cleanedEndLine" : 58
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 846,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 674,
      "startLine" : 251,
      "endLine" : 256,
      "cleanedStartLine" : 113,
      "cleanedEndLine" : 118
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageLogWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 480,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 396,
      "startLine" : 190,
      "endLine" : 195,
      "cleanedStartLine" : 108,
      "cleanedEndLine" : 113
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageLogWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 480,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 396,
      "startLine" : 214,
      "endLine" : 219,
      "cleanedStartLine" : 132,
      "cleanedEndLine" : 137
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryExecuteToolSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 184,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 154,
      "startLine" : 36,
      "endLine" : 42,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 15
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryInferenceSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 556,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 517,
      "startLine" : 264,
      "endLine" : 271,
      "cleanedStartLine" : 208,
      "cleanedEndLine" : 213
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipeline.kt",
        "extension" : "kt",
        "linesOfCode" : 448,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 394,
      "startLine" : 259,
      "endLine" : 264,
      "cleanedStartLine" : 70,
      "cleanedEndLine" : 75
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonMain/kotlin/ai/koog/agents/core/feature/pipeline/AIAgentPipelineImpl.kt",
        "extension" : "kt",
        "linesOfCode" : 846,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 674,
      "startLine" : 294,
      "endLine" : 299,
      "cleanedStartLine" : 146,
      "cleanedEndLine" : 151
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/GenAIAgentSpanUtilsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 329,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 292,
      "startLine" : 56,
      "endLine" : 63,
      "cleanedStartLine" : 30,
      "cleanedEndLine" : 35
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/GenAIAgentSpanUtilsTest.kt",
        "extension" : "kt",
        "linesOfCode" : 329,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 292,
      "startLine" : 103,
      "endLine" : 110,
      "cleanedStartLine" : 64,
      "cleanedEndLine" : 69
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-cached/src/commonMain/kotlin/ai/koog/prompt/executor/cached/CachedPromptExecutor.kt",
        "extension" : "kt",
        "linesOfCode" : 55,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 34,
      "startLine" : 38,
      "endLine" : 43,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 18
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/src/commonMain/kotlin/ai/koog/prompt/executor/clients/retry/RetryingLLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 96,
      "startLine" : 67,
      "endLine" : 72,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 20
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryAgentSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 148,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 126,
      "startLine" : 156,
      "endLine" : 161,
      "cleanedStartLine" : 110,
      "cleanedEndLine" : 115
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryInferenceSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 556,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 517,
      "startLine" : 330,
      "endLine" : 335,
      "cleanedStartLine" : 268,
      "cleanedEndLine" : 273
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-transport/a2a-transport-core-jsonrpc/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 37,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 24,
      "endLine" : 32,
      "cleanedStartLine" : 14,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-xml/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 27,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 17,
      "startLine" : 18,
      "endLine" : 26,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 15
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageFileWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 509,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 418,
      "startLine" : 444,
      "endLine" : 452,
      "cleanedStartLine" : 307,
      "cleanedEndLine" : 312
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageRemoteWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 816,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 671,
      "startLine" : 169,
      "endLine" : 177,
      "cleanedStartLine" : 57,
      "cleanedEndLine" : 62
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-deepseek-client/src/jvmTest/kotlin/deepseek/DeepSeekLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 247,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 191,
      "startLine" : 217,
      "endLine" : 224,
      "cleanedStartLine" : 145,
      "cleanedEndLine" : 150
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/mistralai/MistralAILLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 295,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 232,
      "startLine" : 249,
      "endLine" : 256,
      "cleanedStartLine" : 170,
      "cleanedEndLine" : 175
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-core/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 40,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 3,
      "endLine" : 11,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-structure/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 39,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 3,
      "endLine" : 11,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryNodeExecuteSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 307,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 276,
      "startLine" : 79,
      "endLine" : 84,
      "cleanedStartLine" : 52,
      "cleanedEndLine" : 57
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetrySubgraphTest.kt",
        "extension" : "kt",
        "linesOfCode" : 334,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 313,
      "startLine" : 237,
      "endLine" : 242,
      "cleanedStartLine" : 196,
      "cleanedEndLine" : 201
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/dsl/extension/AIAgentNodesHistoryCompressionTest.kt",
        "extension" : "kt",
        "linesOfCode" : 151,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 117,
      "startLine" : 113,
      "endLine" : 119,
      "cleanedStartLine" : 59,
      "cleanedEndLine" : 64
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/dsl/extension/AIAgentNodesTest.kt",
        "extension" : "kt",
        "linesOfCode" : 199,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 155,
      "startLine" : 115,
      "endLine" : 121,
      "cleanedStartLine" : 67,
      "cleanedEndLine" : 72
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicModels.kt",
        "extension" : "kt",
        "linesOfCode" : 195,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 178,
      "startLine" : 199,
      "endLine" : 204,
      "cleanedStartLine" : 95,
      "cleanedEndLine" : 100
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicModels.kt",
        "extension" : "kt",
        "linesOfCode" : 195,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 178,
      "startLine" : 275,
      "endLine" : 280,
      "cleanedStartLine" : 140,
      "cleanedEndLine" : 145
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicModels.kt",
        "extension" : "kt",
        "linesOfCode" : 195,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 178,
      "startLine" : 199,
      "endLine" : 204,
      "cleanedStartLine" : 95,
      "cleanedEndLine" : 100
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-anthropic-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/anthropic/AnthropicModels.kt",
        "extension" : "kt",
        "linesOfCode" : 195,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 178,
      "startLine" : 300,
      "endLine" : 305,
      "cleanedStartLine" : 155,
      "cleanedEndLine" : 160
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/src/jvmTest/kotlin/dashscope/DashscopeLLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 255,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 196,
      "startLine" : 138,
      "endLine" : 143,
      "cleanedStartLine" : 81,
      "cleanedEndLine" : 86
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-mistralai-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/mistralai/MistralAILLMClientTest.kt",
        "extension" : "kt",
        "linesOfCode" : 295,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 232,
      "startLine" : 161,
      "endLine" : 166,
      "cleanedStartLine" : 102,
      "cleanedEndLine" : 107
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/dashscope/DashscopeLLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 111,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 79,
      "startLine" : 111,
      "endLine" : 116,
      "cleanedStartLine" : 57,
      "cleanedEndLine" : 62
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openai-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openai/OpenAILLMClient.kt",
        "extension" : "kt",
        "linesOfCode" : 711,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 554,
      "startLine" : 244,
      "endLine" : 249,
      "cleanedStartLine" : 126,
      "cleanedEndLine" : 131
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/CheckpointsTests.kt",
        "extension" : "kt",
        "linesOfCode" : 793,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 646,
      "startLine" : 385,
      "endLine" : 391,
      "cleanedStartLine" : 230,
      "cleanedEndLine" : 235
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-snapshot/src/jvmTest/kotlin/ai/koog/agents/snapshot/providers/file/FileCheckpointsTests.kt",
        "extension" : "kt",
        "linesOfCode" : 236,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 188,
      "startLine" : 160,
      "endLine" : 166,
      "cleanedStartLine" : 98,
      "cleanedEndLine" : 103
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/androidMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 69,
      "endLine" : 74,
      "cleanedStartLine" : 50,
      "cleanedEndLine" : 55
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmMain/kotlin/ai/koog/agents/core/agent/AIAgentService.kt",
        "extension" : "kt",
        "linesOfCode" : 176,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 153,
      "startLine" : 252,
      "endLine" : 257,
      "cleanedStartLine" : 122,
      "cleanedEndLine" : 127
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-dashscope-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/dashscope/DashscopeParams.kt",
        "extension" : "kt",
        "linesOfCode" : 159,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 144,
      "startLine" : 55,
      "endLine" : 60,
      "cleanedStartLine" : 27,
      "cleanedEndLine" : 32
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-openrouter-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/openrouter/OpenRouterParams.kt",
        "extension" : "kt",
        "linesOfCode" : 197,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 177,
      "startLine" : 60,
      "endLine" : 65,
      "cleanedStartLine" : 23,
      "cleanedEndLine" : 28
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/SubgraphWithTaskTest.kt",
        "extension" : "kt",
        "linesOfCode" : 603,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 509,
      "startLine" : 548,
      "endLine" : 557,
      "cleanedStartLine" : 357,
      "cleanedEndLine" : 362
    }, {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/SubgraphWithTaskTest.kt",
        "extension" : "kt",
        "linesOfCode" : 603,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 509,
      "startLine" : 625,
      "endLine" : 634,
      "cleanedStartLine" : 412,
      "cleanedEndLine" : 417
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmMain/kotlin/ai/koog/agents/features/opentelemetry/feature/OpenTelemetry.kt",
        "extension" : "kt",
        "linesOfCode" : 583,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 491,
      "startLine" : 371,
      "endLine" : 376,
      "cleanedStartLine" : 232,
      "cleanedEndLine" : 237
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmMain/kotlin/ai/koog/agents/features/opentelemetry/feature/OpenTelemetry.kt",
        "extension" : "kt",
        "linesOfCode" : 583,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 491,
      "startLine" : 396,
      "endLine" : 401,
      "cleanedStartLine" : 251,
      "cleanedEndLine" : 256
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmMain/kotlin/ai/koog/agents/features/opentelemetry/span/inferenceSpan.kt",
        "extension" : "kt",
        "linesOfCode" : 94,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 71,
      "startLine" : 141,
      "endLine" : 146,
      "cleanedStartLine" : 48,
      "cleanedEndLine" : 53
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmMain/kotlin/ai/koog/agents/features/opentelemetry/span/invokeAgentSpan.kt",
        "extension" : "kt",
        "linesOfCode" : 94,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 72,
      "startLine" : 150,
      "endLine" : 155,
      "cleanedStartLine" : 49,
      "cleanedEndLine" : 54
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/androidMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 139,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 117,
      "endLine" : 122,
      "cleanedStartLine" : 97,
      "cleanedEndLine" : 102
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmMain/kotlin/ai/koog/agents/core/agent/AIAgent.kt",
        "extension" : "kt",
        "linesOfCode" : 156,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 141,
      "startLine" : 132,
      "endLine" : 137,
      "cleanedStartLine" : 81,
      "cleanedEndLine" : 86
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/agent/SingleRunStrategyTests.kt",
        "extension" : "kt",
        "linesOfCode" : 234,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 186,
      "startLine" : 185,
      "endLine" : 192,
      "cleanedStartLine" : 115,
      "cleanedEndLine" : 120
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/agent/SingleRunStrategyTests.kt",
        "extension" : "kt",
        "linesOfCode" : 234,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 186,
      "startLine" : 224,
      "endLine" : 231,
      "cleanedStartLine" : 141,
      "cleanedEndLine" : 146
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerTest.kt",
        "extension" : "kt",
        "linesOfCode" : 521,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 437,
      "startLine" : 308,
      "endLine" : 313,
      "cleanedStartLine" : 192,
      "cleanedEndLine" : 197
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/jvmTest/kotlin/ai/koog/agents/core/system/feature/DebuggerTestAPI.kt",
        "extension" : "kt",
        "linesOfCode" : 281,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 212,
      "startLine" : 199,
      "endLine" : 204,
      "cleanedStartLine" : 117,
      "cleanedEndLine" : 122
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/weave/WeaveTraceStructureTest.kt",
        "extension" : "kt",
        "linesOfCode" : 270,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 257,
      "startLine" : 177,
      "endLine" : 182,
      "cleanedStartLine" : 151,
      "cleanedEndLine" : 156
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/integration/weave/WeaveTraceStructureTest.kt",
        "extension" : "kt",
        "linesOfCode" : 270,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 257,
      "startLine" : 260,
      "endLine" : 265,
      "cleanedStartLine" : 227,
      "cleanedEndLine" : 232
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/agent/SingleRunStrategyTests.kt",
        "extension" : "kt",
        "linesOfCode" : 234,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 186,
      "startLine" : 185,
      "endLine" : 192,
      "cleanedStartLine" : 115,
      "cleanedEndLine" : 120
    }, {
      "file" : {
        "relativePath" : "agents/agents-core/src/commonTest/kotlin/ai/koog/agents/core/agent/SingleRunStrategyTests.kt",
        "extension" : "kt",
        "linesOfCode" : 234,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 186,
      "startLine" : 264,
      "endLine" : 271,
      "cleanedStartLine" : 168,
      "cleanedEndLine" : 173
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/modelfamilies/amazon/BedrockAmazonNovaSerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 311,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 238,
      "startLine" : 117,
      "endLine" : 122,
      "cleanedStartLine" : 62,
      "cleanedEndLine" : 67
    }, {
      "file" : {
        "relativePath" : "prompt/prompt-executor/prompt-executor-clients/prompt-executor-bedrock-client/src/jvmTest/kotlin/ai/koog/prompt/executor/clients/bedrock/modelfamilies/meta/BedrockMetaLlamaSerializationTest.kt",
        "extension" : "kt",
        "linesOfCode" : 149,
        "components" : [ "primary::prompt" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 111,
      "startLine" : 86,
      "endLine" : 91,
      "cleanedStartLine" : 48,
      "cleanedEndLine" : 53
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryExecuteToolSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 184,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 154,
      "startLine" : 36,
      "endLine" : 42,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 15
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryInferenceSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 556,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 517,
      "startLine" : 117,
      "endLine" : 124,
      "cleanedStartLine" : 75,
      "cleanedEndLine" : 80
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageFileWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 509,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 418,
      "startLine" : 565,
      "endLine" : 570,
      "cleanedStartLine" : 405,
      "cleanedEndLine" : 410
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-trace/src/jvmTest/kotlin/ai/koog/agents/features/tracing/writer/TraceFeatureMessageRemoteWriterTest.kt",
        "extension" : "kt",
        "linesOfCode" : 816,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 671,
      "startLine" : 336,
      "endLine" : 341,
      "cleanedStartLine" : 179,
      "cleanedEndLine" : 184
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "a2a/a2a-core/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 40,
        "components" : [ "primary::a2a" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 3,
      "endLine" : 11,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    }, {
      "file" : {
        "relativePath" : "rag/vector-storage/build.gradle.kts",
        "extension" : "kts",
        "linesOfCode" : 35,
        "components" : [ "primary::rag" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 3,
      "endLine" : 11,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/SubgraphWithRetryTest.kt",
        "extension" : "kt",
        "linesOfCode" : 429,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 348,
      "startLine" : 124,
      "endLine" : 129,
      "cleanedStartLine" : 71,
      "cleanedEndLine" : 76
    }, {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/SubgraphWithRetryTest.kt",
        "extension" : "kt",
        "linesOfCode" : 429,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 348,
      "startLine" : 474,
      "endLine" : 479,
      "cleanedStartLine" : 326,
      "cleanedEndLine" : 331
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryAgentSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 148,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 126,
      "startLine" : 156,
      "endLine" : 161,
      "cleanedStartLine" : 110,
      "cleanedEndLine" : 115
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryInferenceSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 556,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 517,
      "startLine" : 290,
      "endLine" : 295,
      "cleanedStartLine" : 228,
      "cleanedEndLine" : 233
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetryAgentSpanTest.kt",
        "extension" : "kt",
        "linesOfCode" : 148,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 126,
      "startLine" : 115,
      "endLine" : 121,
      "cleanedStartLine" : 74,
      "cleanedEndLine" : 79
    }, {
      "file" : {
        "relativePath" : "agents/agents-features/agents-features-opentelemetry/src/jvmTest/kotlin/ai/koog/agents/features/opentelemetry/feature/span/OpenTelemetrySubgraphTest.kt",
        "extension" : "kt",
        "linesOfCode" : 334,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 313,
      "startLine" : 148,
      "endLine" : 154,
      "cleanedStartLine" : 114,
      "cleanedEndLine" : 119
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/SubgraphWithTaskTest.kt",
        "extension" : "kt",
        "linesOfCode" : 603,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 509,
      "startLine" : 262,
      "endLine" : 268,
      "cleanedStartLine" : 160,
      "cleanedEndLine" : 165
    }, {
      "file" : {
        "relativePath" : "agents/agents-ext/src/commonTest/kotlin/ai/koog/agents/ext/agent/SubgraphWithTaskTest.kt",
        "extension" : "kt",
        "linesOfCode" : 603,
        "components" : [ "primary::agents" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 509,
      "startLine" : 457,
      "endLine" : 463,
      "cleanedStartLine" : 294,
      "cleanedEndLine" : 299
    } ]
  } ],
  "overallDuplication" : null
}