forked from github/copilot-sdk-java
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathPreToolUseHookOutput.java
More file actions
138 lines (120 loc) · 3.66 KB
/
PreToolUseHookOutput.java
File metadata and controls
138 lines (120 loc) · 3.66 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
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
*--------------------------------------------------------------------------------------------*/
package com.github.copilot.sdk.json;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.databind.JsonNode;
/**
* Output for a pre-tool-use hook.
*
* @since 1.0.6
*/
@JsonInclude(JsonInclude.Include.NON_NULL)
public class PreToolUseHookOutput {
@JsonProperty("permissionDecision")
private String permissionDecision;
@JsonProperty("permissionDecisionReason")
private String permissionDecisionReason;
@JsonProperty("modifiedArgs")
private JsonNode modifiedArgs;
@JsonProperty("additionalContext")
private String additionalContext;
@JsonProperty("suppressOutput")
private Boolean suppressOutput;
/**
* Gets the permission decision.
*
* @return "allow", "deny", or "ask"
*/
public String getPermissionDecision() {
return permissionDecision;
}
/**
* Sets the permission decision.
*
* @param permissionDecision
* "allow", "deny", or "ask"
* @return this instance for method chaining
*/
public PreToolUseHookOutput setPermissionDecision(String permissionDecision) {
this.permissionDecision = permissionDecision;
return this;
}
/**
* Gets the reason for the permission decision.
*
* @return the reason text
*/
public String getPermissionDecisionReason() {
return permissionDecisionReason;
}
/**
* Sets the reason for the permission decision.
*
* @param permissionDecisionReason
* the reason text
* @return this instance for method chaining
*/
public PreToolUseHookOutput setPermissionDecisionReason(String permissionDecisionReason) {
this.permissionDecisionReason = permissionDecisionReason;
return this;
}
/**
* Gets the modified tool arguments.
*
* @return the modified arguments, or {@code null} to use original
*/
public JsonNode getModifiedArgs() {
return modifiedArgs;
}
/**
* Sets the modified tool arguments.
*
* @param modifiedArgs
* the modified arguments
* @return this instance for method chaining
*/
public PreToolUseHookOutput setModifiedArgs(JsonNode modifiedArgs) {
this.modifiedArgs = modifiedArgs;
return this;
}
/**
* Gets additional context to provide to the model.
*
* @return the additional context
*/
public String getAdditionalContext() {
return additionalContext;
}
/**
* Sets additional context to provide to the model.
*
* @param additionalContext
* the additional context
* @return this instance for method chaining
*/
public PreToolUseHookOutput setAdditionalContext(String additionalContext) {
this.additionalContext = additionalContext;
return this;
}
/**
* Returns whether to suppress output.
*
* @return {@code true} to suppress output
*/
public Boolean getSuppressOutput() {
return suppressOutput;
}
/**
* Sets whether to suppress output.
*
* @param suppressOutput
* {@code true} to suppress output
* @return this instance for method chaining
*/
public PreToolUseHookOutput setSuppressOutput(Boolean suppressOutput) {
this.suppressOutput = suppressOutput;
return this;
}
}