<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
         http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <parent>
        <groupId>dev.tnsai</groupId>
        <artifactId>tnsai-parent</artifactId>
        <version>0.18.4</version>
        <relativePath>../pom.xml</relativePath>
    </parent>

    <artifactId>tnsai-tools</artifactId>
    <packaging>jar</packaging>

    <name>TnsAI Tools</name>
    <description>Built-in tool catalog — web, file, database, shell, code execution, ML, text, media, email, messaging.</description>

    <properties>
        <jakarta.mail-api.version>2.1.5</jakarta.mail-api.version>
        <jakarta.mail.version>2.0.5</jakarta.mail.version>
        <json-path.version>3.0.0</json-path.version>
        <opencsv.version>5.12.0</opencsv.version>
        <zxing.version>3.5.4</zxing.version>
        <mongodb.version>5.13.0</mongodb.version>
        <jedis.version>8.0.2</jedis.version>
        <playwright.version>1.63.0</playwright.version>
        <tools.h2.version>2.5.252</tools.h2.version>
    </properties>

    <dependencies>
        <dependency>
            <groupId>dev.tnsai</groupId>
            <artifactId>tnsai-core</artifactId>
        </dependency>
        <dependency>
            <groupId>dev.tnsai</groupId>
            <artifactId>tnsai-quality</artifactId>
        </dependency>
        <dependency>
            <groupId>dev.tnsai</groupId>
            <artifactId>tnsai-mcp</artifactId>
        </dependency>

        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
        </dependency>
        <dependency>
            <groupId>com.squareup.okhttp3</groupId>
            <artifactId>okhttp-jvm</artifactId>
        </dependency>
        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-databind</artifactId>
        </dependency>
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-api</artifactId>
        </dependency>
        <dependency>
            <groupId>org.jsoup</groupId>
            <artifactId>jsoup</artifactId>
        </dependency>
        <dependency>
            <groupId>org.apache.pdfbox</groupId>
            <artifactId>pdfbox</artifactId>
        </dependency>
        <!-- Tools-specific optional deps -->
        <dependency>
            <groupId>jakarta.mail</groupId>
            <artifactId>jakarta.mail-api</artifactId>
            <version>${jakarta.mail-api.version}</version>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>org.eclipse.angus</groupId>
            <artifactId>jakarta.mail</artifactId>
            <version>${jakarta.mail.version}</version>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>com.jayway.jsonpath</groupId>
            <artifactId>json-path</artifactId>
            <version>${json-path.version}</version>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>com.opencsv</groupId>
            <artifactId>opencsv</artifactId>
            <version>${opencsv.version}</version>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>com.google.zxing</groupId>
            <artifactId>core</artifactId>
            <version>${zxing.version}</version>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>com.google.zxing</groupId>
            <artifactId>javase</artifactId>
            <version>${zxing.version}</version>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>org.mongodb</groupId>
            <artifactId>mongodb-driver-sync</artifactId>
            <version>${mongodb.version}</version>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>redis.clients</groupId>
            <artifactId>jedis</artifactId>
            <version>${jedis.version}</version>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>com.microsoft.playwright</groupId>
            <artifactId>playwright</artifactId>
            <version>${playwright.version}</version>
            <optional>true</optional>
        </dependency>

        <dependency>
            <groupId>org.junit.jupiter</groupId>
            <artifactId>junit-jupiter</artifactId>
            <scope>test</scope>
        </dependency>
        <!--
          mockito-core is unused by tnsai-tools' own tests, but the parent surefire
          argLine resolves -javaagent:${org.mockito:mockito-core:jar} via the
          maven-dependency-plugin `properties` goal, which only walks each project's
          own deps. Without this entry the javaagent path stays unresolved.
        -->
        <dependency>
            <groupId>org.mockito</groupId>
            <artifactId>mockito-core</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>com.h2database</groupId>
            <artifactId>h2</artifactId>
            <version>${tools.h2.version}</version>
            <scope>test</scope>
        </dependency>
        <!--
          MockWebServer for HTTP-driven @Tool tests (image gen, audio TTS/STT, etc.)
          where touching real upstreams in unit tests is infeasible.
          Version inherited from parent pom dependencyManagement (tied to
          ${okhttp.version}).
        -->
        <dependency>
            <groupId>com.squareup.okhttp3</groupId>
            <artifactId>mockwebserver3</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>
</project>
