Skip to content

Commit 5580bbb

Browse files
committed
feat: ai api updates (prompt, completion)
1 parent 4ac43f5 commit 5580bbb

30 files changed

+818
-60
lines changed

src/main/java/com/crowdin/client/ai/AIApi.java

+251-25
Large diffs are not rendered by default.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
package com.crowdin.client.ai.model;
2+
3+
import lombok.Data;
4+
5+
import java.util.Date;
6+
import java.util.List;
7+
import java.util.Map;
8+
9+
@Data
10+
public class AiPrompt {
11+
private Long id;
12+
private String name;
13+
private String action;
14+
private Long aiProviderId;
15+
private String aiModelId;
16+
private Boolean isEnabled;
17+
private List<Long> enabledProjectIds;
18+
private Map<String, Object> config;
19+
private String promptPreview;
20+
private Boolean isFineTuningAvailable;
21+
private Date createdAt;
22+
private Date updatedAt;
23+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
package com.crowdin.client.ai.model;
2+
3+
import lombok.Data;
4+
5+
import java.util.List;
6+
import java.util.Map;
7+
8+
@Data
9+
public class AiPromptAddRequest {
10+
private String name;
11+
private String action;
12+
private Long aiProviderId;
13+
private String aiModelId;
14+
private Boolean isEnabled;
15+
private List<Long> enabledProjectIds;
16+
private Map<String, Object> config;
17+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
package com.crowdin.client.ai.model;
2+
3+
import lombok.Data;
4+
5+
@Data
6+
public class AiPromptCloneRequest {
7+
private String name;
8+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
package com.crowdin.client.ai.model;
2+
3+
import lombok.Data;
4+
5+
import java.util.List;
6+
import java.util.Map;
7+
8+
@Data
9+
public class AiPromptCompletionRequest {
10+
private AiPromptResource resources;
11+
private Map<String, Object> tools;
12+
private Map<String, Object> tool_choice;
13+
14+
@Data
15+
public static class AiPromptResource {
16+
private Long projectId;
17+
private String sourceLanguageId;
18+
private String targetLanguageId;
19+
private List<Long> stringIds;
20+
private List<Long> filteredStringsIds;
21+
private Map<String, Object> overridePromptValues;
22+
private String customInstruction;
23+
}
24+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
package com.crowdin.client.ai.model;
2+
3+
import lombok.Data;
4+
5+
import java.util.Date;
6+
import java.util.List;
7+
8+
@Data
9+
public class AiPromptCompletionResponse {
10+
private AiPromptCompletionData data;
11+
12+
@Data
13+
public static class AiPromptCompletionData {
14+
private String identifier;
15+
private String status;
16+
private Long progress;
17+
private CompletionAttributes attributes;
18+
private Date createdAt;
19+
private Date updatedAt;
20+
private Date startedAt;
21+
}
22+
23+
@Data
24+
public static class CompletionAttributes {
25+
private Long aiPromptId;
26+
}
27+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
package com.crowdin.client.ai.model;
2+
3+
import com.crowdin.client.core.model.Pagination;
4+
import com.crowdin.client.core.model.ResponseList;
5+
import com.crowdin.client.core.model.ResponseObject;
6+
import lombok.Data;
7+
8+
import java.util.List;
9+
import java.util.stream.Collectors;
10+
11+
@Data
12+
public class AiPromptResponseList {
13+
private List<AiPromptResponseObject> data;
14+
private Pagination pagination;
15+
16+
public static ResponseList<AiPrompt> to(AiPromptResponseList responseList) {
17+
return ResponseList.of(
18+
responseList.data.stream()
19+
.map(AiPromptResponseObject::getData)
20+
.map(ResponseObject::of)
21+
.collect(Collectors.toList()),
22+
responseList.pagination
23+
);
24+
}
25+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
package com.crowdin.client.ai.model;
2+
3+
import lombok.Data;
4+
5+
@Data
6+
public class AiPromptResponseObject {
7+
private AiPrompt data;
8+
}

src/main/java/com/crowdin/client/ai/model/AiProvider.java

+5-5
Original file line numberDiff line numberDiff line change
@@ -6,14 +6,14 @@
66

77
@Data
88
public class AiProvider {
9-
private Date createdAt;
10-
private Integer promptsCount;
11-
private Credentials credentials;
12-
private Boolean isEnabled;
9+
private Long id;
1310
private String name;
14-
private Integer id;
1511
private String type;
12+
private Credentials credentials;
1613
private Config config;
14+
private Boolean isEnabled;
1715
private Boolean useSystemCredentials;
16+
private Date createdAt;
1817
private Date updatedAt;
18+
private Integer promptsCount;
1919
}

src/main/java/com/crowdin/client/ai/model/AiSetting.java

+3-2
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,9 @@
77
@Data
88
public class AiSetting {
99

10-
private Integer assistActionAiPromptId;
11-
private Integer editorSuggestionAiPromptId;
10+
private Long assistActionAiPromptId;
11+
private Boolean showSuggestion;
12+
private Long editorSuggestionAiPromptId;
1213

1314
@Data
1415
private static class ShortCut {
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
package com.crowdin.client.ai.model;
2+
3+
import lombok.Data;
4+
5+
import java.util.Map;
6+
7+
@Data
8+
public class ChatCompletionResponseObject {
9+
private Map<String, Object> data;
10+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
package com.crowdin.client.ai.model;
2+
3+
import lombok.Data;
4+
5+
import java.util.Date;
6+
7+
@Data
8+
public class CustomPlaceholder {
9+
private Long id;
10+
private String description;
11+
private String placeholder;
12+
private String value;
13+
private Date createdAt;
14+
private Date updatedAt;
15+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
package com.crowdin.client.ai.model;
2+
3+
import lombok.Data;
4+
5+
import java.util.Date;
6+
import java.util.List;
7+
8+
@Data
9+
public class CustomPlaceholderRequest {
10+
private String description;
11+
private String placeholder;
12+
private String value;
13+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
package com.crowdin.client.ai.model;
2+
3+
import com.crowdin.client.core.model.Pagination;
4+
import com.crowdin.client.core.model.ResponseList;
5+
import com.crowdin.client.core.model.ResponseObject;
6+
import lombok.Data;
7+
8+
import java.util.List;
9+
import java.util.stream.Collectors;
10+
11+
@Data
12+
public class CustomPlaceholderResponseList {
13+
private List<CustomPlaceholderResponseObject> data;
14+
private Pagination pagination;
15+
16+
public static ResponseList<CustomPlaceholder> to(CustomPlaceholderResponseList responseList) {
17+
return ResponseList.of(
18+
responseList.data.stream()
19+
.map(CustomPlaceholderResponseObject::getData)
20+
.map(ResponseObject::of)
21+
.collect(Collectors.toList()),
22+
responseList.pagination
23+
);
24+
}
25+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
package com.crowdin.client.ai.model;
2+
3+
import lombok.Data;
4+
5+
@Data
6+
public class CustomPlaceholderResponseObject {
7+
private CustomPlaceholder data;
8+
}

0 commit comments

Comments
 (0)