import { RangeNumberWidget } from "./range_number_widget.js";
import { AvailableModelsSelectWidget } from "./available_models_select_widget.js";
export class NewAgentModalWidget {
constructor({ widget_id = null } = {}) {
this.widget_id = widget_id;
this.name_widget_id = `${this.widget_id}-name`;
this.model_widget_id = `${this.widget_id}-model`;
this.description_widget_id = `${this.widget_id}-description`;
this.temperature_widget_id = `${this.widget_id}-temperature`;
this.top_p_widget_id = `${this.widget_id}-top-p`;
this.max_output_tokens_widget_id = `${this.widget_id}-max-output-tokens`;
this.system_prompt_widget_id = `${this.widget_id}-system-prompt`;
this.save_button_id = `${this.widget_id}-save-button`;
this.default_button_id = `${this.widget_id}-default-button`;
this.close_button_id = `${this.widget_id}-close-button`;
}
spawn() {
this.create_widget();
this.append_to_body();
}
remove() {
this.widget.remove();
}
create_model_widget() {
this.model_widget = new AvailableModelsSelectWidget({
widget_id: this.model_widget_id,
});
let model_widget_parent = this.widget.find(`#${this.model_widget_id}`);
this.model_widget.spawn_in_parent(model_widget_parent, "prepend");
}
create_temperature_widget() {
this.temperature_widget = new RangeNumberWidget({
widget_id: this.temperature_widget_id,
label_text: "Temperature",
default_val: 0.5,
min_val: 0,
max_val: 1,
step_val: 0.1,
});
let temperature_widget_parent = this.widget.find(
`#${this.temperature_widget_id}`
);
this.temperature_widget.spawn_in_parent(temperature_widget_parent);
}
create_top_p_widget() {
this.top_p_widget = new RangeNumberWidget({
widget_id: this.top_p_widget_id,
label_text: "Top P",
default_val: 0.9,
min_val: 0.0,
max_val: 1.0,
step_val: 0.01,
});
let top_p_widget_parent = this.widget.find(`#${this.top_p_widget_id}`);
this.top_p_widget.spawn_in_parent(top_p_widget_parent);
}
create_max_output_tokens_widget() {
this.max_output_tokens_widget = new RangeNumberWidget({
widget_id: this.max_output_tokens_widget_id,
label_text: "Max Output Tokens (-1: auto)
",
default_val: -1,
min_val: -1,
max_val: 32768,
step_val: 1,
});
let max_output_tokens_widget_parent = this.widget.find(
`#${this.max_output_tokens_widget_id}`
);
this.max_output_tokens_widget.spawn_in_parent(
max_output_tokens_widget_parent
);
}
create_widget() {
this.widget_html = `