content: [versions]
  anthropic-java = "2.8.1"
  assertj = "3.27.6"
  assertk = "0.28.1"
  awaitility = "4.3.0"
  datafaker = "2.5.2"
  detekt = "1.23.8"
  dokka = "2.0.0"
  finchly = "0.1.1"
  google-genai = "1.22.0"
  google-adk = "0.3.0"
  junitJupiter = "5.14.0"
  kotest = "5.9.1"
  kotlin = "2.1.21"
  kotlinLogging = "7.0.13"
  kotlinxCoroutines = "1.10.2"
  kotlinxDatetime = "0.6.2"
  kotlinxSerialization = "1.8.1"
  kover = "0.9.2"
  ktor = "3.3.0"
  langchain4j = "1.7.1"
  mockk = "1.14.6"
  netty = "4.2.6.Final"
  nexusPublish = "2.0.0"
  openai = "4.1.0"
  openrewrite = "7.18.0"
  slf4j = "2.0.17"
  spotless = "8.0.0"
  spring = "6.2.11"
  spring-ai = "1.0.3"
  system-stubs = "2.1.8"
  jansi = "2.4.2"
  
  [libraries]
  anthropic-java = { group = "com.anthropic", name = "anthropic-java", version.ref = "anthropic-java" }
  assertj-core = { module = "org.assertj:assertj-core", version.ref = "assertj" }
  assertk = { module = "com.willowtreeapps.assertk:assertk", version.ref = "assertk" }
  awaitility = { group = "org.awaitility", name = "awaitility", version.ref = "awaitility" }
  awaitility-kotlin = { group = "org.awaitility", name = "awaitility-kotlin", version.ref = "awaitility" }
  datafaker = { module = "net.datafaker:datafaker", version.ref = "datafaker" }
  finchly = { module = "me.kpavlov.finchly:finchly", version.ref = "finchly" }
  google-adk = { group = "com.google.adk", name = "google-adk", version.ref = "google-adk" }
  google-genai = { group = "com.google.genai", name = "google-genai", version.ref = "google-genai" }
  jansi = { module = "org.fusesource.jansi:jansi", version.ref = "jansi" }
  junit-jupiter-params = { group = "org.junit.jupiter", name = "junit-jupiter-params", version.ref = "junitJupiter" }
  kotest-assertions-core = { module = "io.kotest:kotest-assertions-core", version.ref = "kotest" }
  kotest-assertions-json = { module = "io.kotest:kotest-assertions-json", version.ref = "kotest" }
  kotlinLogging = { module = "io.github.oshai:kotlin-logging", version.ref = "kotlinLogging" }
  kotlinx-coroutines-core-jvm = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm", version.ref = "kotlinxCoroutines" }
  kotlinx-coroutines-reactor = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-reactor", version.ref = "kotlinxCoroutines" }
  kotlinx-coroutines-test = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-test", version.ref = "kotlinxCoroutines" }
  kotlinx-datetime = { module = "org.jetbrains.kotlinx:kotlinx-datetime", version.ref = "kotlinxDatetime" }
  kotlinx-serialization-json = { module = "org.jetbrains.kotlinx:kotlinx-serialization-json", version.ref = "kotlinxSerialization" }
  ktor-bom = { group = "io.ktor", name = "ktor-bom", version.ref = "ktor" }
  ktor-client-content-negotiation = { module = "io.ktor:ktor-client-content-negotiation" }
  ktor-client-core = { module = "io.ktor:ktor-client-core" }
  ktor-client-java = { module = "io.ktor:ktor-client-java" }
  ktor-client-logging = { module = "io.ktor:ktor-client-logging" }
  ktor-serialization-jackson = { module = "io.ktor:ktor-serialization-jackson" }
  ktor-serialization-kotlinx-json = { module = "io.ktor:ktor-serialization-kotlinx-json" }
  ktor-server-call-logging = { module = "io.ktor:ktor-server-call-logging" }
  ktor-server-content-negotiation = { module = "io.ktor:ktor-server-content-negotiation" }
  ktor-server-core = { module = "io.ktor:ktor-server-core" }
  ktor-server-double-receive = { module = "io.ktor:ktor-server-double-receive" }
  ktor-server-netty = { module = "io.ktor:ktor-server-netty" }
  ktor-server-sse = { module = "io.ktor:ktor-server-sse" }
  ktor-sse = { module = "io.ktor:ktor-sse" }
  langchain4j-anthropic = { group = "dev.langchain4j", name = "langchain4j-anthropic" }
  langchain4j-bom = { group = "dev.langchain4j", name = "langchain4j-bom", version.ref = "langchain4j" }
  langchain4j-gemini = { group = "dev.langchain4j", name = "langchain4j-google-ai-gemini" }
  langchain4j-kotlin = { group = "dev.langchain4j", name = "langchain4j-kotlin" }
  langchain4j-ollama = { group = "dev.langchain4j", name = "langchain4j-ollama" }
  langchain4j-openai = { group = "dev.langchain4j", name = "langchain4j-open-ai" }
  mockk = { module = "io.mockk:mockk", version.ref = "mockk" }
  mockk-dsl = { module = "io.mockk:mockk-dsl", version.ref = "mockk" }
  netty-bom = { group = "io.netty", name = "netty-bom", version.ref = "netty" }
  openai-java = { group = "com.openai", name = "openai-java", version.ref = "openai" }
  slf4j-simple = { module = "org.slf4j:slf4j-simple", version.ref = "slf4j" }
  spring-ai-bom = { group = "org.springframework.ai", name = "spring-ai-bom", version.ref = "spring-ai" }
  spring-ai-client-chat = { group = "org.springframework.ai", name = "spring-ai-client-chat" }
  spring-ai-gemini = { group = "org.springframework.ai", name = "spring-ai-vertex-ai-gemini" }
  spring-ai-ollama = { group = "org.springframework.ai", name = "spring-ai-ollama" }
  spring-ai-openai = { group = "org.springframework.ai", name = "spring-ai-openai" }
  spring-bom = { group = "org.springframework", name = "spring-framework-bom", version.ref = "spring" }
  system-stubs = { module = "uk.org.webcompere:system-stubs-jupiter", version.ref = "system-stubs" }
  
  [plugins]
  detekt = { id = "io.gitlab.arturbosch.detekt", version.ref = "detekt" }
  dokka = { id = "org.jetbrains.dokka", version.ref = "dokka" }
  dokka-javadoc = { id = "org.jetbrains.dokka-javadoc", version.ref = "dokka" }
  kover = { id = "org.jetbrains.kotlinx.kover", version.ref = "kover" }
  nexusPublish = { id = "io.github.gradle-nexus.publish-plugin", version.ref = "nexusPublish" }
  openrewrite = { id = "org.openrewrite.rewrite", version.ref = "openrewrite" }
  spotless = { id = "com.diffplug.spotless", version.ref = "spotless" }
  