feat: add auto_backgrounded field to python and terminal tool responses and final output prefix for completed processes
This commit is contained in:
@@ -78,6 +78,7 @@ static char *python_execute_execute(tool_t *self, struct json_object *args) {
|
||||
json_object_object_add(root, "output", json_object_new_string(res->output));
|
||||
json_object_object_add(root, "is_running", json_object_new_boolean(res->is_running));
|
||||
json_object_object_add(root, "timed_out", json_object_new_boolean(res->timed_out));
|
||||
json_object_object_add(root, "auto_backgrounded", json_object_new_boolean(res->timed_out));
|
||||
if (!res->is_running) {
|
||||
json_object_object_add(root, "exit_status", json_object_new_int(res->exit_status));
|
||||
}
|
||||
|
||||
+12
-1
@@ -123,7 +123,17 @@ static char *process_status_execute(tool_t *self, struct json_object *args) {
|
||||
struct json_object *root = json_object_new_object();
|
||||
json_object_object_add(root, "pid", json_object_new_int(pid));
|
||||
json_object_object_add(root, "is_running", json_object_new_boolean(running));
|
||||
json_object_object_add(root, "output", json_object_new_string(content ? content : ""));
|
||||
|
||||
char *final_output = NULL;
|
||||
if (!running) {
|
||||
if (asprintf(&final_output, "[Final Output Captured]\n%s", content ? content : "") == -1) {
|
||||
final_output = strdup(content ? content : "");
|
||||
}
|
||||
} else {
|
||||
final_output = strdup(content ? content : "");
|
||||
}
|
||||
json_object_object_add(root, "output", json_object_new_string(final_output));
|
||||
|
||||
if (!running) {
|
||||
json_object_object_add(root, "exit_status", json_object_new_int(exit_status));
|
||||
}
|
||||
@@ -143,6 +153,7 @@ static char *process_status_execute(tool_t *self, struct json_object *args) {
|
||||
char *out_str = strdup(json_object_to_json_string_ext(root, JSON_C_TO_STRING_PRETTY));
|
||||
json_object_put(root);
|
||||
free(content);
|
||||
free(final_output);
|
||||
return out_str;
|
||||
}
|
||||
|
||||
|
||||
@@ -80,6 +80,7 @@ static char *terminal_execute(tool_t *self, struct json_object *args) {
|
||||
json_object_object_add(root, "output", json_object_new_string(res->output));
|
||||
json_object_object_add(root, "is_running", json_object_new_boolean(res->is_running));
|
||||
json_object_object_add(root, "timed_out", json_object_new_boolean(res->timed_out));
|
||||
json_object_object_add(root, "auto_backgrounded", json_object_new_boolean(res->timed_out));
|
||||
if (!res->is_running) {
|
||||
json_object_object_add(root, "exit_status", json_object_new_int(res->exit_status));
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user