Skip to content

Commit 9464aff

Browse files
author
prima
committed
feat: Improvements to object logging for agent
1 parent c7dd902 commit 9464aff

File tree

1 file changed

+39
-1
lines changed

1 file changed

+39
-1
lines changed

klite.embd

Lines changed: 39 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26859,13 +26859,51 @@ let checkFinalThoughtsPrompt = `Action: {"command":{"name":"thought","args":{"me
2685926859
return wistr
2686026860
}
2686126861

26862+
let objToText = (obj, depth = 0) => {
26863+
// Hard recursion limit
26864+
if (depth > 1000)
26865+
{
26866+
return ""
26867+
}
26868+
let baseIndent = "", output = ""
26869+
for (let i = 0; i < depth; i++) {
26870+
baseIndent += "\t"
26871+
}
26872+
switch (typeof obj) {
26873+
case "array":
26874+
output += `${baseIndent}Array:\n${obj.map(elem => `${baseIndent}\tElement: ${objToText(elem, depth + 1)}`).join("\n")}`
26875+
break
26876+
case "object":
26877+
let keys = Object.keys(obj)
26878+
output += keys.map(key => {
26879+
return `${baseIndent}-> ${key}:\n${objToText(obj[key], depth + 1)}`
26880+
}).join("\n")
26881+
break
26882+
default:
26883+
output += `${baseIndent}${JSON.stringify(obj)}`
26884+
break
26885+
}
26886+
return output
26887+
}
2686226888
let actionToText = (action) => {
2686326889
let actionAsText = `Name: ${action.name}\n`
2686426890
if (!!action.args)
2686526891
{
2686626892
let args = Object.keys(action.args).map(key => {
2686726893
let value = action.args[key];
26868-
return typeof value === "object" ? `\t${key}: ${JSON.stringify(value)}` : `\t${key}: ${value}`
26894+
let val = value
26895+
if (typeof value === "object")
26896+
{
26897+
try
26898+
{
26899+
val = `\n${objToText(value, 2)}`
26900+
}
26901+
catch (e)
26902+
{
26903+
val = JSON.stringify(value)
26904+
}
26905+
}
26906+
return `\t${key}: ${val}`
2686926907
}).join("\n")
2687026908
actionAsText += `\nArguments:\n${args}`
2687126909
}

0 commit comments

Comments
 (0)