forked from github/copilot-sdk-java
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathModelInfo.java
More file actions
152 lines (127 loc) · 3.74 KB
/
ModelInfo.java
File metadata and controls
152 lines (127 loc) · 3.74 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
*--------------------------------------------------------------------------------------------*/
package com.github.copilot.sdk.json;
import java.util.List;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonProperty;
/**
* Information about an available model.
*
* @since 1.0.1
*/
@JsonIgnoreProperties(ignoreUnknown = true)
public class ModelInfo {
/**
* Model identifier (e.g., "claude-sonnet-4.5").
*/
@JsonProperty("id")
private String id;
/**
* Display name.
*/
@JsonProperty("name")
private String name;
/**
* Model capabilities and limits.
*/
@JsonProperty("capabilities")
private ModelCapabilities capabilities;
/**
* Policy state.
*/
@JsonProperty("policy")
private ModelPolicy policy;
/**
* Billing information.
*/
@JsonProperty("billing")
private ModelBilling billing;
/**
* Supported reasoning effort levels (only present if model supports reasoning
* effort).
*/
@JsonProperty("supportedReasoningEfforts")
private List<String> supportedReasoningEfforts;
/**
* Default reasoning effort level (only present if model supports reasoning
* effort).
*/
@JsonProperty("defaultReasoningEffort")
private String defaultReasoningEffort;
public String getId() {
return id;
}
public ModelInfo setId(String id) {
this.id = id;
return this;
}
public String getName() {
return name;
}
public ModelInfo setName(String name) {
this.name = name;
return this;
}
public ModelCapabilities getCapabilities() {
return capabilities;
}
public ModelInfo setCapabilities(ModelCapabilities capabilities) {
this.capabilities = capabilities;
return this;
}
public ModelPolicy getPolicy() {
return policy;
}
public ModelInfo setPolicy(ModelPolicy policy) {
this.policy = policy;
return this;
}
public ModelBilling getBilling() {
return billing;
}
public ModelInfo setBilling(ModelBilling billing) {
this.billing = billing;
return this;
}
/**
* Gets the supported reasoning effort levels.
*
* @return the list of supported reasoning effort levels, or {@code null} if the
* model doesn't support reasoning effort
*/
public List<String> getSupportedReasoningEfforts() {
return supportedReasoningEfforts;
}
/**
* Sets the supported reasoning effort levels.
*
* @param supportedReasoningEfforts
* the list of supported reasoning effort levels
* @return this instance for method chaining
*/
public ModelInfo setSupportedReasoningEfforts(List<String> supportedReasoningEfforts) {
this.supportedReasoningEfforts = supportedReasoningEfforts;
return this;
}
/**
* Gets the default reasoning effort level.
*
* @return the default reasoning effort level, or {@code null} if the model
* doesn't support reasoning effort
*/
public String getDefaultReasoningEffort() {
return defaultReasoningEffort;
}
/**
* Sets the default reasoning effort level.
*
* @param defaultReasoningEffort
* the default reasoning effort level
* @return this instance for method chaining
*/
public ModelInfo setDefaultReasoningEffort(String defaultReasoningEffort) {
this.defaultReasoningEffort = defaultReasoningEffort;
return this;
}
}