Files

63 lines
2.1 KiB
JavaScript

import { keys_organized } from "./griptape_api_keys.js";
export function createSettings(app) {
// Create the settings
app.ui.settings.addSetting({
id: `Griptape.default_config`,
category: ["Griptape", "!Griptape", "default_config"],
name: "default_config",
type: "dict",
defaultValue: "",
tooltip: "To set this, use the Griptape: Set Default Agent node.",
});
app.ui.settings.addSetting({
id: `Griptape.ollama_base_url`,
category: ["Griptape", "Ollama", "ollama_base_url"],
name: "base_url",
type: "text",
defaultValue: "http://127.0.0.1",
});
app.ui.settings.addSetting({
id: `Griptape.allow_code_execution_dangerous`,
category: ["Griptape", "!Griptape", "code_execution_dangerous"],
name: "Enable Insecure Griptape Code: Run Python [DANGER]",
type: "boolean",
tooltip:
"When enabled, the Griptape Code: Run Python node will not check for dangerous code.\n\n[WARNING] This setting is dangerous and should only be enabled if you know what you are doing.",
defaultValue: false,
onChange: (newVal, oldVal) => {
if (newVal == true) {
console.warn(
"Griptape Code: Dangerous Code Execution enabled: ",
newVal
);
}
},
});
app.ui.settings.addSetting({
id: `Griptape.allow_code_execution`,
category: ["Griptape", "!Griptape", "code_execution"],
name: "Enable Griptape Code: Run Python Nodes",
type: "boolean",
tooltip:
"When enabled, the `Griptape Code: Run Python` node will be available for use.",
defaultValue: false,
// onChange: (newVal, oldVal) => { console.log("Setting got changed!", newVal) },
});
Object.entries(keys_organized).forEach(([category, keys]) => {
keys.forEach((key) => {
app.ui.settings.addSetting({
id: `Griptape.${key}`,
category: ["Griptape", category, key],
name: key,
type: "text",
defaultValue: "",
/* To listen for changes, add an onChange parameter
onChange: (newVal, oldVal) => { console.log("Setting got changed!") },
*/
});
});
});
}