Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
10 changes: 6 additions & 4 deletions .env
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
SENTRIUS_VERSION=1.0.8
SENTRIUS_SSH_VERSION=1.0.1
SENTRIUS_KEYCLOAK_VERSION=1.0.1
SENTRIUS_AGENT_VERSION=1.0.9
SENTRIUS_VERSION=1.1.38
SENTRIUS_SSH_VERSION=1.1.4
SENTRIUS_KEYCLOAK_VERSION=1.1.6
SENTRIUS_AGENT_VERSION=1.1.4
SENTRIUS_AI_AGENT_VERSION=1.1.18
LLMPROXY_VERSION=1.0.4
10 changes: 6 additions & 4 deletions .gcp.env
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
SENTRIUS_VERSION=1.0.45
SENTRIUS_SSH_VERSION=1.0.4
SENTRIUS_KEYCLOAK_VERSION=1.0.7
SENTRIUS_AGENT_VERSION=1.0.18
SENTRIUS_VERSION=1.0.48
SENTRIUS_SSH_VERSION=1.0.7
SENTRIUS_KEYCLOAK_VERSION=1.0.10
SENTRIUS_AGENT_VERSION=1.0.19
SENTRIUS_AI_AGENT_VERSION=1.0.0
LLMPROXY_VERSION=1.0.0
4 changes: 4 additions & 0 deletions .gcp.env.bak
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
SENTRIUS_VERSION=1.0.47
SENTRIUS_SSH_VERSION=1.0.6
SENTRIUS_KEYCLOAK_VERSION=1.0.9
SENTRIUS_AGENT_VERSION=1.0.18
12 changes: 11 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,16 @@ core/target/**
java-agent/target/**
core/target/
java-agent/target/
ai-agent/target/**
ai-agent/target/
analytics/target/**
analytics/target/
dataplane/target/**
dataplane/target/
llm-proxy/target/**
llm-proxy/target/
llm-dataplane/target/**
llm-dataplane/target/
node/*
node_modules/*
api/node_modules/*
Expand All @@ -50,4 +60,4 @@ api/node_modules/*

.settings/*
.env.bak
.gcp.env.bak
cp.env.bak
File renamed without changes.
File renamed without changes.
Empty file added ai-agent/.mvn/maven.config
Empty file.
216 changes: 216 additions & 0 deletions ai-agent/pom.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,216 @@
<?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>
<artifactId>sentrius</artifactId>
<groupId>io.sentrius</groupId>
<version>1.0.0-SNAPSHOT</version>
</parent>

<groupId>analysis</groupId>
<artifactId>ai-agent</artifactId>
<version>1.0-SNAPSHOT</version>

<name>ai-agent</name>
<url>http://www.sentrius.io</url>

<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.release>17</maven.compiler.release>
</properties>

<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.junit</groupId>
<artifactId>junit-bom</artifactId>
<version>5.11.0</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>

<dependencies>
<dependency>
<groupId>io.sentrius</groupId>
<artifactId>sentrius-core</artifactId>
<version>1.0.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>io.sentrius</groupId>
<artifactId>sentrius-llm-core</artifactId>
<version>1.0.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>io.jsonwebtoken</groupId>
<artifactId>jjwt-api</artifactId>
</dependency>
<dependency>
<groupId>io.jsonwebtoken</groupId>
<artifactId>jjwt-impl</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>io.jsonwebtoken</groupId>
<artifactId>jjwt-jackson</artifactId> <!-- or jjwt-gson -->
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-api</artifactId>
<scope>test</scope>
</dependency>
<!-- Optionally: parameterized tests support -->
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-params</artifactId>
<scope>test</scope>
</dependency>

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<dependency>
<groupId>org.postgresql</groupId>
<artifactId>postgresql</artifactId>
</dependency>
<dependency>
<groupId>org.flywaydb</groupId>
<artifactId>flyway-database-postgresql</artifactId>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
<dependency>
<groupId>io.github.classgraph</groupId>
<artifactId>classgraph</artifactId>
</dependency>
<!-- OpenTelemetry API + SDK -->
<dependency>
<groupId>io.opentelemetry</groupId>
<artifactId>opentelemetry-api</artifactId>
</dependency>
<dependency>
<groupId>io.opentelemetry</groupId>
<artifactId>opentelemetry-sdk</artifactId>
</dependency>

<!-- OpenTelemetry instrumentation for Spring Boot -->
<dependency>
<groupId>io.opentelemetry.instrumentation</groupId>
<artifactId>opentelemetry-spring-boot-starter</artifactId>
</dependency>

<!-- Export to OTLP (OpenTelemetry Protocol) -->
<dependency>
<groupId>io.opentelemetry</groupId>
<artifactId>opentelemetry-exporter-otlp</artifactId>
</dependency>
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-junit-jupiter</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-engine</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-api</artifactId>
<scope>test</scope>
</dependency>

</dependencies>

<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>com.github.eirslett</groupId>
<artifactId>frontend-maven-plugin</artifactId>
<version>1.13.4</version>
<executions>
<execution>
<id>install node and npm</id>
<goals>
<goal>install-node-and-npm</goal>
</goals>
<phase>generate-resources</phase>
</execution>
<execution>
<id>npm install</id>
<goals>
<goal>npm</goal>
</goals>
<phase>generate-resources</phase>
<configuration>
<arguments>clean-install</arguments>
</configuration>
</execution>
<execution>
<id>grunt build</id>
<goals>
<goal>grunt</goal>
</goals>
<phase>generate-resources</phase>
</execution>
</executions>
<configuration>
<nodeVersion>v16.13.1</nodeVersion>
</configuration>
</plugin>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<!-- execution needed if using spring boot as BOM and not as parent -->
<executions>
<execution>
<id>repackage</id>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
</plugin>

<plugin>
<artifactId>maven-clean-plugin</artifactId>
</plugin>
<plugin>
<artifactId>maven-resources-plugin</artifactId>
</plugin>
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
</plugin>
<plugin>
<artifactId>maven-jar-plugin</artifactId>
</plugin>
<plugin>
<artifactId>maven-install-plugin</artifactId>
</plugin>
<plugin>
<artifactId>maven-deploy-plugin</artifactId>
</plugin>
<plugin>
<artifactId>maven-site-plugin</artifactId>
</plugin>
<plugin>
<artifactId>maven-project-info-reports-plugin</artifactId>
</plugin>
</plugins>
</pluginManagement>
</build>
</project>
19 changes: 19 additions & 0 deletions ai-agent/src/main/java/io/sentrius/agent/analysis/AiAgent.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
package io.sentrius.agent.analysis;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.scheduling.annotation.EnableScheduling;


@SpringBootApplication(scanBasePackages = {"io.sentrius.agent", "io.sentrius.sso"},
exclude = {
org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration.class,
org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaAutoConfiguration.class,
org.springframework.boot.autoconfigure.data.jpa.JpaRepositoriesAutoConfiguration.class
})
@EnableScheduling
public class AiAgent {
public static void main(String[] args) {
SpringApplication.run(AiAgent.class, args);
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
package io.sentrius.agent.analysis.agents.agents;

import java.util.ArrayList;
import java.util.List;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.ToString;

@Builder
@Getter
@Data
@ToString
@AllArgsConstructor
@NoArgsConstructor
public class AgentConfig {
@JsonProperty(required=false)
@Builder.Default
private List<String> roles = new ArrayList<>();
@JsonProperty(required=false)
private String description;
@JsonProperty(required=true)
private String context;

// getters and setters
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
package io.sentrius.agent.analysis.agents.agents;

import java.lang.reflect.Method;
import io.sentrius.sso.core.model.verbs.DefaultInterpreter;
import io.sentrius.sso.core.model.verbs.InputInterpreterIfc;
import io.sentrius.sso.core.model.verbs.OutputInterpreterIfc;
import lombok.Builder;
import lombok.Getter;

@Builder
@Getter
public class AgentVerb {
private String name;
private String description;
private Method method;
@Builder.Default
private boolean requiresTokenManagement = false;
@Builder.Default
private Class<?> returnType = String.class;
@Builder.Default
Class<? extends OutputInterpreterIfc> outputInterpreter = DefaultInterpreter.class;
Class<? extends InputInterpreterIfc> inputInterpreter = DefaultInterpreter.class;
}
Loading