PreToolUseHookInput.java
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
*--------------------------------------------------------------------------------------------*/
package com.github.copilot.sdk.json;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.databind.JsonNode;
/**
* Input for a pre-tool-use hook.
*
* @since 1.0.6
*/
@JsonIgnoreProperties(ignoreUnknown = true)
public class PreToolUseHookInput {
@JsonProperty("timestamp")
private long timestamp;
@JsonProperty("cwd")
private String cwd;
@JsonProperty("toolName")
private String toolName;
@JsonProperty("toolArgs")
private JsonNode toolArgs;
/**
* Gets the timestamp of the hook invocation.
*
* @return the timestamp in milliseconds
*/
public long getTimestamp() {
return timestamp;
}
/**
* Sets the timestamp of the hook invocation.
*
* @param timestamp
* the timestamp in milliseconds
* @return this instance for method chaining
*/
public PreToolUseHookInput setTimestamp(long timestamp) {
this.timestamp = timestamp;
return this;
}
/**
* Gets the current working directory.
*
* @return the working directory path
*/
public String getCwd() {
return cwd;
}
/**
* Sets the current working directory.
*
* @param cwd
* the working directory path
* @return this instance for method chaining
*/
public PreToolUseHookInput setCwd(String cwd) {
this.cwd = cwd;
return this;
}
/**
* Gets the name of the tool being invoked.
*
* @return the tool name
*/
public String getToolName() {
return toolName;
}
/**
* Sets the name of the tool being invoked.
*
* @param toolName
* the tool name
* @return this instance for method chaining
*/
public PreToolUseHookInput setToolName(String toolName) {
this.toolName = toolName;
return this;
}
/**
* Gets the arguments passed to the tool.
*
* @return the tool arguments as a JSON node
*/
public JsonNode getToolArgs() {
return toolArgs;
}
/**
* Sets the arguments passed to the tool.
*
* @param toolArgs
* the tool arguments as a JSON node
* @return this instance for method chaining
*/
public PreToolUseHookInput setToolArgs(JsonNode toolArgs) {
this.toolArgs = toolArgs;
return this;
}
}