Compare commits
154 Commits
codex/back
...
master
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
91f68576dd | ||
|
|
f84dc1d44e | ||
|
|
d0b7223b53 | ||
|
|
3a41eb40d0 | ||
|
|
fd06f3bce3 | ||
|
|
de33710423 | ||
|
|
87b440e93f | ||
|
|
fd3b149172 | ||
|
|
ff7576f33d | ||
|
|
053a321ec1 | ||
|
|
6ad88cb6c4 | ||
|
|
e57971488c | ||
|
|
642521035b | ||
|
|
b64f8e35c3 | ||
|
|
a62b749ef2 | ||
|
|
cc55fd819f | ||
|
|
39371861f3 | ||
|
|
c01c699410 | ||
|
|
89eec8afc1 | ||
|
|
8b651e4ae1 | ||
|
|
dd6c10f44b | ||
|
|
797ffeee82 | ||
|
|
4fdc95da75 | ||
|
|
b9f49d2c0e | ||
|
|
7ea963dc9a | ||
|
|
5ab6bc0fd0 | ||
|
|
c9d8aa3b93 | ||
|
|
95838dba04 | ||
|
|
f08b0c39d9 | ||
|
|
de501c0252 | ||
|
|
b6b0a9dcb3 | ||
|
|
d5025c0ebc | ||
|
|
d86f82a4c5 | ||
|
|
b0f0b95c2a | ||
|
|
1daf58a94c | ||
|
|
479e2e209d | ||
|
|
ca746366f6 | ||
|
|
8ed4e0ce3b | ||
|
|
bd7d7b4913 | ||
|
|
26fbf51fc8 | ||
|
|
8a5d5d6474 | ||
|
|
b3f21adecb | ||
|
|
be901ee112 | ||
|
|
48ac9bdf19 | ||
|
|
1a8e0fb51f | ||
|
|
871bd715c4 | ||
|
|
6323987a0d | ||
|
|
81d2797035 | ||
|
|
fffa0ebe50 | ||
|
|
9011b91dba | ||
|
|
3a159e2f5a | ||
|
|
e473b5c147 | ||
|
|
e57c94c19d | ||
|
|
84d34236e8 | ||
|
|
245a210b25 | ||
|
|
8278fdc81c | ||
|
|
4c862ef4b7 | ||
|
|
d292c34579 | ||
|
|
43418d0453 | ||
|
|
e9c76c59ca | ||
|
|
8ab3d73fb1 | ||
|
|
751ce45619 | ||
|
|
c400367d22 | ||
|
|
6f2ccdf783 | ||
|
|
909f11dae5 | ||
|
|
a6e0246418 | ||
|
|
d679639175 | ||
|
|
3ac350eb27 | ||
|
|
5b78189c9c | ||
|
|
1271e4967b | ||
|
|
5b2f14123e | ||
|
|
13e48df63d | ||
|
|
4f489f402a | ||
|
|
914ed81f19 | ||
|
|
d12db03216 | ||
|
|
047651e404 | ||
|
|
ed2f19d257 | ||
|
|
362f397e37 | ||
|
|
cc36d8dcaf | ||
|
|
91540dec0c | ||
|
|
0d2008b35c | ||
|
|
ba806f779e | ||
|
|
d1ae9421c4 | ||
|
|
755a8f041d | ||
|
|
23c3577ef4 | ||
|
|
dc8cd09535 | ||
|
|
5160a73254 | ||
|
|
4d8b8e4ad5 | ||
|
|
9ad7881378 | ||
|
|
702ea05d4d | ||
|
|
fd130f1f60 | ||
|
|
ddd39396f7 | ||
|
|
ef8252e2dd | ||
|
|
5ebc0a640b | ||
|
|
f35d945d9c | ||
|
|
e4715bbabb | ||
|
|
726369f5a9 | ||
|
|
2f9af0b173 | ||
|
|
eb8ea9974f | ||
|
|
16eb8c691e | ||
|
|
48e5830b9e | ||
|
|
451cda7aa6 | ||
|
|
913c6da8f3 | ||
|
|
38e5bdbc04 | ||
|
|
e4652ace1c | ||
|
|
820b1b6f13 | ||
|
|
76a82f6203 | ||
|
|
3bab6af63c | ||
|
|
ff25c2fef7 | ||
|
|
710bf72353 | ||
|
|
8dc9ce73b9 | ||
|
|
700f6a40b8 | ||
|
|
f4af77cb2b | ||
|
|
ee51fcdbeb | ||
|
|
0f0bffe695 | ||
|
|
e37024bdbe | ||
|
|
5e76828afe | ||
|
|
6deea42de1 | ||
|
|
09d65701a3 | ||
|
|
fa5522e32e | ||
|
|
757858a9aa | ||
|
|
aee8af0877 | ||
|
|
b07f133ed6 | ||
|
|
8ff1c57b83 | ||
|
|
bf25bc5a47 | ||
|
|
029ca6e7f6 | ||
|
|
7eb1498412 | ||
|
|
2bf9192fc5 | ||
|
|
df2ab51e70 | ||
|
|
f8564b631d | ||
|
|
bdcb5c6c14 | ||
|
|
6b033da313 | ||
|
|
38ece7e3d3 | ||
|
|
cef3fe4a43 | ||
|
|
646901b5fa | ||
|
|
508406ff10 | ||
|
|
0672e82fc7 | ||
|
|
ac1a6fd0e6 | ||
|
|
e2a91d88e8 | ||
|
|
dc14418963 | ||
|
|
17475bf0d7 | ||
|
|
b7aecad092 | ||
|
|
35d2cb5ea5 | ||
|
|
ab1d022905 | ||
|
|
b9132c421d | ||
|
|
f8048724c4 | ||
|
|
512c7ab095 | ||
|
|
2373e0b5f3 | ||
|
|
40151c3902 | ||
|
|
15a3285ed5 | ||
|
|
31b4b5a281 | ||
|
|
2eb9a99da3 | ||
|
|
c6fdff20e8 | ||
|
|
2c3f2c8c54 |
Binary file not shown.
|
After Width: | Height: | Size: 403 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 403 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 403 KiB |
@@ -0,0 +1,9 @@
|
||||
---
|
||||
name:
|
||||
description:
|
||||
license:
|
||||
---
|
||||
|
||||
# Processing Guide
|
||||
|
||||
## Overview
|
||||
@@ -0,0 +1,4 @@
|
||||
{
|
||||
"description": "Skill template",
|
||||
"config": {}
|
||||
}
|
||||
@@ -0,0 +1,5 @@
|
||||
#!/usr/bin/env python3
|
||||
# Helper script for this skill
|
||||
|
||||
if __name__ == "__main__":
|
||||
print("Process script placeholder")
|
||||
@@ -0,0 +1,3 @@
|
||||
# API Documentation
|
||||
|
||||
Add interface descriptions related to skills here.
|
||||
@@ -104,6 +104,10 @@
|
||||
<groupId>com.xspaceagi</groupId>
|
||||
<artifactId>app-platform-bill-web</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-actuator</artifactId>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
<profiles>
|
||||
<profile>
|
||||
|
||||
@@ -143,12 +143,6 @@ public class AuthInterceptor implements HandlerInterceptor {
|
||||
// ignore
|
||||
}
|
||||
}
|
||||
}
|
||||
if (tenantId == null) {
|
||||
// 对于无需鉴权的路径(如飞书/钉钉 webhook),使用默认租户,不要求登录
|
||||
if (isExcludedPath(originalRequestUri)) {
|
||||
tenantId = 1L;
|
||||
}
|
||||
if (tenantId == null) {
|
||||
tenantId = 1L;
|
||||
}
|
||||
|
||||
@@ -27,7 +27,7 @@ spring:
|
||||
datasource:
|
||||
# 主数据源 (MySQL)
|
||||
master:
|
||||
url: jdbc:mysql://${DB_HOST:localhost}:3306/${DB_NAME:agent_platform}?serverTimezone=Asia/Shanghai&characterEncoding=utf-8&allowMultiQueries=true&socketTimeout=300000&allowPublicKeyRetrieval=true&useSSL=false
|
||||
url: jdbc:mysql://${DB_HOST:localhost}:3306/${DB_NAME:agent_platform}?serverTimezone=Asia/Shanghai&characterEncoding=utf-8&allowMultiQueries=true&socketTimeout=300000&useSSL=false
|
||||
driver-class-name: com.mysql.cj.jdbc.Driver
|
||||
username: ${DB_USERNAME:root}
|
||||
password: ${DB_PASSWORD:your_mysql_password}
|
||||
@@ -48,7 +48,7 @@ spring:
|
||||
filters: stat # 启用 stat filter 用于监控
|
||||
# Doris 数据源
|
||||
doris:
|
||||
url: jdbc:mysql://${DORIS_HOST:localhost}:3306/${DORIS_DB_NAME:agent_custom_table}?serverTimezone=Asia/Shanghai&characterEncoding=utf-8&allowMultiQueries=true&socketTimeout=300000&allowPublicKeyRetrieval=true&useSSL=false
|
||||
url: jdbc:mysql://${DORIS_HOST:localhost}:3306/${DORIS_DB_NAME:agent_custom_table}?serverTimezone=Asia/Shanghai&characterEncoding=utf-8&allowMultiQueries=true&socketTimeout=300000&useSSL=false
|
||||
driver-class-name: com.mysql.cj.jdbc.Driver
|
||||
username: ${DORIS_USERNAME:root}
|
||||
password: ${DORIS_PASSWORD:your_doris_password}
|
||||
@@ -165,17 +165,12 @@ search:
|
||||
username: ${ES_USERNAME:elastic}
|
||||
password: ${ES_PASSWORD:your_elasticsearch_password}
|
||||
api_key: ${ES_API_KEY:}
|
||||
text_analyzer: ${ES_TEXT_ANALYZER:standard}
|
||||
search_analyzer: ${ES_SEARCH_ANALYZER:standard}
|
||||
# 生态市场模块配置
|
||||
eco-market:
|
||||
# 服务端配置
|
||||
server:
|
||||
# 远程server端的 ip端口配置
|
||||
enabled: ${ECO_MARKET_SERVER_ENABLED:false}
|
||||
base-url: ${ECO_MARKET_SERVER_URL:}
|
||||
# 是否拉取官方生态市场通知,私有化部署默认关闭
|
||||
pull-message-enabled: ${ECO_MARKET_PULL_MESSAGE_ENABLED:false}
|
||||
base-url: ${ECO_MARKET_SERVER_URL:https://test-agent-market-api.xspaceagi.com}
|
||||
client:
|
||||
# 客户端配置
|
||||
retry:
|
||||
@@ -185,15 +180,6 @@ eco-market:
|
||||
mcp:
|
||||
proxy-base-url: ${MCP_PROXY_URL:http://localhost:8020}
|
||||
|
||||
overview-page:
|
||||
service-url: ${OVERVIEW_SERVICE_URL:http://127.0.0.1:5173/_app/digital}
|
||||
|
||||
intelligent-data:
|
||||
service-url: ${INTELLIGENT_DATA_SERVICE_URL:http://192.168.2.106:3000/test-console}
|
||||
|
||||
document-editor:
|
||||
service-url: ${DOCUMENT_EDITOR_SERVICE_URL:}
|
||||
|
||||
knife4j:
|
||||
# 开启增强配置
|
||||
enable: true
|
||||
@@ -244,4 +230,4 @@ model-api-proxy:
|
||||
enable-model-proxy: ${MODEL_PROXY_ENABLE:true}
|
||||
port: ${MODEL_PROXY_PORT:18086}
|
||||
#记录日志
|
||||
save-log: ${MODEL_PROXY_SAVE_LOG:true}
|
||||
save-log: ${MODEL_PROXY_SAVE_LOG:true}
|
||||
@@ -27,7 +27,7 @@ spring:
|
||||
datasource:
|
||||
# 主数据源 (MySQL)
|
||||
master:
|
||||
url: jdbc:mysql://${DB_HOST:localhost}:3306/${DB_NAME:agent_platform}?serverTimezone=Asia/Shanghai&characterEncoding=utf-8&allowMultiQueries=true&socketTimeout=300000&allowPublicKeyRetrieval=true&useSSL=false
|
||||
url: jdbc:mysql://${DB_HOST:localhost}:3306/${DB_NAME:agent_platform}?serverTimezone=Asia/Shanghai&characterEncoding=utf-8&allowMultiQueries=true&socketTimeout=300000&useSSL=false
|
||||
driver-class-name: com.mysql.cj.jdbc.Driver
|
||||
username: ${DB_USERNAME:root}
|
||||
password: ${DB_PASSWORD:Byyagz@121}
|
||||
@@ -48,7 +48,7 @@ spring:
|
||||
filters: stat # 启用 stat filter 用于监控
|
||||
# Doris 数据源
|
||||
doris:
|
||||
url: jdbc:mysql://${DORIS_HOST:localhost}:3306/${DORIS_DB_NAME:agent_platform}?serverTimezone=Asia/Shanghai&characterEncoding=utf-8&allowMultiQueries=true&socketTimeout=300000&allowPublicKeyRetrieval=true&useSSL=false
|
||||
url: jdbc:mysql://${DORIS_HOST:localhost}:3306/${DORIS_DB_NAME:agent_platform}?serverTimezone=Asia/Shanghai&characterEncoding=utf-8&allowMultiQueries=true&socketTimeout=300000&useSSL=false
|
||||
driver-class-name: com.mysql.cj.jdbc.Driver
|
||||
username: ${DORIS_USERNAME:root}
|
||||
password: ${DORIS_PASSWORD:Byyagz@121}
|
||||
@@ -89,7 +89,7 @@ jwt:
|
||||
secretKey: ${JWT_SECRET_KEY:qiming-local-dev-jwt-secret-key-32-chars}
|
||||
|
||||
file:
|
||||
uploadFolder: ${FILE_UPLOAD_FOLDER:/Users/qiming/qiming-work/uploads}
|
||||
uploadFolder: ${FILE_UPLOAD_FOLDER:D:/work/workspace/feitian-base/nvw/.dev/uploads}
|
||||
baseUrl: ${FILE_BASE_URL:http://localhost:18081/files/}
|
||||
|
||||
# Storage configuration
|
||||
@@ -98,7 +98,7 @@ storage:
|
||||
|
||||
local:
|
||||
upload:
|
||||
folder: ${LOCAL_UPLOAD_FOLDER:/Users/qiming/qiming-work/uploads}
|
||||
folder: ${LOCAL_UPLOAD_FOLDER:D:/work/workspace/feitian-base/nvw/.dev/uploads}
|
||||
|
||||
# Tencent Cloud COS configuration (takes effect when storage.type=cos)
|
||||
cos:
|
||||
@@ -165,17 +165,12 @@ search:
|
||||
username: ${ES_USERNAME:}
|
||||
password: ${ES_PASSWORD:}
|
||||
api_key: ${ES_API_KEY:}
|
||||
text_analyzer: ${ES_TEXT_ANALYZER:standard}
|
||||
search_analyzer: ${ES_SEARCH_ANALYZER:standard}
|
||||
# 生态市场模块配置
|
||||
eco-market:
|
||||
# 服务端配置
|
||||
server:
|
||||
# 远程server端的 ip端口配置
|
||||
enabled: ${ECO_MARKET_SERVER_ENABLED:false}
|
||||
base-url: ${ECO_MARKET_SERVER_URL:}
|
||||
# 是否拉取官方生态市场通知,私有化部署默认关闭
|
||||
pull-message-enabled: ${ECO_MARKET_PULL_MESSAGE_ENABLED:false}
|
||||
base-url: ${ECO_MARKET_SERVER_URL:https://test-agent-market-api.xspaceagi.com}
|
||||
client:
|
||||
# 客户端配置
|
||||
retry:
|
||||
@@ -185,15 +180,6 @@ eco-market:
|
||||
mcp:
|
||||
proxy-base-url: ${MCP_PROXY_URL:http://localhost:18020}
|
||||
|
||||
overview-page:
|
||||
service-url: ${OVERVIEW_SERVICE_URL:http://127.0.0.1:5173/_app/digital}
|
||||
|
||||
intelligent-data:
|
||||
service-url: ${INTELLIGENT_DATA_SERVICE_URL:http://192.168.2.106:3000/test-console}
|
||||
|
||||
document-editor:
|
||||
service-url: ${DOCUMENT_EDITOR_SERVICE_URL:}
|
||||
|
||||
knife4j:
|
||||
# 开启增强配置
|
||||
enable: true
|
||||
|
||||
@@ -169,10 +169,7 @@ eco-market:
|
||||
# 服务端配置
|
||||
server:
|
||||
# 远程server端的 ip端口配置
|
||||
enabled: ${ECO_MARKET_SERVER_ENABLED:false}
|
||||
base-url: ${ECO_MARKET_SERVER_URL:}
|
||||
# 是否拉取官方生态市场通知,私有化部署默认关闭
|
||||
pull-message-enabled: ${ECO_MARKET_PULL_MESSAGE_ENABLED:false}
|
||||
base-url: ${ECO_MARKET_SERVER_URL:https://agent-market-api.xspaceagi.com}
|
||||
client:
|
||||
# 客户端配置
|
||||
retry:
|
||||
@@ -182,15 +179,6 @@ eco-market:
|
||||
mcp:
|
||||
proxy-base-url: ${MCP_PROXY_URL:http://localhost:8020}
|
||||
|
||||
overview-page:
|
||||
service-url: ${OVERVIEW_SERVICE_URL:http://127.0.0.1:5173/_app/digital}
|
||||
|
||||
intelligent-data:
|
||||
service-url: ${INTELLIGENT_DATA_SERVICE_URL:http://192.168.2.106:3000/test-console}
|
||||
|
||||
document-editor:
|
||||
service-url: ${DOCUMENT_EDITOR_SERVICE_URL:}
|
||||
|
||||
knife4j:
|
||||
# 开启增强配置
|
||||
enable: true
|
||||
@@ -241,4 +229,4 @@ model-api-proxy:
|
||||
enable-model-proxy: ${MODEL_PROXY_ENABLE:true}
|
||||
port: ${MODEL_PROXY_PORT:18086}
|
||||
#记录日志
|
||||
save-log: ${MODEL_PROXY_SAVE_LOG:true}
|
||||
save-log: ${MODEL_PROXY_SAVE_LOG:true}
|
||||
@@ -169,10 +169,7 @@ eco-market:
|
||||
# 服务端配置
|
||||
server:
|
||||
# 远程server端的 ip端口配置
|
||||
enabled: ${ECO_MARKET_SERVER_ENABLED:false}
|
||||
base-url: ${ECO_MARKET_SERVER_URL:}
|
||||
# 是否拉取官方生态市场通知,私有化部署默认关闭
|
||||
pull-message-enabled: ${ECO_MARKET_PULL_MESSAGE_ENABLED:false}
|
||||
base-url: ${ECO_MARKET_SERVER_URL:https://test-agent-market-api.xspaceagi.com}
|
||||
client:
|
||||
# 客户端配置
|
||||
retry:
|
||||
@@ -182,15 +179,6 @@ eco-market:
|
||||
mcp:
|
||||
proxy-base-url: ${MCP_PROXY_URL:http://localhost:8020}
|
||||
|
||||
overview-page:
|
||||
service-url: ${OVERVIEW_SERVICE_URL:http://127.0.0.1:5173/_app/digital}
|
||||
|
||||
intelligent-data:
|
||||
service-url: ${INTELLIGENT_DATA_SERVICE_URL:http://192.168.2.106:3000/test-console}
|
||||
|
||||
document-editor:
|
||||
service-url: ${DOCUMENT_EDITOR_SERVICE_URL:}
|
||||
|
||||
knife4j:
|
||||
# 开启增强配置
|
||||
enable: true
|
||||
@@ -241,4 +229,4 @@ model-api-proxy:
|
||||
enable-model-proxy: ${MODEL_PROXY_ENABLE:true}
|
||||
port: ${MODEL_PROXY_PORT:18086}
|
||||
#记录日志
|
||||
save-log: ${MODEL_PROXY_SAVE_LOG:true}
|
||||
save-log: ${MODEL_PROXY_SAVE_LOG:true}
|
||||
@@ -1,11 +1,12 @@
|
||||
package com.xspaceagi.agent.core.adapter.application;
|
||||
|
||||
import com.xspaceagi.agent.core.adapter.dto.*;
|
||||
import com.xspaceagi.agent.core.adapter.dto.AgentDetailDto;
|
||||
import com.xspaceagi.agent.core.adapter.dto.CardDto;
|
||||
import com.xspaceagi.agent.core.adapter.dto.UserAgentDto;
|
||||
import com.xspaceagi.agent.core.adapter.dto.config.AgentComponentConfigDto;
|
||||
import com.xspaceagi.agent.core.adapter.dto.config.AgentConfigDto;
|
||||
import com.xspaceagi.agent.core.adapter.dto.config.Arg;
|
||||
import com.xspaceagi.agent.core.adapter.dto.config.ModelConfigDto;
|
||||
import com.xspaceagi.agent.core.adapter.repository.entity.AgentComponentConfig;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@@ -120,8 +121,6 @@ public interface AgentApplicationService {
|
||||
*/
|
||||
AgentComponentConfigDto queryComponentConfig(Long id);
|
||||
|
||||
List<AgentComponentConfigDto> queryComponentConfigListByAgentIdAndType(Long agentId, AgentComponentConfig.Type type);
|
||||
|
||||
List<Arg> getAgentNoneSystemVariables(Long agentId, Long spaceId);
|
||||
|
||||
/**
|
||||
@@ -233,17 +232,10 @@ public interface AgentApplicationService {
|
||||
/**
|
||||
* 获取用户可选择的模型列表
|
||||
*
|
||||
* @param userId 用户ID
|
||||
* @param userId 用户ID
|
||||
* @param agentId 智能体ID
|
||||
* @return 模型列表
|
||||
*/
|
||||
List<ModelConfigDto> queryUserCanSelectModelListForAgent(Long userId, Long agentId);
|
||||
|
||||
/**
|
||||
* AI生成项目信息(名称、描述、图标)
|
||||
*/
|
||||
GenerateInfoResultDto generateInfo(GenerateInfoReqDto req);
|
||||
|
||||
String uploadSvgIcon(String svgIcon, String fileName);
|
||||
}
|
||||
|
||||
|
||||
@@ -1,8 +1,7 @@
|
||||
package com.xspaceagi.agent.core.adapter.application;
|
||||
|
||||
import com.xspaceagi.agent.core.adapter.dto.*;
|
||||
|
||||
import java.util.List;
|
||||
import com.xspaceagi.agent.core.adapter.dto.AddSkillsToWorkspaceDto;
|
||||
import com.xspaceagi.agent.core.adapter.dto.CreateWorkspaceDto;
|
||||
|
||||
public interface AgentWorkspaceApplicationService {
|
||||
|
||||
@@ -20,48 +19,4 @@ public interface AgentWorkspaceApplicationService {
|
||||
*/
|
||||
void addSkillsToWorkspace(AddSkillsToWorkspaceDto addSkillsToWorkspaceDto);
|
||||
|
||||
/**
|
||||
* 初始化项目模板
|
||||
* 根据项目类型和编程语言从 classpath 读取模板 zip,传到工作空间,
|
||||
* 根据 git版本开关决定是否执行 git init + commit
|
||||
*/
|
||||
void initProjectTemplate(InitProjectTemplateDto dto);
|
||||
|
||||
/**
|
||||
* 安装项目依赖
|
||||
* TypeScript 项目执行 pnpm install,Python 项目执行 pip install
|
||||
*/
|
||||
void installProject(InstallProjectDto dto);
|
||||
|
||||
/**
|
||||
* 打包 Agent:在沙箱工作空间执行打包脚本,生成各平台压缩包,上传到平台文件存储
|
||||
*/
|
||||
List<AgentPublishVersionDto> packageAgent(PackageAgentDto dto);
|
||||
|
||||
/**
|
||||
* 从沙箱工作空间取回技能文件,上传到文件服务,用于技能发布
|
||||
*/
|
||||
List<SkillFileDto> snapshotSkillFilesFromSandbox(Long userId, Long cId, String targetType, Long skillId);
|
||||
|
||||
/**
|
||||
* 删除沙箱工作空间
|
||||
*/
|
||||
void deleteWorkspace(Long userId, Long cId);
|
||||
|
||||
/**
|
||||
* 从沙箱导出技能为 zip 包
|
||||
*/
|
||||
SkillExportResultDto exportSkillFromSandbox(Long userId, Long cId, String skillName);
|
||||
|
||||
/**
|
||||
* 复制源沙箱工作空间到新的工作空间,并初始化 git
|
||||
* 采用先打包下载,后上传到新空间的方式,可以实现跨主机的复制
|
||||
*/
|
||||
void copySandboxWorkspace(Long srcUserId, Long srcCId, Long destUserId, Long destCId);
|
||||
|
||||
/**
|
||||
* 从指定 url 地址下载 zip 文件并上传到工作空间,初始化项目模板
|
||||
*/
|
||||
void uploadZipToWorkspace(Long userId, Long cId, String zipFileUrl);
|
||||
|
||||
}
|
||||
@@ -3,9 +3,8 @@ package com.xspaceagi.agent.core.adapter.application;
|
||||
import java.util.List;
|
||||
|
||||
import com.xspaceagi.agent.core.adapter.dto.ComponentDto;
|
||||
import com.xspaceagi.agent.core.adapter.repository.entity.Published;
|
||||
|
||||
public interface ComponentApplicationService {
|
||||
|
||||
List<ComponentDto> getComponentListBySpaceId(Long spaceId, Long groupId, List<Published.TargetType> types);
|
||||
List<ComponentDto> getComponentListBySpaceId(Long spaceId);
|
||||
}
|
||||
|
||||
@@ -5,6 +5,7 @@ import com.xspaceagi.agent.core.adapter.repository.entity.Conversation;
|
||||
import org.springframework.ai.chat.messages.Message;
|
||||
import reactor.core.publisher.Flux;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
@@ -25,8 +26,6 @@ public interface ConversationApplicationService {
|
||||
|
||||
ConversationDto createConversationForTaskCenter(Long tenantId, Long userId, Long agentId);
|
||||
|
||||
ConversationDto createConversationForProjectDevelopment(Long tenantId, Long userId, Long spaceId, Long devAgentId, String targetType, Long targetId);
|
||||
|
||||
/**
|
||||
* 创建任务会话,返回会话
|
||||
*
|
||||
@@ -53,8 +52,6 @@ public interface ConversationApplicationService {
|
||||
|
||||
void updateConversationStatus(Long cid, Conversation.ConversationTaskStatus status);
|
||||
|
||||
void updateConversationVariables(Long id, Map<String, Object> variables);
|
||||
|
||||
/**
|
||||
* 删除会话
|
||||
*
|
||||
@@ -137,15 +134,7 @@ public interface ConversationApplicationService {
|
||||
|
||||
Long nextConversationId(Long agentId, String sandboxServerId);
|
||||
|
||||
List<Message> getRoundMessages(String conversationId, int i);
|
||||
|
||||
List<ChatMessageDto> getRoundMessages(String conversationId, Long minId);
|
||||
Collection<? extends Message> getRoundMessages(String conversationId, int i);
|
||||
|
||||
void addRoundMessage(String conversationId, Message message);
|
||||
|
||||
void setChatStopStatus(String conversationId);
|
||||
|
||||
boolean isChatStop(String conversationId);
|
||||
|
||||
void clearChatStopStatus(String conversationId);
|
||||
}
|
||||
|
||||
@@ -0,0 +1,105 @@
|
||||
package com.xspaceagi.agent.core.adapter.application;
|
||||
|
||||
import com.xspaceagi.agent.core.adapter.dto.digital.DigitalEmployeeAdminWorkbenchPageDto;
|
||||
import com.xspaceagi.agent.core.adapter.dto.digital.DigitalEmployeeAdminActionPageDto;
|
||||
import com.xspaceagi.agent.core.adapter.dto.digital.DigitalEmployeeAdminActionRequestDto;
|
||||
import com.xspaceagi.agent.core.adapter.dto.digital.DigitalEmployeeAdminActionResultDto;
|
||||
import com.xspaceagi.agent.core.adapter.dto.digital.DigitalEmployeeAdminRecordRequestDto;
|
||||
import com.xspaceagi.agent.core.adapter.dto.digital.DigitalEmployeeAdminRecordResultDto;
|
||||
import com.xspaceagi.agent.core.adapter.dto.digital.DigitalEmployeeBillingEstimateDto;
|
||||
import com.xspaceagi.agent.core.adapter.dto.digital.DigitalEmployeeBusinessViewPageDto;
|
||||
import com.xspaceagi.agent.core.adapter.dto.digital.DigitalEmployeePlanBusinessViewDetailDto;
|
||||
import com.xspaceagi.agent.core.adapter.dto.digital.DigitalEmployeePolicySnapshotPageDto;
|
||||
import com.xspaceagi.agent.core.adapter.dto.digital.DigitalEmployeeSyncRecordPageDto;
|
||||
import com.xspaceagi.agent.core.adapter.dto.digital.DigitalEmployeeSyncRequestDto;
|
||||
import com.xspaceagi.agent.core.adapter.dto.digital.DigitalEmployeeSyncResponseDto;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
public interface DigitalEmployeeSyncApplicationService {
|
||||
DigitalEmployeeSyncResponseDto syncOutbox(DigitalEmployeeSyncRequestDto request);
|
||||
|
||||
DigitalEmployeeSyncRecordPageDto queryRecords(
|
||||
String clientKey,
|
||||
String deviceId,
|
||||
String entityType,
|
||||
String entityId,
|
||||
String outboxId,
|
||||
Long pageNo,
|
||||
Long pageSize
|
||||
);
|
||||
|
||||
DigitalEmployeeBusinessViewPageDto queryBusinessViews(
|
||||
String entityType,
|
||||
String clientKey,
|
||||
String deviceId,
|
||||
String entityId,
|
||||
String status,
|
||||
String syncStatus,
|
||||
Date updatedFrom,
|
||||
Date updatedTo,
|
||||
Long pageNo,
|
||||
Long pageSize
|
||||
);
|
||||
|
||||
DigitalEmployeePlanBusinessViewDetailDto queryPlanBusinessViewDetail(
|
||||
String planId,
|
||||
String clientKey,
|
||||
String deviceId
|
||||
);
|
||||
|
||||
DigitalEmployeeAdminWorkbenchPageDto queryAdminWorkbench(
|
||||
String view,
|
||||
String clientKey,
|
||||
String deviceId,
|
||||
String entityType,
|
||||
String entityId,
|
||||
String status,
|
||||
String kind,
|
||||
String category,
|
||||
String level,
|
||||
String priority,
|
||||
Date updatedFrom,
|
||||
Date updatedTo,
|
||||
Long pageNo,
|
||||
Long pageSize
|
||||
);
|
||||
|
||||
DigitalEmployeePolicySnapshotPageDto queryAdminPolicySnapshots(
|
||||
String clientKey,
|
||||
String deviceId,
|
||||
String status,
|
||||
String policyKind,
|
||||
Date updatedFrom,
|
||||
Date updatedTo,
|
||||
Long pageNo,
|
||||
Long pageSize
|
||||
);
|
||||
|
||||
DigitalEmployeeAdminActionResultDto createAdminAction(DigitalEmployeeAdminActionRequestDto request);
|
||||
|
||||
DigitalEmployeeAdminActionPageDto queryPendingAdminActions(
|
||||
String clientKey,
|
||||
String deviceId,
|
||||
Long pageNo,
|
||||
Long pageSize
|
||||
);
|
||||
|
||||
DigitalEmployeeAdminActionResultDto markAdminActionResult(
|
||||
Long actionId,
|
||||
String status,
|
||||
List<String> reasonCodes
|
||||
);
|
||||
|
||||
DigitalEmployeeAdminRecordResultDto recordDailyReportSendResult(DigitalEmployeeAdminRecordRequestDto request);
|
||||
|
||||
DigitalEmployeeBillingEstimateDto queryBillingEstimates(
|
||||
String clientKey,
|
||||
String deviceId,
|
||||
Date updatedFrom,
|
||||
Date updatedTo
|
||||
);
|
||||
|
||||
DigitalEmployeeAdminRecordResultDto recordAuditArchive(DigitalEmployeeAdminRecordRequestDto request);
|
||||
}
|
||||
@@ -19,41 +19,31 @@ public interface IComputerFileApplicationService {
|
||||
/**
|
||||
* 查询文件列表
|
||||
*/
|
||||
Map<String, Object> getFileList(Long userId, Long cId, String proxyPath, UserContext userContext, String customTargetDir);
|
||||
Map<String, Object> getFileList(Long userId, Long cId, String proxyPath, UserContext userContext);
|
||||
|
||||
/**
|
||||
* 更新文件
|
||||
*/
|
||||
Map<String, Object> filesUpdate(Long userId, Long cId, List<ComputerFileInfo> files, UserContext userContext, String customTargetDir);
|
||||
Map<String, Object> filesUpdate(Long userId, Long cId, List<ComputerFileInfo> files, UserContext userContext);
|
||||
|
||||
/**
|
||||
* 上传文件
|
||||
*/
|
||||
Map<String, Object> uploadFile(Long userId, Long cId, String filePath, MultipartFile file, UserContext userContext, String customTargetDir);
|
||||
Map<String, Object> uploadFile(Long userId, Long cId, String filePath, MultipartFile file, UserContext userContext);
|
||||
|
||||
/**
|
||||
* 批量上传文件
|
||||
*/
|
||||
Map<String, Object> uploadFiles(Long userId, Long cId, List<String> filePaths, List<MultipartFile> files, UserContext userContext, String customTargetDir);
|
||||
|
||||
/**
|
||||
* 导入项目(zip 替换工作空间,保留白名单目录)
|
||||
*/
|
||||
Map<String, Object> importProject(Long userId, Long cId, MultipartFile file, UserContext userContext, String customTargetDir);
|
||||
Map<String, Object> uploadFiles(Long userId, Long cId, List<String> filePaths, List<MultipartFile> files, UserContext userContext);
|
||||
|
||||
/**
|
||||
* 获取静态文件
|
||||
*/
|
||||
ResponseEntity<StreamingResponseBody> getStaticFile(Long cId, HttpServletRequest request, String customTargetDir);
|
||||
ResponseEntity<StreamingResponseBody> getStaticFile(Long cId, HttpServletRequest request);
|
||||
|
||||
/**
|
||||
* 下载全部文件(zip)
|
||||
*/
|
||||
ResponseEntity<StreamingResponseBody> downloadAllFiles(Long userId, Long cId, UserContext userContext, String customTargetDir);
|
||||
|
||||
/**
|
||||
* 获取沙盒日志
|
||||
*/
|
||||
Map<String, Object> getLogs(Long userId, Long cId, int tailLines);
|
||||
ResponseEntity<StreamingResponseBody> downloadAllFiles(Long userId, Long cId, UserContext userContext);
|
||||
|
||||
}
|
||||
@@ -2,7 +2,6 @@ package com.xspaceagi.agent.core.adapter.application;
|
||||
|
||||
import com.xspaceagi.agent.core.adapter.dto.CodeCheckResultDto;
|
||||
import com.xspaceagi.agent.core.adapter.dto.ModelQueryDto;
|
||||
import com.xspaceagi.agent.core.adapter.dto.SortUpdateDTO;
|
||||
import com.xspaceagi.agent.core.adapter.dto.config.ModelConfigDto;
|
||||
import org.springframework.core.ParameterizedTypeReference;
|
||||
|
||||
@@ -143,6 +142,4 @@ public interface ModelApplicationService {
|
||||
String testModelConnectivity(ModelConfigDto modelConfig, String testPrompt);
|
||||
|
||||
List<ModelConfigDto> getMySystemModels(Long userId, String tab);
|
||||
|
||||
void updateModelSort(List<SortUpdateDTO> updateDTOS);
|
||||
}
|
||||
|
||||
@@ -1,9 +0,0 @@
|
||||
package com.xspaceagi.agent.core.adapter.application;
|
||||
|
||||
import com.xspaceagi.agent.core.adapter.dto.ProjectCreateDTO;
|
||||
import com.xspaceagi.agent.core.adapter.dto.ProjectCreateResultDTO;
|
||||
|
||||
public interface ProjectApplicationService {
|
||||
|
||||
ProjectCreateResultDTO createProject(ProjectCreateDTO projectCreateDTO);
|
||||
}
|
||||
@@ -5,8 +5,6 @@ import com.xspaceagi.agent.core.adapter.dto.*;
|
||||
import com.xspaceagi.agent.core.adapter.repository.entity.Published;
|
||||
import com.xspaceagi.system.spec.dto.PageQueryVo;
|
||||
import com.xspaceagi.system.spec.page.SuperPage;
|
||||
import jakarta.servlet.http.HttpServletRequest;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@@ -17,8 +15,6 @@ public interface PublishApplicationService {
|
||||
*/
|
||||
SuperPage<PublishedDto> queryPublishedList(PublishedQueryDto publishedQueryDto);
|
||||
|
||||
List<ResourceGroupDto> queryGroupedPublishedList(PublishedQueryDto publishedQueryDto);
|
||||
|
||||
SuperPage<PublishedDto> queryPublishedListForAt(PublishedQueryDto publishedQueryDto);
|
||||
|
||||
List<PublishedDto> queryPublishedList(Published.TargetType targetType, List<Long> targetIds);
|
||||
@@ -27,8 +23,6 @@ public interface PublishApplicationService {
|
||||
|
||||
List<PublishedDto> queryPublishedList(Published.TargetType targetType, List<Long> targetIds, String kw);
|
||||
|
||||
List<PublishedDto> queryPublishedList(Published.TargetType targetType, List<Long> targetIds, String kw, boolean returnConfig);
|
||||
|
||||
IPage<PublishedDto> queryPublishedListForManage(PublishedQueryDto publishedQueryDto);
|
||||
|
||||
/**
|
||||
@@ -45,8 +39,6 @@ public interface PublishApplicationService {
|
||||
*/
|
||||
Long publishApply(PublishApplyDto publishApplyDto);
|
||||
|
||||
String publishOrApply(PublishApplySubmitDto publishApplySubmitDto);
|
||||
|
||||
/**
|
||||
* 通过发布
|
||||
*/
|
||||
@@ -116,6 +108,4 @@ public interface PublishApplicationService {
|
||||
void updateAccessControlStatus(Published.TargetType targetType, Long targetId, Integer status);
|
||||
|
||||
void updatePublishName(Published.TargetType targetType, Long targetId, String name);
|
||||
|
||||
Object checkPermissionAndReturnTargetConfig(Published.TargetType targetType, Long targetId);
|
||||
}
|
||||
|
||||
@@ -1,27 +0,0 @@
|
||||
package com.xspaceagi.agent.core.adapter.application;
|
||||
|
||||
import com.xspaceagi.agent.core.adapter.dto.recommend.RecommendHomeResponse;
|
||||
import com.xspaceagi.agent.core.adapter.dto.recommend.TargetRecommendPageRequest;
|
||||
import com.xspaceagi.agent.core.adapter.dto.recommend.TargetRecommendResponse;
|
||||
import com.xspaceagi.agent.core.adapter.dto.recommend.TargetRecommendSaveRequest;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public interface RecommendApplicationService {
|
||||
|
||||
void save(TargetRecommendSaveRequest request);
|
||||
|
||||
void update(TargetRecommendSaveRequest request);
|
||||
|
||||
void delete(Long id);
|
||||
|
||||
TargetRecommendResponse getById(Long id);
|
||||
|
||||
List<TargetRecommendResponse> page(TargetRecommendPageRequest request);
|
||||
|
||||
List<TargetRecommendResponse> list(String recType, String targetType);
|
||||
|
||||
void updateSort(Long id, Integer sort);
|
||||
|
||||
RecommendHomeResponse getRecommendations();
|
||||
}
|
||||
@@ -1,34 +0,0 @@
|
||||
package com.xspaceagi.agent.core.adapter.application;
|
||||
|
||||
import com.xspaceagi.agent.core.adapter.dto.ResourceGroupDto;
|
||||
import com.xspaceagi.agent.core.adapter.repository.entity.ResourceGroupRelation;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
public interface ResourceGroupApplicationService {
|
||||
|
||||
Long add(ResourceGroupDto dto);
|
||||
|
||||
void update(ResourceGroupDto dto);
|
||||
|
||||
void delete(Long id);
|
||||
|
||||
ResourceGroupDto queryById(Long id);
|
||||
|
||||
ResourceGroupDto queryByName(Long spaceId, String type, String name);
|
||||
|
||||
List<ResourceGroupDto> queryList(String name, List<String> types, Long spaceId);
|
||||
|
||||
List<ResourceGroupDto> queryList(List<Long> groupIds);
|
||||
|
||||
void addResourceToGroup(Long groupId, String targetType, Long targetId);
|
||||
|
||||
void removeResourceFromGroup(Long groupId, String targetType, Long targetId);
|
||||
|
||||
List<ResourceGroupRelation> queryGroupRelations(Long groupId);
|
||||
|
||||
List<ResourceGroupRelation> queryGroupRelations(List<Map<String, Long>> targets);
|
||||
|
||||
ResourceGroupRelation queryResourceGroupRelation(String type, Long targetId);
|
||||
}
|
||||
@@ -1,7 +1,6 @@
|
||||
package com.xspaceagi.agent.core.adapter.application;
|
||||
|
||||
import com.xspaceagi.agent.core.adapter.dto.*;
|
||||
import com.xspaceagi.agent.core.spec.enums.UsageScenarioEnum;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
import java.io.InputStream;
|
||||
@@ -69,18 +68,6 @@ public interface SkillApplicationService {
|
||||
*/
|
||||
Long importSkill(MultipartFile file, SkillConfigDto existSkill, Long targetSpaceId, SkillExtDto ext);
|
||||
|
||||
/**
|
||||
* 导入技能(支持文件或URL导入)
|
||||
*
|
||||
* @param url 技能文件URL(与file二选一)
|
||||
* @param file 上传的技能文件(与url二选一)
|
||||
* @param targetSkillId 目标技能ID(导入到已有技能),为null时创建新技能
|
||||
* @param targetSpaceId 目标空间ID(创建新技能时必填)
|
||||
* @param usageScenarios 使用场景列表
|
||||
* @return 技能ID
|
||||
*/
|
||||
Long importSkill(String url, MultipartFile file, Long targetSkillId, Long targetSpaceId, List<UsageScenarioEnum> usageScenarios);
|
||||
|
||||
/**
|
||||
* 复制技能
|
||||
*/
|
||||
@@ -91,11 +78,6 @@ public interface SkillApplicationService {
|
||||
*/
|
||||
SkillConfigDto getSkillTemplate(InputStream inputStream);
|
||||
|
||||
/**
|
||||
* 获取技能模板(从 classpath 自动读取 skill-template.json)
|
||||
*/
|
||||
SkillConfigDto getSkillTemplate();
|
||||
|
||||
/**
|
||||
* 校验空间技能权限
|
||||
*/
|
||||
|
||||
@@ -1,12 +0,0 @@
|
||||
package com.xspaceagi.agent.core.adapter.application;
|
||||
|
||||
import com.xspaceagi.agent.core.adapter.dto.PageAppNewSqlDTO;
|
||||
import com.xspaceagi.agent.core.adapter.dto.PageAppUpdateSqlDTO;
|
||||
import com.xspaceagi.agent.core.adapter.dto.PageSqlResultDTO;
|
||||
|
||||
public interface TableWorkflowForPageApplicationService {
|
||||
|
||||
PageSqlResultDTO tableNewSql(PageAppNewSqlDTO pageAppNewSqlDTO);
|
||||
|
||||
PageSqlResultDTO tableUpdateSql(PageAppUpdateSqlDTO pageAppUpdateSqlDTO);
|
||||
}
|
||||
@@ -88,8 +88,6 @@ public interface WorkflowApplicationService {
|
||||
|
||||
WorkflowConfigDto queryPublishedWorkflowConfig(Long workflowId, Long spaceId);
|
||||
|
||||
List<WorkflowConfigDto> queryPublishedWorkflowConfigs(List<Long> workflowIds);
|
||||
|
||||
/**
|
||||
* 添加节点
|
||||
*/
|
||||
|
||||
@@ -31,7 +31,4 @@ public class AgentAddDto implements Serializable {
|
||||
|
||||
@Schema(description = "类型,ChatBot 对话智能体;TaskAgent 任务型智能体", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
private String type;
|
||||
|
||||
@Schema(description = "子类型,ChatBot 问答型、General 通用型、Custom 自定义、Flow 流程协作、Group 群组协作")
|
||||
private String subType;
|
||||
}
|
||||
|
||||
@@ -1,21 +0,0 @@
|
||||
package com.xspaceagi.agent.core.adapter.dto;
|
||||
|
||||
import com.xspaceagi.agent.core.adapter.dto.config.AgentConfigDto;
|
||||
import com.xspaceagi.agent.core.adapter.repository.entity.Published;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
public class AgentConfigCacheStatusVo {
|
||||
|
||||
private AgentConfigDto agentConfig;
|
||||
private List<AgentComponentCacheStatusVo> components;
|
||||
|
||||
@Data
|
||||
public static class AgentComponentCacheStatusVo {
|
||||
private Published.TargetType targetType;
|
||||
private Long targetId;
|
||||
private Long lastUpdated;
|
||||
}
|
||||
}
|
||||
@@ -74,13 +74,4 @@ public class AgentConfigUpdateDto implements Serializable {
|
||||
|
||||
@Schema(description = "是否隐藏聊天区域,1 隐藏;0 不隐藏")
|
||||
private Integer hideChatArea;
|
||||
|
||||
@Schema(description = "是否允许用户在对话框中选择模式, 1 允许,其他不允许")
|
||||
private Integer allowChooseMode;
|
||||
|
||||
@Schema(description = "是否开启询问用户, 1 允许,其他不允许")
|
||||
private Integer enableAskQuestion;
|
||||
|
||||
@Schema(description = "是否开启版本控制, 1 允许,其他不允许")
|
||||
private Integer enableVersionControl;
|
||||
}
|
||||
|
||||
@@ -27,9 +27,6 @@ public class AgentDetailDto implements Serializable {
|
||||
@Schema(description = "智能体类型,ChatBot 对话智能体;PageApp 网页应用智能体")
|
||||
private String type;
|
||||
|
||||
@Schema(description = "子类型,ChatBot->ChatBot、PageApp->PageApp, TaskAgent -> General、Custom、Flow、Group")
|
||||
private String subType;
|
||||
|
||||
@Schema(description = "智能体名称")
|
||||
private String name;
|
||||
|
||||
@@ -110,12 +107,6 @@ public class AgentDetailDto implements Serializable {
|
||||
@Schema(description = "是否允许用户在对话框中选择自己的电脑, 1 允许,其他不允许")
|
||||
private Integer allowPrivateSandbox;
|
||||
|
||||
@Schema(description = "是否允许用户在对话框中选择模式, 1 允许,其他不允许")
|
||||
private Integer allowChooseMode;
|
||||
|
||||
@Schema(description = "是否开启版本控制, 1 允许,其他不允许")
|
||||
private Integer enableVersionControl;
|
||||
|
||||
@Schema(description = "扩展页面首页")
|
||||
private String pageHomeIndex;
|
||||
|
||||
@@ -139,7 +130,4 @@ public class AgentDetailDto implements Serializable {
|
||||
|
||||
@Schema(description = "超出调用限制提示")
|
||||
private boolean overCallLimit;
|
||||
|
||||
@Schema(description = "是否显示发布按钮")
|
||||
private boolean showPublishBtn;
|
||||
}
|
||||
|
||||
@@ -25,7 +25,6 @@ public class AgentOutputDto implements Serializable {
|
||||
PROCESSING_MESSAGE,
|
||||
// 输出消息
|
||||
MESSAGE,
|
||||
STATE,
|
||||
// 最终统计等消息
|
||||
FINAL_RESULT,
|
||||
|
||||
|
||||
@@ -1,34 +0,0 @@
|
||||
package com.xspaceagi.agent.core.adapter.dto;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class AgentPublishVersionDto implements Serializable {
|
||||
|
||||
private String version;
|
||||
|
||||
private String gitCommit;
|
||||
|
||||
@Builder.Default
|
||||
private Boolean latest = true;
|
||||
|
||||
private List<PackageArtifact> packages;
|
||||
|
||||
@Data
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public static class PackageArtifact implements Serializable {
|
||||
private String platform;
|
||||
private String url;
|
||||
}
|
||||
}
|
||||
@@ -1,16 +1,17 @@
|
||||
package com.xspaceagi.agent.core.adapter.dto;
|
||||
|
||||
import com.xspaceagi.agent.core.spec.enums.MessageTypeEnum;
|
||||
import com.xspaceagi.agent.core.spec.utils.TikTokensUtil;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
import org.springframework.ai.chat.messages.*;
|
||||
import org.springframework.ai.chat.messages.Message;
|
||||
import org.springframework.ai.chat.messages.MessageType;
|
||||
|
||||
import java.util.*;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
@Data
|
||||
@Builder
|
||||
@@ -18,8 +19,6 @@ import java.util.*;
|
||||
@NoArgsConstructor
|
||||
public class ChatMessageDto implements Message {
|
||||
|
||||
private static final int MAX_TOKEN_WINDOW_SIZE = 64 * 1024;
|
||||
|
||||
private Long index;
|
||||
|
||||
private Long tenantId;
|
||||
@@ -73,10 +72,7 @@ public class ChatMessageDto implements Message {
|
||||
|
||||
@Override
|
||||
public MessageType getMessageType() {
|
||||
if (role != null) {
|
||||
return MessageType.valueOf(role.name());
|
||||
}
|
||||
return MessageType.USER;
|
||||
return MessageType.valueOf(role.name());
|
||||
}
|
||||
|
||||
public enum Role {
|
||||
@@ -88,74 +84,6 @@ public class ChatMessageDto implements Message {
|
||||
|
||||
public enum SenderType {
|
||||
USER,
|
||||
AGENT,
|
||||
REMINDER
|
||||
}
|
||||
|
||||
public static List<Message> toMessages(List<ChatMessageDto> messages) {
|
||||
List<Message> all = new ArrayList<>();
|
||||
//cachedMessageList转Message
|
||||
for (ChatMessageDto message : messages) {
|
||||
if (message.getRole().name().equals(MessageType.USER.name())) {
|
||||
String text = message.getText();
|
||||
if (text != null) {
|
||||
text = text.replaceAll("<user-memory>[\\s\\S]*?</user-memory>", "").trim();
|
||||
}
|
||||
all.add(new UserMessage(text == null ? "" : text));
|
||||
}
|
||||
if (message.getRole().name().equals(MessageType.ASSISTANT.name())) {
|
||||
String text = removeSystemTagContent(message.getText());
|
||||
if (text != null) {
|
||||
text = text.replaceAll("\n<div><markdown-custom-process[^>]*>.*?</markdown-custom-process></div>\n\n", "");
|
||||
text = text.replaceAll("<markdown-custom-process[^>]*>.*?</markdown-custom-process>", "");
|
||||
}
|
||||
all.add(new AssistantMessage(text));
|
||||
}
|
||||
if (message.getRole().name().equals(MessageType.SYSTEM.name())) {
|
||||
all.add(new SystemMessage(message.getText()));
|
||||
}
|
||||
}
|
||||
|
||||
Collections.reverse(all);
|
||||
Iterator<Message> iterator = all.iterator();
|
||||
int tokenCount = 0;
|
||||
MessageType messageType = MessageType.ASSISTANT;
|
||||
while (iterator.hasNext()) {
|
||||
Message next = iterator.next();
|
||||
if (messageType != next.getMessageType()) {
|
||||
iterator.remove();
|
||||
continue;
|
||||
}
|
||||
messageType = messageType == MessageType.USER ? MessageType.ASSISTANT : MessageType.USER;
|
||||
if (tokenCount >= MAX_TOKEN_WINDOW_SIZE) {
|
||||
iterator.remove();
|
||||
} else {
|
||||
tokenCount += TikTokensUtil.tikTokensCount(next.getText());
|
||||
}
|
||||
}
|
||||
Collections.reverse(all);
|
||||
removeIfFirstMessageIsAssistant(all);
|
||||
return all;
|
||||
}
|
||||
|
||||
public static String removeSystemTagContent(String text) {
|
||||
if (text == null) {
|
||||
return null;
|
||||
}
|
||||
return text.replaceAll("<think>[\\s\\S]*?</think>", "").trim()
|
||||
.replaceAll("```xml[\\s\\S]*?<tool_.*>[\\s\\S]*?</tool_.*>[\\s\\S]*?```", " ")
|
||||
.replaceAll("<tool_.*>[\\s\\S]*?</tool_.*>", " ");
|
||||
}
|
||||
|
||||
|
||||
//移除第一条消息不是User的内容,避免像deepseek第一条消息不是User消息时,导致无法正常工具调用
|
||||
private static void removeIfFirstMessageIsAssistant(List<Message> all) {
|
||||
if (CollectionUtils.isEmpty(all)) {
|
||||
return;
|
||||
}
|
||||
if (all.get(0).getMessageType() == MessageType.ASSISTANT) {
|
||||
all.remove(0);
|
||||
removeIfFirstMessageIsAssistant(all);
|
||||
}
|
||||
AGENT
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,14 +1,15 @@
|
||||
package com.xspaceagi.agent.core.adapter.dto;
|
||||
|
||||
import com.xspaceagi.agent.core.adapter.repository.entity.Published;
|
||||
import com.xspaceagi.agent.core.spec.enums.ComponentTypeEnum;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
import com.xspaceagi.agent.core.adapter.repository.entity.Published;
|
||||
import com.xspaceagi.agent.core.spec.enums.ComponentTypeEnum;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class ComponentDto implements Serializable {
|
||||
|
||||
@@ -18,9 +19,6 @@ public class ComponentDto implements Serializable {
|
||||
@Schema(description = "空间ID")
|
||||
private Long spaceId;
|
||||
|
||||
@Schema(description = "分组ID")
|
||||
private Long groupId;
|
||||
|
||||
@Schema(description = "组件类型")
|
||||
private ComponentTypeEnum type;
|
||||
|
||||
@@ -56,7 +54,4 @@ public class ComponentDto implements Serializable {
|
||||
@Schema(description = "是否启用")
|
||||
private Integer enabled;
|
||||
|
||||
@Schema(description = "[插件专用]开发时使用的会话ID")
|
||||
private Long devAgentConversationId;
|
||||
|
||||
}
|
||||
|
||||
@@ -36,9 +36,6 @@ public class ConversationDto {
|
||||
@Schema(description = "会话摘要,当开启长期记忆时,会对每次会话进行总结")
|
||||
private String summary;
|
||||
|
||||
@Schema(description = "会话图标")
|
||||
private String icon;
|
||||
|
||||
@Schema(description = "用户填写的会话变量内容")
|
||||
private Map<String, Object> variables;
|
||||
|
||||
@@ -71,13 +68,6 @@ public class ConversationDto {
|
||||
|
||||
private String sandboxSessionId;
|
||||
|
||||
@Schema(description = "开发项目所在的空间ID")
|
||||
private Long devSpaceId;
|
||||
@Schema(description = "开发模式目标类型 Agent,PageApp,Skill,Plugin")
|
||||
private String devTargetType;
|
||||
@Schema(description = "开发模式目标ID")
|
||||
private String devTargetId;
|
||||
|
||||
@Schema(description = "已分享的URI地址,比对上了则不需要认证")
|
||||
private List<String> sharedUris;
|
||||
|
||||
|
||||
@@ -18,7 +18,4 @@ public class ConversationUpdateDto implements Serializable {
|
||||
|
||||
@Schema(description = "会话主题,可以不传,firstMessage与topic二选一")
|
||||
private String topic;
|
||||
|
||||
@Schema(description = "会话图标")
|
||||
private String icon;
|
||||
}
|
||||
|
||||
@@ -10,7 +10,6 @@ import lombok.NoArgsConstructor;
|
||||
import javax.validation.constraints.NotNull;
|
||||
import java.io.Serializable;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@@ -32,17 +31,4 @@ public class CreateWorkspaceDto implements Serializable {
|
||||
|
||||
@Schema(description = "子代理列表")
|
||||
private List<SubagentDto> subagents;
|
||||
|
||||
@Schema(description = "MCP servers配置,key为server名称,value为server配置")
|
||||
private Map<String, McpServerConfigDto> mcpServersConfig;
|
||||
|
||||
@Schema(description = "工具权限配置")
|
||||
private PermissionsConfigDto permissionsConfig;
|
||||
|
||||
@Schema(description = "Hooks配置,key为事件类型(如PreToolUse),value为Hook规则列表")
|
||||
private Map<String, List<HookEntryDto>> hooksConfig;
|
||||
|
||||
@Schema(description = "Hook外挂脚本列表")
|
||||
private List<HookScriptDto> hookScripts;
|
||||
|
||||
}
|
||||
|
||||
@@ -1,25 +0,0 @@
|
||||
package com.xspaceagi.agent.core.adapter.dto;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonPropertyDescription;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@Builder
|
||||
public class GenerateInfoAiDto implements Serializable {
|
||||
|
||||
@JsonPropertyDescription("项目名称,简洁有意义,不超过20个字符")
|
||||
private String name;
|
||||
|
||||
@JsonPropertyDescription("项目描述,一句话概括功能和用途,不超过100个字符")
|
||||
private String description;
|
||||
|
||||
@JsonPropertyDescription("SVG图标内容,根元素必须为 <svg width=\"200\" height=\"200\" viewBox=\"0 0 100 100\" xmlns=\"http://www.w3.org/2000/svg\">;第一个元素必须是铺满画布的背景 rect(x=0,y=0,width=100,height=100);主图形需占满大部分画布(约10-90坐标范围),不要留大空白边距;不使用外部资源")
|
||||
private String svgIcon;
|
||||
}
|
||||
@@ -1,22 +0,0 @@
|
||||
package com.xspaceagi.agent.core.adapter.dto;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import jakarta.validation.constraints.NotBlank;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@Builder
|
||||
@Schema(description = "AI生成项目信息请求")
|
||||
public class GenerateInfoReqDto implements Serializable {
|
||||
|
||||
@Schema(description = "用户需求描述", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@NotBlank
|
||||
private String prompt;
|
||||
}
|
||||
@@ -1,26 +0,0 @@
|
||||
package com.xspaceagi.agent.core.adapter.dto;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@Builder
|
||||
@Schema(description = "AI生成项目信息结果")
|
||||
public class GenerateInfoResultDto implements Serializable {
|
||||
|
||||
@Schema(description = "项目名称")
|
||||
private String name;
|
||||
|
||||
@Schema(description = "项目描述")
|
||||
private String description;
|
||||
|
||||
@Schema(description = "图标文件访问URL")
|
||||
private String iconUrl;
|
||||
}
|
||||
@@ -1,25 +0,0 @@
|
||||
package com.xspaceagi.agent.core.adapter.dto;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@Builder
|
||||
@Schema(description = "Hook规则条目")
|
||||
public class HookEntryDto implements Serializable {
|
||||
|
||||
// 过滤条件(如 "Bash" 仅针对 Bash 工具)
|
||||
@Schema(description = "匹配器,如工具名或正则表达式")
|
||||
private String matcher;
|
||||
|
||||
@Schema(description = "Hook配置列表,每项为解析后的 JSON 对象")
|
||||
private List<Object> hooks;
|
||||
}
|
||||
@@ -1,32 +0,0 @@
|
||||
package com.xspaceagi.agent.core.adapter.dto;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@Builder
|
||||
@Schema(description = "单个Hook脚本配置")
|
||||
public class HookItemDto implements Serializable {
|
||||
|
||||
@Schema(description = "Hook类型," +
|
||||
"command - 运行 shell 脚本、" +
|
||||
"http - 调用 HTTP 端点、" +
|
||||
"mcp_tool - 调用 MCP 工具、" +
|
||||
"prompt - 向 Claude 发送提示、" +
|
||||
"agent - 生成 subagent")
|
||||
private String type;
|
||||
|
||||
@Schema(description = "要执行的命令")
|
||||
private String command;
|
||||
|
||||
@Schema(description = "命令参数列表")
|
||||
private List<String> args;
|
||||
}
|
||||
@@ -1,24 +0,0 @@
|
||||
package com.xspaceagi.agent.core.adapter.dto;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@Builder
|
||||
@Schema(description = "Hook外挂脚本DTO")
|
||||
public class HookScriptDto implements Serializable {
|
||||
|
||||
// 比如:传的相对路径:hooks/my-script.sh,实际存放路径是 ${PROJECT_DIR}/.claude/hooks/my-script.sh
|
||||
@Schema(description = "脚本相对路径,如 hooks/my-script.sh")
|
||||
private String path;
|
||||
|
||||
@Schema(description = "脚本文件内容")
|
||||
private String content;
|
||||
}
|
||||
@@ -1,89 +0,0 @@
|
||||
package com.xspaceagi.agent.core.adapter.dto;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonCreator;
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import com.fasterxml.jackson.annotation.JsonValue;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Arrays;
|
||||
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@Builder
|
||||
@Schema(description = "初始化项目模板请求DTO")
|
||||
public class InitProjectTemplateDto implements Serializable {
|
||||
|
||||
@Schema(description = "用户ID", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
private Long userId;
|
||||
|
||||
@Schema(description = "会话ID", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@JsonProperty("cId")
|
||||
private Long cId;
|
||||
|
||||
@Schema(description = "项目类型", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
private ProjectType projectType;
|
||||
|
||||
@Schema(description = "编程语言(projectType=AGENT时必填)")
|
||||
private ProgrammingLanguage programmingLanguage;
|
||||
|
||||
public enum ProjectType {
|
||||
AGENT("agent"),
|
||||
SKILL("skill");
|
||||
|
||||
private final String value;
|
||||
|
||||
ProjectType(String value) {
|
||||
this.value = value;
|
||||
}
|
||||
|
||||
@JsonValue
|
||||
public String getValue() {
|
||||
return value;
|
||||
}
|
||||
|
||||
@JsonCreator
|
||||
public static ProjectType fromValue(String value) {
|
||||
if (value == null) {
|
||||
return null;
|
||||
}
|
||||
return Arrays.stream(values())
|
||||
.filter(e -> e.value.equalsIgnoreCase(value))
|
||||
.findFirst()
|
||||
.orElseThrow(() -> new IllegalArgumentException("Unknown projectType: " + value));
|
||||
}
|
||||
}
|
||||
|
||||
public enum ProgrammingLanguage {
|
||||
TYPESCRIPT("typescript"),
|
||||
PYTHON("python");
|
||||
|
||||
private final String value;
|
||||
|
||||
ProgrammingLanguage(String value) {
|
||||
this.value = value;
|
||||
}
|
||||
|
||||
@JsonValue
|
||||
public String getValue() {
|
||||
return value;
|
||||
}
|
||||
|
||||
@JsonCreator
|
||||
public static ProgrammingLanguage fromValue(String value) {
|
||||
if (value == null) {
|
||||
return null;
|
||||
}
|
||||
return Arrays.stream(values())
|
||||
.filter(e -> e.value.equalsIgnoreCase(value))
|
||||
.findFirst()
|
||||
.orElseThrow(() -> new IllegalArgumentException("Unknown programmingLanguage: " + value));
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,29 +0,0 @@
|
||||
package com.xspaceagi.agent.core.adapter.dto;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
@Data
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@Schema(description = "安装项目依赖请求DTO")
|
||||
public class InstallProjectDto implements Serializable {
|
||||
|
||||
@Schema(description = "用户ID", hidden = true)
|
||||
private Long userId;
|
||||
|
||||
@Schema(description = "会话ID", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@JsonProperty("cId")
|
||||
private Long cId;
|
||||
|
||||
@Schema(description = "编程语言", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
private InitProjectTemplateDto.ProgrammingLanguage programmingLanguage;
|
||||
|
||||
}
|
||||
@@ -1,34 +0,0 @@
|
||||
package com.xspaceagi.agent.core.adapter.dto;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@Builder
|
||||
@Schema(description = "MCP Server配置")
|
||||
public class McpServerConfigDto implements Serializable {
|
||||
|
||||
@Schema(description = "MCP Server类型,stdio、http、streamable-http、sse、ws")
|
||||
private String type;
|
||||
|
||||
@Schema(description = "远程HTTP端点URL")
|
||||
private String url;
|
||||
|
||||
@Schema(description = "启动命令,如 npx、python(type为stdio时使用)")
|
||||
private String command;
|
||||
|
||||
@Schema(description = "命令参数列表(type为stdio时使用)")
|
||||
private List<String> args;
|
||||
|
||||
@Schema(description = "环境变量(type为stdio时使用)")
|
||||
private Map<String, String> env;
|
||||
}
|
||||
@@ -1,30 +0,0 @@
|
||||
package com.xspaceagi.agent.core.adapter.dto;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
@Data
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class PackageAgentDto implements Serializable {
|
||||
|
||||
@NotNull
|
||||
private Long userId;
|
||||
|
||||
@NotNull
|
||||
@JsonProperty("cId")
|
||||
private Long cId;
|
||||
|
||||
@NotNull
|
||||
private Long agentId;
|
||||
|
||||
@NotNull
|
||||
private InitProjectTemplateDto.ProgrammingLanguage programmingLanguage;
|
||||
}
|
||||
@@ -1,38 +0,0 @@
|
||||
package com.xspaceagi.agent.core.adapter.dto;
|
||||
|
||||
import com.xspaceagi.agent.core.adapter.dto.config.Arg;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
public class PageAppNewSqlDTO {
|
||||
|
||||
@Schema(description = "空间ID,环境变量中读取 DEV_SPACE_ID", requiredMode = Schema.RequiredMode.REQUIRED, hidden = true)
|
||||
private Long spaceId;
|
||||
|
||||
@Schema(description = "项目ID,环境变量中读取 DEV_PROJECT_ID", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
private String projectId;
|
||||
|
||||
@Schema(description = "给接口一个分组名称,便于管理,尽量将所有接口放在一个分组里")
|
||||
private String groupName;
|
||||
|
||||
@Schema(description = "分组描述")
|
||||
private String groupDescription;
|
||||
|
||||
@Schema(description = "参数,使用一级即可")
|
||||
private List<Arg> args;
|
||||
|
||||
@Schema(description = "表ID")
|
||||
private Long tableId;
|
||||
|
||||
@Schema(description = "SQL:Variable placeholders do not need single quotes, e.g., SELECT * FROM custom_table WHERE agent_id = {{agent_id}};For LIKE fuzzy queries, use $+variable, e.g., SELECT * FROM custom_table WHERE agent_name LIKE '%${{agent_name}}%';", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
private String sql;
|
||||
|
||||
@Schema(description = "API名称", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
private String apiName;
|
||||
|
||||
@Schema(description = "API描述", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
private String description;
|
||||
}
|
||||
@@ -1,29 +0,0 @@
|
||||
package com.xspaceagi.agent.core.adapter.dto;
|
||||
|
||||
import com.xspaceagi.agent.core.adapter.dto.config.Arg;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
public class PageAppUpdateSqlDTO {
|
||||
|
||||
@Schema(description = "项目ID,环境变量中读取 DEV_PROJECT_ID", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
private String projectId;
|
||||
|
||||
@Schema(description = "API ID")
|
||||
private Long apiId;
|
||||
|
||||
@Schema(description = "参数,使用一级即可")
|
||||
private List<Arg> args;
|
||||
|
||||
@Schema(description = "SQL:Variable placeholders do not need single quotes, e.g., SELECT * FROM custom_table WHERE agent_id = {{agent_id}};For LIKE fuzzy queries, use $+variable, e.g., SELECT * FROM custom_table WHERE agent_name LIKE '%${{agent_name}}%';", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
private String sql;
|
||||
|
||||
@Schema(description = "API名称", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
private String apiName;
|
||||
|
||||
@Schema(description = "API描述", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
private String description;
|
||||
}
|
||||
@@ -1,14 +0,0 @@
|
||||
package com.xspaceagi.agent.core.adapter.dto;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class PageSqlResultDTO {
|
||||
|
||||
@Schema(description = "接口ID")
|
||||
private Long apiId;
|
||||
|
||||
@Schema(description = "接口Schema,可用于调试")
|
||||
private String apiSchema;
|
||||
}
|
||||
@@ -1,27 +0,0 @@
|
||||
package com.xspaceagi.agent.core.adapter.dto;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@Builder
|
||||
@Schema(description = "工具权限配置")
|
||||
public class PermissionsConfigDto implements Serializable {
|
||||
|
||||
@Schema(description = "自动允许的工具规则列表,如 [\"Bash(npm run lint)\", \"Read(~/.zshrc)\"]")
|
||||
private List<String> allow;
|
||||
|
||||
@Schema(description = "拒绝的工具规则列表,如 [\"Bash(curl *)\", \"Read(./.env)\"]")
|
||||
private List<String> deny;
|
||||
|
||||
@Schema(description = "需要询问的工具规则列表,如 [\"Bash(git push *)\"]")
|
||||
private List<String> ask;
|
||||
}
|
||||
@@ -21,6 +21,4 @@ public class PluginExecuteRequestDto implements Serializable {
|
||||
private Map<String, Object> params;
|
||||
|
||||
private boolean test;
|
||||
|
||||
private String apiKey;
|
||||
}
|
||||
|
||||
@@ -24,7 +24,4 @@ public class PluginUpdateDto<T> implements Serializable {
|
||||
|
||||
@Schema(description = "插件配置")
|
||||
private T config;
|
||||
|
||||
@Schema(description = "开发智能体的会话ID")
|
||||
private Long devAgentConversationId;
|
||||
}
|
||||
@@ -1,24 +0,0 @@
|
||||
package com.xspaceagi.agent.core.adapter.dto;
|
||||
|
||||
import com.xspaceagi.agent.core.adapter.repository.entity.Published;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class ProjectCreateDTO {
|
||||
|
||||
@Schema(description = "项目所属空间ID,不传则默认放在个人空间,可选")
|
||||
private Long spaceId;
|
||||
|
||||
@Schema(description = "目标项目类型", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
private Published.TargetType targetType;
|
||||
|
||||
@Schema(description = "目标项目名称,可选")
|
||||
private String name;
|
||||
|
||||
@Schema(description = "目标项目创建者ID,可选", hidden = true)
|
||||
private Long creatorId;
|
||||
|
||||
@Schema(description = "编程语言选择")
|
||||
private InitProjectTemplateDto.ProgrammingLanguage programmingLanguage;
|
||||
}
|
||||
@@ -1,18 +0,0 @@
|
||||
package com.xspaceagi.agent.core.adapter.dto;
|
||||
|
||||
import com.xspaceagi.agent.core.adapter.repository.entity.Published;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class ProjectCreateResultDTO {
|
||||
|
||||
@Schema(description = "目标项目类型")
|
||||
private Published.TargetType targetType;
|
||||
|
||||
@Schema(description = "目标项目ID")
|
||||
private String targetId;
|
||||
|
||||
@Schema(description = "开发智能体的关联的会话ID")
|
||||
private Long conversationId;
|
||||
}
|
||||
@@ -1,17 +1,18 @@
|
||||
package com.xspaceagi.agent.core.adapter.dto;
|
||||
|
||||
import com.xspaceagi.agent.core.adapter.repository.entity.Published;
|
||||
import com.xspaceagi.agent.core.spec.enums.PluginTypeEnum;
|
||||
import com.xspaceagi.agent.core.spec.enums.UsageScenarioEnum;
|
||||
import com.xspaceagi.custompage.sdk.dto.SourceTypeEnum;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
import com.xspaceagi.agent.core.adapter.repository.entity.Published;
|
||||
import com.xspaceagi.agent.core.spec.enums.PluginTypeEnum;
|
||||
import com.xspaceagi.agent.core.spec.enums.UsageScenarioEnum;
|
||||
import com.xspaceagi.custompage.sdk.dto.SourceTypeEnum;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class PublishedDto implements Serializable {
|
||||
|
||||
@@ -22,8 +23,6 @@ public class PublishedDto implements Serializable {
|
||||
|
||||
private Long spaceId;
|
||||
|
||||
private Long groupId;
|
||||
|
||||
@Schema(description = "目标对象(智能体、工作流、插件)ID")
|
||||
private Published.TargetType targetType;
|
||||
|
||||
@@ -103,9 +102,6 @@ public class PublishedDto implements Serializable {
|
||||
@Schema(description = "价格")
|
||||
private BigDecimal price;
|
||||
|
||||
@Schema(description = "价格类型, ONE_TIME 次;SECOND 秒;MILLION_TOKEN 百万Token")
|
||||
private String pricingType;
|
||||
|
||||
@Schema(description = "是否已订阅,对智能体和技能有效")
|
||||
private boolean subscribed;
|
||||
|
||||
|
||||
@@ -23,15 +23,9 @@ public class PublishedQueryDto implements Serializable {
|
||||
@Schema(description = "子类型")
|
||||
private Published.TargetSubType targetSubType;
|
||||
|
||||
@Schema(description = "智能体类型")
|
||||
private List<String> agentTypes;
|
||||
|
||||
@Schema(description = "页码")
|
||||
private Integer page;
|
||||
|
||||
@Schema(description = "上一页最后一条数据的时间戳,与page二选一")
|
||||
private Long lastTimestamp;
|
||||
|
||||
@Schema(description = "每页数量")
|
||||
private Integer pageSize;
|
||||
|
||||
@@ -71,21 +65,12 @@ public class PublishedQueryDto implements Serializable {
|
||||
@Schema(description = "查询的ID范围,比如只查看推荐、官方标识的组件等", hidden = true)
|
||||
private List<Long> targetIds;
|
||||
|
||||
@Schema(description = "推荐列表", hidden = true)
|
||||
private List<Long> recommendIds;
|
||||
|
||||
@Schema(description = "排除列表", hidden = true)
|
||||
private List<Long> excludeIds;
|
||||
|
||||
@Schema(description = "是否只返回官方标识的内容")
|
||||
private Boolean official;
|
||||
|
||||
@Schema(description = "适用场景筛选参数,如 [TaskAgent, PageApp]")
|
||||
private List<UsageScenarioEnum> usageScenarios;
|
||||
|
||||
@Schema(description = "是否返回配置信息", hidden = true)
|
||||
private boolean returnConfig;
|
||||
|
||||
/**
|
||||
* 获取页码
|
||||
*
|
||||
|
||||
@@ -1,46 +0,0 @@
|
||||
package com.xspaceagi.agent.core.adapter.dto;
|
||||
|
||||
import com.xspaceagi.agent.core.adapter.repository.entity.Published;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
public class ResourceGroupDto implements Serializable {
|
||||
|
||||
private Long id;
|
||||
|
||||
private Long spaceId;
|
||||
|
||||
private String name;
|
||||
|
||||
private String description;
|
||||
|
||||
private String icon;
|
||||
|
||||
private Integer toolCount;
|
||||
|
||||
private String type;
|
||||
|
||||
@Schema(description = "目标对象(智能体、工作流、插件)类型,分组中第一个工具的类型")
|
||||
private Published.TargetType targetType;
|
||||
|
||||
@Schema(description = "目标对象(工作流、插件)ID,分组中第一个工具的ID")
|
||||
private Long targetId;
|
||||
|
||||
private Date created;
|
||||
|
||||
private Date modified;
|
||||
|
||||
@Schema(description = "是否需要付费")
|
||||
private boolean paymentRequired;
|
||||
|
||||
@Schema(description = "发布者信息")
|
||||
private PublishUserDto publishUser;
|
||||
|
||||
@Schema(description = "工具列表,选择使用")
|
||||
private List<PublishedDto> tools;
|
||||
}
|
||||
@@ -1,6 +0,0 @@
|
||||
package com.xspaceagi.agent.core.adapter.dto;
|
||||
|
||||
import com.xspaceagi.agent.core.adapter.repository.entity.ResourceGroupRelation;
|
||||
|
||||
public class ResourceGroupRelationDto extends ResourceGroupRelation {
|
||||
}
|
||||
@@ -56,7 +56,4 @@ public class SkillConfigDto implements Serializable {
|
||||
|
||||
@Schema(description = "技能发布zip代理下载地址")
|
||||
private String zipFileUrl;
|
||||
|
||||
@Schema(description = "技能开发智能体的关联的会话ID")
|
||||
private Long devAgentConversationId;
|
||||
}
|
||||
@@ -23,6 +23,4 @@ public class SkillPublishedConfigDto {
|
||||
|
||||
@Schema(description = "技能发布zip代理下载地址")
|
||||
private String zipFileUrl;
|
||||
|
||||
private Long devAgentConversationId;
|
||||
}
|
||||
|
||||
@@ -1,10 +0,0 @@
|
||||
package com.xspaceagi.agent.core.adapter.dto;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class SortUpdateDTO {
|
||||
|
||||
private Long id;
|
||||
private Integer sort;
|
||||
}
|
||||
@@ -17,6 +17,4 @@ public class TopicGenDto implements Serializable {
|
||||
@JsonPropertyDescription("Contextually appropriate titles, ≤50 characters. Do not generate titles unrelated to the topic. For meaningless contexts, such as user input errors or arbitrary content, no summary is needed; return empty. Output language based on the <content>")
|
||||
private String topic;
|
||||
|
||||
@JsonPropertyDescription("SVG icon, viewBox='0 0 100 100'. Do not generate icons unrelated to the topic. For meaningless contexts, such as user input errors or arbitrary content, no icon is needed; return empty. Output language based on the <content>. \nSVG requirements: \n- Use simple geometric shapes and clean lines \n- Use a modern color palette (gradient or solid colors) \n- Must be a valid, self-contained SVG with no external references \n- Keep it simple and recognizable at small sizes \n- The SVG should be visually appealing and professional")
|
||||
private String svgIcon;
|
||||
}
|
||||
|
||||
@@ -48,9 +48,6 @@ public class TryReqDto implements Serializable {
|
||||
@Schema(description = "请求ID", hidden = true)
|
||||
private String requestId;
|
||||
|
||||
@Schema(description = "代理模式")
|
||||
private String agentMode;
|
||||
|
||||
@Data
|
||||
public static class SelectedComponentDto {
|
||||
@Schema(description = "组件ID")
|
||||
|
||||
@@ -33,8 +33,6 @@ public class WorkflowExecuteRequestDto implements Serializable {
|
||||
|
||||
private boolean test;
|
||||
|
||||
private String apiKey;
|
||||
|
||||
public Map<String, Object> getParams() {
|
||||
return params == null ? params = new HashMap<>() : params;
|
||||
}
|
||||
|
||||
@@ -2,7 +2,10 @@ package com.xspaceagi.agent.core.adapter.dto.config;
|
||||
|
||||
import com.alibaba.fastjson2.JSON;
|
||||
import com.alibaba.fastjson2.JSONObject;
|
||||
import com.xspaceagi.agent.core.adapter.dto.*;
|
||||
import com.xspaceagi.agent.core.adapter.dto.CreatorDto;
|
||||
import com.xspaceagi.agent.core.adapter.dto.GuidQuestionDto;
|
||||
import com.xspaceagi.agent.core.adapter.dto.PublishUserDto;
|
||||
import com.xspaceagi.agent.core.adapter.dto.StatisticsDto;
|
||||
import com.xspaceagi.agent.core.adapter.dto.config.bind.*;
|
||||
import com.xspaceagi.agent.core.adapter.repository.entity.AgentComponentConfig;
|
||||
import com.xspaceagi.agent.core.adapter.repository.entity.AgentConfig;
|
||||
@@ -33,9 +36,6 @@ public class AgentConfigDto implements Serializable {
|
||||
@Schema(description = "类型,ChatBot 对话智能体;PageApp 网页应用智能体, TaskAgent 任务型智能体")
|
||||
private String type;
|
||||
|
||||
@Schema(description = "子类型,ChatBot->ChatBot、PageApp->PageApp, TaskAgent -> General、Custom、Flow、Group")
|
||||
private String subType;
|
||||
|
||||
@Schema(description = "商户ID")
|
||||
private Long tenantId; // 商户ID
|
||||
|
||||
@@ -111,12 +111,9 @@ public class AgentConfigDto implements Serializable {
|
||||
@Schema(description = "是否收藏", hidden = true)
|
||||
private boolean isCollected;
|
||||
|
||||
@Schema(description = "debug调试会话ID")
|
||||
@Schema(description = "开发会话ID")
|
||||
private Long devConversationId;
|
||||
|
||||
@Schema(description = "开发Agent的会话ID")
|
||||
private Long devAgentConversationId;
|
||||
|
||||
@Schema(description = "发布时间,如果不为空,与当前modified时间做对比,如果发布时间小于modified,则前端显示:有更新未发布")
|
||||
private Date publishDate;
|
||||
|
||||
@@ -165,23 +162,6 @@ public class AgentConfigDto implements Serializable {
|
||||
@Schema(description = "是否允许用户在对话框中选择自己的电脑, 1 允许,其他不允许")
|
||||
private Integer allowPrivateSandbox;
|
||||
|
||||
@Schema(description = "是否允许用户在对话框中选择模式, 1 允许,其他不允许")
|
||||
private Integer allowChooseMode;
|
||||
|
||||
@Schema(description = "是否开启询问用户, 1 允许,其他不允许")
|
||||
private Integer enableAskQuestion;
|
||||
|
||||
@Schema(description = "是否开启版本控制, 1 允许,其他不允许")
|
||||
private Integer enableVersionControl;
|
||||
|
||||
@Schema(description = "发布版本列表")
|
||||
private List<AgentPublishVersionDto> publishVersion;
|
||||
|
||||
@Schema(description = "已发布的空间ID", hidden = true)
|
||||
private List<Long> publishedSpaceIds;
|
||||
|
||||
private List<CustomPageMenu> customPageMenus;
|
||||
|
||||
public String getPageHomeIndex() {
|
||||
//设置默认页面首页
|
||||
if (getAgentComponentConfigList() != null) {
|
||||
@@ -269,10 +249,6 @@ public class AgentConfigDto implements Serializable {
|
||||
VariableConfigDto variableConfigDto = JSON.parseObject(componentConfig.getBindConfig().toString(), VariableConfigDto.class);
|
||||
componentConfig.setBindConfig(variableConfigDto);
|
||||
}
|
||||
case Hook -> {
|
||||
HookConfigDto hookConfigDto = JSON.parseObject(componentConfig.getBindConfig().toString(), HookConfigDto.class);
|
||||
componentConfig.setBindConfig(hookConfigDto);
|
||||
}
|
||||
case Mcp -> {
|
||||
McpBindConfigDto mcpBindConfigDto = JSON.parseObject(componentConfig.getBindConfig().toString(), McpBindConfigDto.class);
|
||||
componentConfig.setBindConfig(mcpBindConfigDto);
|
||||
@@ -332,11 +308,6 @@ public class AgentConfigDto implements Serializable {
|
||||
componentConfig.setBindConfig(new VariableConfigDto());
|
||||
}
|
||||
}
|
||||
case Hook -> {
|
||||
if (!(componentConfig.getBindConfig() instanceof HookConfigDto)) {
|
||||
componentConfig.setBindConfig(new HookConfigDto());
|
||||
}
|
||||
}
|
||||
case Mcp -> {
|
||||
if (!(componentConfig.getBindConfig() instanceof McpBindConfigDto)) {
|
||||
componentConfig.setBindConfig(new McpBindConfigDto());
|
||||
@@ -379,12 +350,4 @@ public class AgentConfigDto implements Serializable {
|
||||
@Schema(description = "是否选中")
|
||||
private boolean selected;
|
||||
}
|
||||
|
||||
public enum AgentType {
|
||||
ChatBot, PageApp, TaskAgent
|
||||
}
|
||||
|
||||
public enum AgentSubType {
|
||||
ChatBot, PageApp, General, Custom, Flow, Group
|
||||
}
|
||||
}
|
||||
|
||||
@@ -70,9 +70,6 @@ public class Arg implements Serializable {
|
||||
|
||||
private Long loopId;
|
||||
|
||||
@Schema(description = "参数更新策略")
|
||||
private UpdateStrategy updateStrategy;
|
||||
|
||||
public void setSubArgs(List<Arg> subArgs) {
|
||||
if (this.subArgs != null) {
|
||||
return;
|
||||
@@ -124,14 +121,7 @@ public class Arg implements Serializable {
|
||||
Number,
|
||||
//自动识别
|
||||
AutoRecognition,
|
||||
File,
|
||||
Radio,
|
||||
FixedValue,
|
||||
}
|
||||
|
||||
public enum UpdateStrategy {
|
||||
REPLACE, // Overwrite the existing value entirely
|
||||
APPEND // Append to the existing value (string concatenation, list append, or numeric addition)
|
||||
}
|
||||
|
||||
public static List<Arg> updateBindConfigArgs(String startKey, List<Arg> bindConfigArgs, List<Arg> configInputArgs) {
|
||||
|
||||
@@ -1,30 +0,0 @@
|
||||
package com.xspaceagi.agent.core.adapter.dto.config;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
public class HookConfigDto implements Serializable {
|
||||
|
||||
@Schema(description = "Hook列表")
|
||||
private List<Hook> hooks;
|
||||
|
||||
@Data
|
||||
public static class Hook {
|
||||
@Schema(description = "Hook名称")
|
||||
private String name;
|
||||
@Schema(description = "Hook事件")
|
||||
private String event;
|
||||
@Schema(description = "Hook匹配规则")
|
||||
private String matcher;
|
||||
@Schema(description = "Hook类型")
|
||||
private String type;
|
||||
@Schema(description = "Hook配置")
|
||||
private String config;
|
||||
@Schema(description = "Hook状态,1 启用;0 停用")
|
||||
private Integer status;
|
||||
}
|
||||
}
|
||||
@@ -34,9 +34,6 @@ public class McpBindConfigDto implements Serializable {
|
||||
@Schema(description = "是否默认选中,0-否,1-是")
|
||||
private Integer defaultSelected;
|
||||
|
||||
@Schema(description = "是否需要审批,0-否,1-是")
|
||||
private Integer callApproval;
|
||||
|
||||
public enum McpInvokeTypeEnum {
|
||||
//自动调用、按需调用、手动选择、手动选择和按需调用
|
||||
AUTO, ON_DEMAND, MANUAL, MANUAL_ON_DEMAND
|
||||
|
||||
@@ -31,9 +31,6 @@ public class PluginBindConfigDto implements Serializable {
|
||||
@Schema(description = "是否默认选中,0-否,1-是")
|
||||
private Integer defaultSelected;
|
||||
|
||||
@Schema(description = "是否需要审批,0-否,1-是")
|
||||
private Integer callApproval;
|
||||
|
||||
public enum PluginInvokeTypeEnum {
|
||||
//自动调用、按需调用、手动选择、手动选择和按需调用
|
||||
AUTO, ON_DEMAND, MANUAL, MANUAL_ON_DEMAND
|
||||
|
||||
@@ -37,9 +37,6 @@ public class WorkflowBindConfigDto implements Serializable {
|
||||
// 相同requestId时是否使用缓存的结果,问答场景
|
||||
private boolean useResultCache;
|
||||
|
||||
@Schema(description = "是否需要审批,0-否,1-是")
|
||||
private Integer callApproval;
|
||||
|
||||
public enum WorkflowInvokeTypeEnum {
|
||||
//自动调用、按需调用
|
||||
AUTO, ON_DEMAND, MANUAL, MANUAL_ON_DEMAND
|
||||
|
||||
@@ -72,11 +72,6 @@ public class PluginDto implements Serializable {
|
||||
@Schema(description = "已发布的空间ID", hidden = true)
|
||||
private List<Long> publishedSpaceIds;
|
||||
|
||||
@Schema(description = "开发时使用的会话ID")
|
||||
private Long devAgentConversationId;
|
||||
|
||||
private String toolId;
|
||||
|
||||
public static PluginDto convertToPluginDto(String config) {
|
||||
if (config == null) {
|
||||
return null;
|
||||
|
||||
@@ -1,33 +0,0 @@
|
||||
package com.xspaceagi.agent.core.adapter.dto.config.workflow;
|
||||
|
||||
import com.xspaceagi.agent.core.adapter.dto.config.AgentConfigDto;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class AgentNodeConfigDto extends NodeConfigDto {
|
||||
|
||||
@Schema(description = "智能体ID")
|
||||
private Long agentId;
|
||||
|
||||
@Schema(description = "节点名称")
|
||||
private String name;
|
||||
|
||||
@Schema(description = "节点描述")
|
||||
private String description;
|
||||
|
||||
@Schema(description = "节点图标")
|
||||
private String icon;
|
||||
|
||||
@Schema(description = "补充提示词")
|
||||
private String extraPrompt;
|
||||
|
||||
@Schema(description = "自身循环次数")
|
||||
private int selfLoopTimes;
|
||||
|
||||
@Schema(description = "循环提醒提示词")
|
||||
private String reminderPrompt;
|
||||
|
||||
@Schema(description = "智能体配置信息,执行阶段使用")
|
||||
private AgentConfigDto agentConfigDto;
|
||||
}
|
||||
@@ -35,9 +35,6 @@ public class IntentRecognitionNodeConfigDto extends NodeConfigDto {
|
||||
@Schema(description = "token上限")
|
||||
private Integer maxTokens; // token上限
|
||||
|
||||
@Schema(description = "系统提示词")
|
||||
private String systemPrompt;
|
||||
|
||||
@Schema(description = "补充提示词")
|
||||
private String extraPrompt;
|
||||
|
||||
@@ -58,22 +55,12 @@ public class IntentRecognitionNodeConfigDto extends NodeConfigDto {
|
||||
@Schema(description = "唯一标识")
|
||||
private String uuid;
|
||||
|
||||
@Schema(description = "意图名称")
|
||||
private String name;
|
||||
|
||||
@Schema(description = "意图描述,兜底匹配")
|
||||
@Schema(description = "意图描述")
|
||||
private String intent;
|
||||
|
||||
@Schema(description = "意图类型,NORMAL正常添加配置,OTHER其他意图")
|
||||
private IntentTypeEnum intentType;
|
||||
|
||||
//条件参数关系
|
||||
@Schema(description = "条件参数之间关系")
|
||||
private ConditionNodeConfigDto.ConditionTypeEnum conditionType;
|
||||
|
||||
//参数列表配置
|
||||
@Schema(description = "参数列表配置")
|
||||
private List<ConditionNodeConfigDto.ConditionArgDto> conditionArgs;
|
||||
|
||||
@Schema(description = "关联下级节点id列表")
|
||||
private List<Long> nextNodeIds;
|
||||
|
||||
@@ -1,95 +0,0 @@
|
||||
package com.xspaceagi.agent.core.adapter.dto.config.workflow;
|
||||
|
||||
import com.xspaceagi.agent.core.adapter.dto.config.Arg;
|
||||
import com.xspaceagi.agent.core.adapter.dto.config.InputArg;
|
||||
import com.xspaceagi.agent.core.adapter.dto.config.OutputArg;
|
||||
import com.xspaceagi.agent.core.spec.enums.DataTypeEnum;
|
||||
import com.xspaceagi.system.spec.utils.I18nUtil;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.UUID;
|
||||
|
||||
@Data
|
||||
public class KnowledgeInsertNodeConfigDto extends NodeConfigDto {
|
||||
|
||||
@Schema(description = "知识库ID配置", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
private Long knowledgeBaseId;
|
||||
|
||||
@Schema(description = "节点名称")
|
||||
private String name;
|
||||
|
||||
@Schema(description = "节点描述")
|
||||
private String description;
|
||||
|
||||
@Schema(description = "节点图标")
|
||||
private String icon;
|
||||
|
||||
/**
|
||||
* 公共节点配置转条件节点配置
|
||||
*
|
||||
* @return 条件节点配置
|
||||
*/
|
||||
public static KnowledgeInsertNodeConfigDto addFrom(Long knowledgeBaseId) {
|
||||
KnowledgeInsertNodeConfigDto knowledgeInsertNodeConfigDto = new KnowledgeInsertNodeConfigDto();
|
||||
knowledgeInsertNodeConfigDto.setKnowledgeBaseId(knowledgeBaseId);
|
||||
//设置默认输入参数和输出参数
|
||||
List<Arg> args = new ArrayList<>();
|
||||
InputArg arg = new InputArg();
|
||||
arg.setKey(UUID.randomUUID().toString().replace("-", ""));
|
||||
arg.setName("title");
|
||||
arg.setDescription(I18nUtil.systemMessage("Backend.WorkflowKbArgs.title.description"));
|
||||
arg.setDataType(DataTypeEnum.String);
|
||||
args.add(arg);
|
||||
arg = new InputArg();
|
||||
arg.setKey(UUID.randomUUID().toString().replace("-", ""));
|
||||
arg.setName("content");
|
||||
arg.setDescription(I18nUtil.systemMessage("Backend.WorkflowKbArgs.content.description"));
|
||||
arg.setDataType(DataTypeEnum.String);
|
||||
args.add(arg);
|
||||
arg = new InputArg();
|
||||
arg.setKey(UUID.randomUUID().toString().replace("-", ""));
|
||||
arg.setName("docUrl");
|
||||
arg.setDescription(I18nUtil.systemMessage("Backend.WorkflowKbArgs.docUrl.description"));
|
||||
arg.setDataType(DataTypeEnum.String);
|
||||
args.add(arg);
|
||||
//segment
|
||||
arg = new InputArg();
|
||||
arg.setKey(UUID.randomUUID().toString().replace("-", ""));
|
||||
arg.setName("segment");
|
||||
arg.setDescription(I18nUtil.systemMessage("Backend.WorkflowKbArgs.segment.description"));
|
||||
arg.setDataType(DataTypeEnum.String);
|
||||
arg.setBindValue("WORDS");
|
||||
args.add(arg);
|
||||
arg = new InputArg();
|
||||
arg.setKey(UUID.randomUUID().toString().replace("-", ""));
|
||||
arg.setName("words");
|
||||
arg.setDescription(I18nUtil.systemMessage("Backend.WorkflowKbArgs.words.description"));
|
||||
arg.setDataType(DataTypeEnum.Integer);
|
||||
arg.setBindValue("800");
|
||||
args.add(arg);
|
||||
|
||||
knowledgeInsertNodeConfigDto.setInputArgs(args);
|
||||
|
||||
List<Arg> outputArgs = new ArrayList<>();
|
||||
Arg outArg = new OutputArg();
|
||||
outArg.setName("success");
|
||||
outArg.setDataType(DataTypeEnum.Boolean);
|
||||
outArg.setDescription(I18nUtil.systemMessage("Backend.WorkflowKbArgs.success.description"));
|
||||
outputArgs.add(outArg);
|
||||
outArg = new OutputArg();
|
||||
outArg.setName("message");
|
||||
outArg.setDataType(DataTypeEnum.String);
|
||||
outArg.setDescription(I18nUtil.systemMessage("Backend.WorkflowKbArgs.message.description"));
|
||||
outputArgs.add(outArg);
|
||||
outArg = new OutputArg();
|
||||
outArg.setName("docId");
|
||||
outArg.setDataType(DataTypeEnum.Number);
|
||||
outArg.setDescription(I18nUtil.systemMessage("Backend.WorkflowKbArgs.docId.description"));
|
||||
outputArgs.add(outArg);
|
||||
knowledgeInsertNodeConfigDto.setOutputArgs(outputArgs);
|
||||
return knowledgeInsertNodeConfigDto;
|
||||
}
|
||||
}
|
||||
@@ -11,8 +11,6 @@ import java.util.Map;
|
||||
@Data
|
||||
public class NodeConfigDto implements Serializable {
|
||||
|
||||
private ContextPassingType contextPassingType;
|
||||
|
||||
@Schema(description = "扩展字段,用于前端存储画布位置等相关配置")
|
||||
private Map<String, Object> extension;
|
||||
|
||||
@@ -24,9 +22,4 @@ public class NodeConfigDto implements Serializable {
|
||||
|
||||
@Schema(description = "异常处理配置")
|
||||
private ExceptionHandleConfigDto exceptionHandleConfig;
|
||||
|
||||
public enum ContextPassingType {
|
||||
Auto,
|
||||
Manual
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
package com.xspaceagi.agent.core.adapter.dto.config.workflow;
|
||||
|
||||
import com.xspaceagi.agent.core.adapter.dto.config.Arg;
|
||||
import com.xspaceagi.agent.core.adapter.dto.config.ModelConfigDto;
|
||||
import com.xspaceagi.agent.core.adapter.dto.config.bind.ModelBindConfigDto;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
@@ -36,9 +35,6 @@ public class QaNodeConfigDto extends NodeConfigDto {
|
||||
@NotNull(message = "Answer type is required")
|
||||
private AnswerTypeEnum answerType;
|
||||
|
||||
@Schema(description = "表单参数")
|
||||
private List<Arg> formArgs;
|
||||
|
||||
//从回复中提取字段
|
||||
@Schema(description = "从回复中提取字段")
|
||||
private Boolean extractField;
|
||||
@@ -57,8 +53,7 @@ public class QaNodeConfigDto extends NodeConfigDto {
|
||||
public enum AnswerTypeEnum {
|
||||
//直接回答、选项回答
|
||||
TEXT,
|
||||
SELECT,
|
||||
FORM
|
||||
SELECT
|
||||
}
|
||||
|
||||
@Data
|
||||
|
||||
@@ -44,12 +44,6 @@ public class WorkflowConfigDto {
|
||||
@Schema(description = "图标地址")
|
||||
private String icon;
|
||||
|
||||
@Schema(description = "工作流类型: Workflow、AgentFlow")
|
||||
private String type;
|
||||
|
||||
@Schema(description = "AgentFlow时所属AgentID")
|
||||
private Long agentId;
|
||||
|
||||
@Schema(description = "开始节点", hidden = true)
|
||||
private WorkflowNodeDto startNode;
|
||||
|
||||
@@ -126,12 +120,6 @@ public class WorkflowConfigDto {
|
||||
case Knowledge:
|
||||
nodeConfigDto = JSON.parseObject(config, KnowledgeNodeConfigDto.class);
|
||||
break;
|
||||
case KnowledgeInsert:
|
||||
nodeConfigDto = JSON.parseObject(config, KnowledgeInsertNodeConfigDto.class);
|
||||
break;
|
||||
case Agent:
|
||||
nodeConfigDto = JSON.parseObject(config, AgentNodeConfigDto.class);
|
||||
break;
|
||||
case Loop:
|
||||
nodeConfigDto = JSON.parseObject(config, LoopNodeConfigDto.class);
|
||||
break;
|
||||
@@ -228,9 +216,4 @@ public class WorkflowConfigDto {
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
public enum Type {
|
||||
Workflow,
|
||||
AgentFlow
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,33 @@
|
||||
package com.xspaceagi.agent.core.adapter.dto.digital;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
@Data
|
||||
@Builder
|
||||
public class DigitalEmployeeAdminActionDto {
|
||||
private Long id;
|
||||
@JsonProperty("client_key_masked")
|
||||
private String clientKeyMasked;
|
||||
@JsonProperty("device_id")
|
||||
private String deviceId;
|
||||
@JsonProperty("entity_type")
|
||||
private String entityType;
|
||||
@JsonProperty("entity_id")
|
||||
private String entityId;
|
||||
private String action;
|
||||
private String status;
|
||||
@JsonProperty("reason_codes")
|
||||
private List<String> reasonCodes;
|
||||
@JsonProperty("request_payload")
|
||||
private Map<String, Object> requestPayload;
|
||||
@JsonProperty("created_at")
|
||||
private Date createdAt;
|
||||
@JsonProperty("processed_at")
|
||||
private Date processedAt;
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
package com.xspaceagi.agent.core.adapter.dto.digital;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
@Builder
|
||||
public class DigitalEmployeeAdminActionPageDto {
|
||||
private Long total;
|
||||
@JsonProperty("page_no")
|
||||
private Long pageNo;
|
||||
@JsonProperty("page_size")
|
||||
private Long pageSize;
|
||||
private List<DigitalEmployeeAdminActionDto> records;
|
||||
}
|
||||
@@ -0,0 +1,23 @@
|
||||
package com.xspaceagi.agent.core.adapter.dto.digital;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
@Data
|
||||
public class DigitalEmployeeAdminActionRequestDto {
|
||||
@JsonProperty("sync_record_id")
|
||||
private Long syncRecordId;
|
||||
@JsonProperty("client_key")
|
||||
private String clientKey;
|
||||
@JsonProperty("device_id")
|
||||
private String deviceId;
|
||||
@JsonProperty("entity_type")
|
||||
private String entityType;
|
||||
@JsonProperty("entity_id")
|
||||
private String entityId;
|
||||
private String action;
|
||||
@JsonProperty("request_payload")
|
||||
private Map<String, Object> requestPayload;
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
package com.xspaceagi.agent.core.adapter.dto.digital;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
@Builder
|
||||
public class DigitalEmployeeAdminActionResultDto {
|
||||
private Boolean ok;
|
||||
private String status;
|
||||
@JsonProperty("reason_codes")
|
||||
private List<String> reasonCodes;
|
||||
private DigitalEmployeeAdminActionDto action;
|
||||
}
|
||||
@@ -0,0 +1,33 @@
|
||||
package com.xspaceagi.agent.core.adapter.dto.digital;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonAlias;
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
@Data
|
||||
public class DigitalEmployeeAdminRecordRequestDto {
|
||||
@JsonAlias("sync_record_id")
|
||||
private Long syncRecordId;
|
||||
@JsonAlias("client_key")
|
||||
private String clientKey;
|
||||
@JsonAlias("device_id")
|
||||
private String deviceId;
|
||||
@JsonAlias("entity_type")
|
||||
private String entityType;
|
||||
@JsonAlias("entity_id")
|
||||
private String entityId;
|
||||
private String status;
|
||||
private String endpoint;
|
||||
@JsonAlias("remote_id")
|
||||
private String remoteId;
|
||||
@JsonAlias("archive_location")
|
||||
private String archiveLocation;
|
||||
@JsonAlias("archive_summary")
|
||||
private Map<String, Object> archiveSummary;
|
||||
private String reason;
|
||||
@JsonProperty("request_payload")
|
||||
@JsonAlias("requestPayload")
|
||||
private Map<String, Object> requestPayload;
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
package com.xspaceagi.agent.core.adapter.dto.digital;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
@Builder
|
||||
public class DigitalEmployeeAdminRecordResultDto {
|
||||
private Boolean ok;
|
||||
private String status;
|
||||
@JsonProperty("reason_codes")
|
||||
private List<String> reasonCodes;
|
||||
private DigitalEmployeeAdminActionDto record;
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
package com.xspaceagi.agent.core.adapter.dto.digital;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
@Builder
|
||||
public class DigitalEmployeeAdminWorkbenchPageDto {
|
||||
private Long total;
|
||||
@JsonProperty("page_no")
|
||||
private Long pageNo;
|
||||
@JsonProperty("page_size")
|
||||
private Long pageSize;
|
||||
private List<DigitalEmployeeAdminWorkbenchRowDto> records;
|
||||
}
|
||||
@@ -0,0 +1,364 @@
|
||||
package com.xspaceagi.agent.core.adapter.dto.digital;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
@Data
|
||||
@Builder
|
||||
public class DigitalEmployeeAdminWorkbenchRowDto {
|
||||
private String view;
|
||||
@JsonProperty("sync_record_id")
|
||||
private Long syncRecordId;
|
||||
@JsonProperty("sync_record_url")
|
||||
private String syncRecordUrl;
|
||||
@JsonProperty("entity_type")
|
||||
private String entityType;
|
||||
@JsonProperty("entity_id")
|
||||
private String entityId;
|
||||
private String operation;
|
||||
private String title;
|
||||
private String status;
|
||||
private String kind;
|
||||
private String category;
|
||||
private String level;
|
||||
private String priority;
|
||||
private String summary;
|
||||
@JsonProperty("plan_id")
|
||||
private String planId;
|
||||
@JsonProperty("task_id")
|
||||
private String taskId;
|
||||
@JsonProperty("run_id")
|
||||
private String runId;
|
||||
@JsonProperty("step_id")
|
||||
private String stepId;
|
||||
@JsonProperty("dependency_status")
|
||||
private String dependencyStatus;
|
||||
@JsonProperty("lease_state")
|
||||
private String leaseState;
|
||||
@JsonProperty("lease_source")
|
||||
private String leaseSource;
|
||||
@JsonProperty("dispatch_status")
|
||||
private String dispatchStatus;
|
||||
@JsonProperty("dispatch_policy_key")
|
||||
private String dispatchPolicyKey;
|
||||
@JsonProperty("orchestration_id")
|
||||
private String orchestrationId;
|
||||
@JsonProperty("trigger_source")
|
||||
private String triggerSource;
|
||||
@JsonProperty("approval_id")
|
||||
private String approvalId;
|
||||
@JsonProperty("approval_policy_id")
|
||||
private String approvalPolicyId;
|
||||
@JsonProperty("conflict_policy_id")
|
||||
private String conflictPolicyId;
|
||||
@JsonProperty("decision_guard_status")
|
||||
private String decisionGuardStatus;
|
||||
@JsonProperty("batch_accept_remote_disabled")
|
||||
private Boolean batchAcceptRemoteDisabled;
|
||||
@JsonProperty("auto_decision_disabled")
|
||||
private Boolean autoDecisionDisabled;
|
||||
@JsonProperty("policy_reason")
|
||||
private String policyReason;
|
||||
@JsonProperty("governance_policy_id")
|
||||
private String governancePolicyId;
|
||||
@JsonProperty("policy_guard_status")
|
||||
private String policyGuardStatus;
|
||||
@JsonProperty("hard_interrupt_disabled")
|
||||
private Boolean hardInterruptDisabled;
|
||||
@JsonProperty("artifact_id")
|
||||
private String artifactId;
|
||||
@JsonProperty("artifact_graph_id")
|
||||
private String artifactGraphId;
|
||||
@JsonProperty("artifact_group_id")
|
||||
private String artifactGroupId;
|
||||
@JsonProperty("group_key")
|
||||
private String groupKey;
|
||||
@JsonProperty("related_artifact_ids")
|
||||
private List<String> relatedArtifactIds;
|
||||
@JsonProperty("artifact_count")
|
||||
private Long artifactCount;
|
||||
@JsonProperty("device_count")
|
||||
private Long deviceCount;
|
||||
@JsonProperty("version_count")
|
||||
private Long versionCount;
|
||||
@JsonProperty("latest_artifact_id")
|
||||
private String latestArtifactId;
|
||||
@JsonProperty("version_key")
|
||||
private String versionKey;
|
||||
@JsonProperty("cleanup_request_id")
|
||||
private String cleanupRequestId;
|
||||
@JsonProperty("cleanup_eligible_count")
|
||||
private Long cleanupEligibleCount;
|
||||
@JsonProperty("batch_cleanup_disabled")
|
||||
private Boolean batchCleanupDisabled;
|
||||
@JsonProperty("retention_conflict_status")
|
||||
private String retentionConflictStatus;
|
||||
@JsonProperty("cleanup_conflict_status")
|
||||
private String cleanupConflictStatus;
|
||||
@JsonProperty("remote_delete_disabled")
|
||||
private Boolean remoteDeleteDisabled;
|
||||
@JsonProperty("notification_id")
|
||||
private String notificationId;
|
||||
@JsonProperty("collaboration_thread_id")
|
||||
private String collaborationThreadId;
|
||||
@JsonProperty("subscription_policy_id")
|
||||
private String subscriptionPolicyId;
|
||||
@JsonProperty("subscription_conflict_status")
|
||||
private String subscriptionConflictStatus;
|
||||
@JsonProperty("notification_policy_id")
|
||||
private String notificationPolicyId;
|
||||
@JsonProperty("subscription_status")
|
||||
private String subscriptionStatus;
|
||||
@JsonProperty("desktop_enabled")
|
||||
private Boolean desktopEnabled;
|
||||
@JsonProperty("minimum_level")
|
||||
private String minimumLevel;
|
||||
private String channel;
|
||||
@JsonProperty("delivery_status")
|
||||
private String deliveryStatus;
|
||||
@JsonProperty("delivery_attempt_id")
|
||||
private String deliveryAttemptId;
|
||||
@JsonProperty("send_request_id")
|
||||
private String sendRequestId;
|
||||
@JsonProperty("real_push_disabled")
|
||||
private Boolean realPushDisabled;
|
||||
@JsonProperty("conflict_status")
|
||||
private String conflictStatus;
|
||||
@JsonProperty("report_id")
|
||||
private String reportId;
|
||||
@JsonProperty("daily_report_fact_id")
|
||||
private String dailyReportFactId;
|
||||
@JsonProperty("daily_report_table")
|
||||
private String dailyReportTable;
|
||||
@JsonProperty("daily_report_materialized")
|
||||
private Boolean dailyReportMaterialized;
|
||||
@JsonProperty("daily_report_physical_fact_status")
|
||||
private String dailyReportPhysicalFactStatus;
|
||||
@JsonProperty("send_record_id")
|
||||
private String sendRecordId;
|
||||
@JsonProperty("send_channel")
|
||||
private String sendChannel;
|
||||
@JsonProperty("send_request_status")
|
||||
private String sendRequestStatus;
|
||||
@JsonProperty("send_record_status")
|
||||
private String sendRecordStatus;
|
||||
@JsonProperty("formal_daily_report_page_disabled")
|
||||
private Boolean formalDailyReportPageDisabled;
|
||||
@JsonProperty("external_send_disabled")
|
||||
private Boolean externalSendDisabled;
|
||||
@JsonProperty("third_party_channel_disabled")
|
||||
private Boolean thirdPartyChannelDisabled;
|
||||
@JsonProperty("approval_decision_status")
|
||||
private String approvalDecisionStatus;
|
||||
@JsonProperty("advanced_query_supported")
|
||||
private Boolean advancedQuerySupported;
|
||||
@JsonProperty("aggregation_scope")
|
||||
private String aggregationScope;
|
||||
@JsonProperty("materialized_source")
|
||||
private String materializedSource;
|
||||
@JsonProperty("daily_report_approval_id")
|
||||
private String dailyReportApprovalId;
|
||||
@JsonProperty("daily_report_approval_action")
|
||||
private String dailyReportApprovalAction;
|
||||
@JsonProperty("daily_report_approval_actor")
|
||||
private String dailyReportApprovalActor;
|
||||
@JsonProperty("daily_report_approval_reason")
|
||||
private String dailyReportApprovalReason;
|
||||
@JsonProperty("daily_report_approval_recorded_at")
|
||||
private String dailyReportApprovalRecordedAt;
|
||||
@JsonProperty("route_decision_id")
|
||||
private String routeDecisionId;
|
||||
@JsonProperty("service_id")
|
||||
private String serviceId;
|
||||
@JsonProperty("service_lease_id")
|
||||
private String serviceLeaseId;
|
||||
@JsonProperty("lease_holder")
|
||||
private String leaseHolder;
|
||||
@JsonProperty("lease_expires_at")
|
||||
private String leaseExpiresAt;
|
||||
@JsonProperty("restart_record_id")
|
||||
private String restartRecordId;
|
||||
@JsonProperty("restart_count")
|
||||
private Long restartCount;
|
||||
@JsonProperty("last_restart_at")
|
||||
private String lastRestartAt;
|
||||
@JsonProperty("recovery_policy_id")
|
||||
private String recoveryPolicyId;
|
||||
@JsonProperty("auto_recovery_status")
|
||||
private String autoRecoveryStatus;
|
||||
@JsonProperty("service_start_disabled")
|
||||
private Boolean serviceStartDisabled;
|
||||
@JsonProperty("service_stop_disabled")
|
||||
private Boolean serviceStopDisabled;
|
||||
@JsonProperty("lease_takeover_disabled")
|
||||
private Boolean leaseTakeoverDisabled;
|
||||
@JsonProperty("auto_recovery_disabled")
|
||||
private Boolean autoRecoveryDisabled;
|
||||
@JsonProperty("recovery_action_request_id")
|
||||
private String recoveryActionRequestId;
|
||||
@JsonProperty("start_request_id")
|
||||
private String startRequestId;
|
||||
@JsonProperty("stop_request_id")
|
||||
private String stopRequestId;
|
||||
@JsonProperty("lease_takeover_request_id")
|
||||
private String leaseTakeoverRequestId;
|
||||
@JsonProperty("auto_recovery_request_id")
|
||||
private String autoRecoveryRequestId;
|
||||
@JsonProperty("start_service_disabled")
|
||||
private Boolean startServiceDisabled;
|
||||
@JsonProperty("stop_service_disabled")
|
||||
private Boolean stopServiceDisabled;
|
||||
@JsonProperty("memory_id")
|
||||
private String memoryId;
|
||||
@JsonProperty("memory_key")
|
||||
private String memoryKey;
|
||||
@JsonProperty("governance_status")
|
||||
private String governanceStatus;
|
||||
@JsonProperty("merge_candidate_count")
|
||||
private Long mergeCandidateCount;
|
||||
@JsonProperty("duplicate_memory_ids")
|
||||
private List<String> duplicateMemoryIds;
|
||||
@JsonProperty("latest_memory_id")
|
||||
private String latestMemoryId;
|
||||
@JsonProperty("last_governance_action")
|
||||
private String lastGovernanceAction;
|
||||
@JsonProperty("last_reviewed_at")
|
||||
private String lastReviewedAt;
|
||||
@JsonProperty("memory_policy_id")
|
||||
private String memoryPolicyId;
|
||||
@JsonProperty("memory_policy_status")
|
||||
private String memoryPolicyStatus;
|
||||
@JsonProperty("merge_policy_id")
|
||||
private String mergePolicyId;
|
||||
@JsonProperty("merge_action_disabled")
|
||||
private Boolean mergeActionDisabled;
|
||||
@JsonProperty("remote_memory_policy_disabled")
|
||||
private Boolean remoteMemoryPolicyDisabled;
|
||||
@JsonProperty("skill_id")
|
||||
private String skillId;
|
||||
@JsonProperty("skill_version")
|
||||
private String skillVersion;
|
||||
@JsonProperty("install_status")
|
||||
private String installStatus;
|
||||
@JsonProperty("permission_scope")
|
||||
private String permissionScope;
|
||||
@JsonProperty("policy_source")
|
||||
private String policySource;
|
||||
@JsonProperty("policy_status")
|
||||
private String policyStatus;
|
||||
@JsonProperty("skill_install_request_id")
|
||||
private String skillInstallRequestId;
|
||||
@JsonProperty("skill_upgrade_request_id")
|
||||
private String skillUpgradeRequestId;
|
||||
@JsonProperty("permission_policy_id")
|
||||
private String permissionPolicyId;
|
||||
@JsonProperty("permission_edit_request_id")
|
||||
private String permissionEditRequestId;
|
||||
@JsonProperty("install_action_disabled")
|
||||
private Boolean installActionDisabled;
|
||||
@JsonProperty("upgrade_action_disabled")
|
||||
private Boolean upgradeActionDisabled;
|
||||
@JsonProperty("permission_edit_disabled")
|
||||
private Boolean permissionEditDisabled;
|
||||
@JsonProperty("tool_name")
|
||||
private String toolName;
|
||||
@JsonProperty("server_id")
|
||||
private String serverId;
|
||||
@JsonProperty("audit_archive_id")
|
||||
private String auditArchiveId;
|
||||
@JsonProperty("archive_status")
|
||||
private String archiveStatus;
|
||||
@JsonProperty("archive_location")
|
||||
private String archiveLocation;
|
||||
@JsonProperty("billing_estimate_id")
|
||||
private String billingEstimateId;
|
||||
@JsonProperty("billing_source")
|
||||
private String billingSource;
|
||||
private Boolean estimated;
|
||||
@JsonProperty("diagnostic_id")
|
||||
private String diagnosticId;
|
||||
@JsonProperty("diagnostic_kind")
|
||||
private String diagnosticKind;
|
||||
@JsonProperty("issue_code")
|
||||
private String issueCode;
|
||||
@JsonProperty("repair_action")
|
||||
private String repairAction;
|
||||
@JsonProperty("repair_status")
|
||||
private String repairStatus;
|
||||
@JsonProperty("repair_reason")
|
||||
private String repairReason;
|
||||
@JsonProperty("safe_repair_disabled")
|
||||
private Boolean safeRepairDisabled;
|
||||
@JsonProperty("billing_actual_disabled")
|
||||
private Boolean billingActualDisabled;
|
||||
@JsonProperty("sandbox_archive_file_disabled")
|
||||
private Boolean sandboxArchiveFileDisabled;
|
||||
@JsonProperty("auto_repair_execution_disabled")
|
||||
private Boolean autoRepairExecutionDisabled;
|
||||
@JsonProperty("repair_approval_required")
|
||||
private Boolean repairApprovalRequired;
|
||||
@JsonProperty("recommended_action")
|
||||
private String recommendedAction;
|
||||
@JsonProperty("policy_kind")
|
||||
private String policyKind;
|
||||
@JsonProperty("policy_key")
|
||||
private String policyKey;
|
||||
@JsonProperty("policy_edit_request_id")
|
||||
private String policyEditRequestId;
|
||||
@JsonProperty("policy_edit_status")
|
||||
private String policyEditStatus;
|
||||
@JsonProperty("policy_edit_reason")
|
||||
private String policyEditReason;
|
||||
@JsonProperty("merge_request_id")
|
||||
private String mergeRequestId;
|
||||
@JsonProperty("memory_merge_request_id")
|
||||
private String memoryMergeRequestId;
|
||||
@JsonProperty("remote_memory_policy_request_id")
|
||||
private String remoteMemoryPolicyRequestId;
|
||||
@JsonProperty("merge_recommendation")
|
||||
private String mergeRecommendation;
|
||||
@JsonProperty("remote_policy_edit_disabled")
|
||||
private Boolean remotePolicyEditDisabled;
|
||||
@JsonProperty("auto_merge_disabled")
|
||||
private Boolean autoMergeDisabled;
|
||||
@JsonProperty("approval_policy_edit_disabled")
|
||||
private Boolean approvalPolicyEditDisabled;
|
||||
@JsonProperty("route_policy_edit_disabled")
|
||||
private Boolean routePolicyEditDisabled;
|
||||
@JsonProperty("route_recovery_disabled")
|
||||
private Boolean routeRecoveryDisabled;
|
||||
@JsonProperty("high_risk_execution_disabled")
|
||||
private Boolean highRiskExecutionDisabled;
|
||||
@JsonProperty("schedule_id")
|
||||
private String scheduleId;
|
||||
@JsonProperty("job_id")
|
||||
private String jobId;
|
||||
@JsonProperty("revision_id")
|
||||
private String revisionId;
|
||||
@JsonProperty("revision_fact_id")
|
||||
private String revisionFactId;
|
||||
@JsonProperty("revision_status")
|
||||
private String revisionStatus;
|
||||
@JsonProperty("revision_materialized")
|
||||
private Boolean revisionMaterialized;
|
||||
@JsonProperty("base_revision_id")
|
||||
private String baseRevisionId;
|
||||
@JsonProperty("changed_fields")
|
||||
private List<String> changedFields;
|
||||
@JsonProperty("occurred_at")
|
||||
private String occurredAt;
|
||||
@JsonProperty("synced_at")
|
||||
private Date syncedAt;
|
||||
@JsonProperty("client_key_masked")
|
||||
private String clientKeyMasked;
|
||||
@JsonProperty("device_id")
|
||||
private String deviceId;
|
||||
@JsonProperty("business_view")
|
||||
private Map<String, Object> businessView;
|
||||
private Map<String, Object> payload;
|
||||
}
|
||||
@@ -0,0 +1,47 @@
|
||||
package com.xspaceagi.agent.core.adapter.dto.digital;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
@Data
|
||||
@Builder
|
||||
public class DigitalEmployeeBillingEstimateDto {
|
||||
@JsonProperty("total_tokens")
|
||||
private Long totalTokens;
|
||||
@JsonProperty("input_tokens")
|
||||
private Long inputTokens;
|
||||
@JsonProperty("output_tokens")
|
||||
private Long outputTokens;
|
||||
@JsonProperty("estimated_cost_usd")
|
||||
private BigDecimal estimatedCostUsd;
|
||||
@JsonProperty("request_count")
|
||||
private Long requestCount;
|
||||
private Boolean estimated;
|
||||
@JsonProperty("by_model")
|
||||
private Map<String, ModelEstimate> byModel;
|
||||
@JsonProperty("updated_at")
|
||||
private Date updatedAt;
|
||||
@JsonProperty("source_records")
|
||||
private List<Long> sourceRecords;
|
||||
|
||||
@Data
|
||||
@Builder
|
||||
public static class ModelEstimate {
|
||||
@JsonProperty("total_tokens")
|
||||
private Long totalTokens;
|
||||
@JsonProperty("input_tokens")
|
||||
private Long inputTokens;
|
||||
@JsonProperty("output_tokens")
|
||||
private Long outputTokens;
|
||||
@JsonProperty("estimated_cost_usd")
|
||||
private BigDecimal estimatedCostUsd;
|
||||
@JsonProperty("request_count")
|
||||
private Long requestCount;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
package com.xspaceagi.agent.core.adapter.dto.digital;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
@Builder
|
||||
public class DigitalEmployeeBusinessViewPageDto {
|
||||
private Long total;
|
||||
@JsonProperty("page_no")
|
||||
private Long pageNo;
|
||||
@JsonProperty("page_size")
|
||||
private Long pageSize;
|
||||
private List<DigitalEmployeeBusinessViewRowDto> records;
|
||||
}
|
||||
@@ -0,0 +1,68 @@
|
||||
package com.xspaceagi.agent.core.adapter.dto.digital;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.Map;
|
||||
|
||||
@Data
|
||||
@Builder
|
||||
public class DigitalEmployeeBusinessViewRowDto {
|
||||
@JsonProperty("sync_record_id")
|
||||
private Long syncRecordId;
|
||||
@JsonProperty("sync_record_url")
|
||||
private String syncRecordUrl;
|
||||
@JsonProperty("entity_type")
|
||||
private String entityType;
|
||||
@JsonProperty("entity_id")
|
||||
private String entityId;
|
||||
private String operation;
|
||||
private String title;
|
||||
private String status;
|
||||
private String summary;
|
||||
@JsonProperty("plan_id")
|
||||
private String planId;
|
||||
@JsonProperty("task_id")
|
||||
private String taskId;
|
||||
@JsonProperty("run_id")
|
||||
private String runId;
|
||||
private String kind;
|
||||
@JsonProperty("occurred_at")
|
||||
private String occurredAt;
|
||||
@JsonProperty("started_at")
|
||||
private String startedAt;
|
||||
@JsonProperty("finished_at")
|
||||
private String finishedAt;
|
||||
@JsonProperty("duration_ms")
|
||||
private Long durationMs;
|
||||
@JsonProperty("sync_status")
|
||||
private String syncStatus;
|
||||
@JsonProperty("client_key_masked")
|
||||
private String clientKeyMasked;
|
||||
@JsonProperty("device_id")
|
||||
private String deviceId;
|
||||
@JsonProperty("synced_at")
|
||||
private Date syncedAt;
|
||||
private Date modified;
|
||||
private Date created;
|
||||
@JsonProperty("business_view")
|
||||
private Map<String, Object> businessView;
|
||||
private Map<String, Object> payload;
|
||||
@JsonProperty("task_count")
|
||||
private Integer taskCount;
|
||||
@JsonProperty("run_count")
|
||||
private Integer runCount;
|
||||
@JsonProperty("latest_event_at")
|
||||
private String latestEventAt;
|
||||
@JsonProperty("last_event_message")
|
||||
private String lastEventMessage;
|
||||
@JsonProperty("advanced_query_supported")
|
||||
private Boolean advancedQuerySupported;
|
||||
@JsonProperty("aggregation_scope")
|
||||
private String aggregationScope;
|
||||
@JsonProperty("materialized_source")
|
||||
private String materializedSource;
|
||||
private Boolean materialized;
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
package com.xspaceagi.agent.core.adapter.dto.digital;
|
||||
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
@Builder
|
||||
public class DigitalEmployeePlanBusinessViewDetailDto {
|
||||
private DigitalEmployeeBusinessViewRowDto plan;
|
||||
private List<DigitalEmployeeBusinessViewRowDto> tasks;
|
||||
private List<DigitalEmployeeBusinessViewRowDto> runs;
|
||||
private List<DigitalEmployeeBusinessViewRowDto> events;
|
||||
private List<DigitalEmployeeBusinessViewRowDto> artifacts;
|
||||
private List<DigitalEmployeeBusinessViewRowDto> approvals;
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
package com.xspaceagi.agent.core.adapter.dto.digital;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
@Builder
|
||||
public class DigitalEmployeePolicySnapshotPageDto {
|
||||
private Long total;
|
||||
@JsonProperty("page_no")
|
||||
private Long pageNo;
|
||||
@JsonProperty("page_size")
|
||||
private Long pageSize;
|
||||
private List<DigitalEmployeePolicySnapshotRowDto> records;
|
||||
}
|
||||
@@ -0,0 +1,72 @@
|
||||
package com.xspaceagi.agent.core.adapter.dto.digital;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
@Data
|
||||
@Builder
|
||||
public class DigitalEmployeePolicySnapshotRowDto {
|
||||
@JsonProperty("policy_kind")
|
||||
private String policyKind;
|
||||
@JsonProperty("policy_key")
|
||||
private String policyKey;
|
||||
private String status;
|
||||
private String summary;
|
||||
@JsonProperty("client_count")
|
||||
private Integer clientCount;
|
||||
@JsonProperty("device_count")
|
||||
private Integer deviceCount;
|
||||
@JsonProperty("conflict_keys")
|
||||
private List<String> conflictKeys;
|
||||
@JsonProperty("latest_synced_at")
|
||||
private Date latestSyncedAt;
|
||||
@JsonProperty("recommended_resolution")
|
||||
private String recommendedResolution;
|
||||
@JsonProperty("route_decision_count")
|
||||
private Integer routeDecisionCount;
|
||||
@JsonProperty("blocked_count")
|
||||
private Integer blockedCount;
|
||||
@JsonProperty("approval_required_count")
|
||||
private Integer approvalRequiredCount;
|
||||
@JsonProperty("missing_context_count")
|
||||
private Integer missingContextCount;
|
||||
@JsonProperty("not_mapped_count")
|
||||
private Integer notMappedCount;
|
||||
@JsonProperty("intervention_conflict_status")
|
||||
private String interventionConflictStatus;
|
||||
@JsonProperty("approval_policy_id")
|
||||
private String approvalPolicyId;
|
||||
@JsonProperty("conflict_policy_id")
|
||||
private String conflictPolicyId;
|
||||
@JsonProperty("decision_guard_status")
|
||||
private String decisionGuardStatus;
|
||||
@JsonProperty("batch_accept_remote_disabled")
|
||||
private Boolean batchAcceptRemoteDisabled;
|
||||
@JsonProperty("auto_decision_disabled")
|
||||
private Boolean autoDecisionDisabled;
|
||||
@JsonProperty("policy_reason")
|
||||
private String policyReason;
|
||||
@JsonProperty("dispatch_policy_key")
|
||||
private String dispatchPolicyKey;
|
||||
@JsonProperty("max_per_sweep")
|
||||
private Long maxPerSweep;
|
||||
@JsonProperty("auto_dispatch_ready_steps")
|
||||
private Boolean autoDispatchReadySteps;
|
||||
@JsonProperty("catch_up_on_startup")
|
||||
private Boolean catchUpOnStartup;
|
||||
@JsonProperty("max_run_history")
|
||||
private Long maxRunHistory;
|
||||
@JsonProperty("sync_record_url")
|
||||
private String syncRecordUrl;
|
||||
@JsonProperty("client_key_masked")
|
||||
private String clientKeyMasked;
|
||||
@JsonProperty("device_id")
|
||||
private String deviceId;
|
||||
@JsonProperty("business_view")
|
||||
private Map<String, Object> businessView;
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
package com.xspaceagi.agent.core.adapter.dto.digital;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
@Builder
|
||||
public class DigitalEmployeeSyncAckDto {
|
||||
@JsonProperty("outbox_id")
|
||||
private String outboxId;
|
||||
@JsonProperty("entity_type")
|
||||
private String entityType;
|
||||
@JsonProperty("entity_id")
|
||||
private String entityId;
|
||||
@JsonProperty("remote_id")
|
||||
private String remoteId;
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
package com.xspaceagi.agent.core.adapter.dto.digital;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonAlias;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
@Data
|
||||
public class DigitalEmployeeSyncItemDto {
|
||||
@JsonAlias("outbox_id")
|
||||
private String outboxId;
|
||||
@JsonAlias("entity_type")
|
||||
private String entityType;
|
||||
@JsonAlias("entity_id")
|
||||
private String entityId;
|
||||
private String operation;
|
||||
@JsonAlias("contract_version")
|
||||
private String contractVersion;
|
||||
@JsonAlias("entity_summary")
|
||||
private Map<String, Object> entitySummary;
|
||||
@JsonAlias("business_view")
|
||||
private Map<String, Object> businessView;
|
||||
private Map<String, Object> payload;
|
||||
}
|
||||
@@ -0,0 +1,35 @@
|
||||
package com.xspaceagi.agent.core.adapter.dto.digital;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
@Data
|
||||
@Builder
|
||||
public class DigitalEmployeeSyncRecordDto {
|
||||
private Long id;
|
||||
@JsonProperty("client_key")
|
||||
private String clientKey;
|
||||
@JsonProperty("device_id")
|
||||
private String deviceId;
|
||||
@JsonProperty("outbox_id")
|
||||
private String outboxId;
|
||||
@JsonProperty("entity_type")
|
||||
private String entityType;
|
||||
@JsonProperty("entity_id")
|
||||
private String entityId;
|
||||
private String operation;
|
||||
@JsonProperty("contract_version")
|
||||
private String contractVersion;
|
||||
@JsonProperty("entity_summary")
|
||||
private String entitySummary;
|
||||
@JsonProperty("business_view")
|
||||
private String businessView;
|
||||
private String payload;
|
||||
@JsonProperty("synced_at")
|
||||
private Date syncedAt;
|
||||
private Date modified;
|
||||
private Date created;
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
package com.xspaceagi.agent.core.adapter.dto.digital;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
@Builder
|
||||
public class DigitalEmployeeSyncRecordPageDto {
|
||||
private Long total;
|
||||
@JsonProperty("page_no")
|
||||
private Long pageNo;
|
||||
@JsonProperty("page_size")
|
||||
private Long pageSize;
|
||||
private List<DigitalEmployeeSyncRecordDto> records;
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
package com.xspaceagi.agent.core.adapter.dto.digital;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonAlias;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
public class DigitalEmployeeSyncRequestDto {
|
||||
@JsonAlias("client_key")
|
||||
private String clientKey;
|
||||
@JsonAlias("device_id")
|
||||
private String deviceId;
|
||||
private List<DigitalEmployeeSyncItemDto> items;
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
package com.xspaceagi.agent.core.adapter.dto.digital;
|
||||
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
@Builder
|
||||
public class DigitalEmployeeSyncResponseDto {
|
||||
private List<DigitalEmployeeSyncAckDto> acked;
|
||||
}
|
||||
@@ -1,20 +0,0 @@
|
||||
package com.xspaceagi.agent.core.adapter.dto.recommend;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
@Data
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class RecommendHomeResponse {
|
||||
|
||||
private Map<String, List<TargetRecommendResponse>> recHome;
|
||||
|
||||
private Map<String, List<TargetRecommendResponse>> recChatBoxNav;
|
||||
}
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user