feat: tf code

This commit is contained in:
Gab 2026-03-24 15:43:55 +11:00
parent 1c0c0e6a50
commit 70341eebf5
2 changed files with 15 additions and 27 deletions

View File

@ -257,26 +257,17 @@ export namespace Agent {
async function loadTFCoderAgents(): Promise<Info[]> { async function loadTFCoderAgents(): Promise<Info[]> {
const toolsPath = path.join(Global.Path.data, ".tfcode", "tools.json") const toolsPath = path.join(Global.Path.data, ".tfcode", "tools.json")
console.log("[TF Agents] Loading from:", toolsPath)
try { try {
const content = await Bun.file(toolsPath).text() const content = await Bun.file(toolsPath).text()
const data = JSON.parse(content) const data = JSON.parse(content)
console.log("[TF Agents] File loaded, success:", data.success, "tools:", data.tools?.length) if (!data.success || !data.tools) return []
if (!data.success || !data.tools) {
console.log("[TF Agents] No tools data, returning []")
return []
}
const tfAgents = data.tools return data.tools
.filter((t: any) => t.tool_type === "agent_skill") .filter((t: any) => t.tool_type === "agent_skill")
.map((t: any): Info => ({
console.log("[TF Agents] Found agent_skill items:", tfAgents.length)
console.log("[TF Agents] Names:", tfAgents.map((t: any) => t.name))
return tfAgents.map((t: any): Info => ({
name: t.name, name: t.name,
description: t.description, description: t.description,
mode: "subagent" as const, mode: "primary" as const,
permission: Permission.fromConfig({ "*": "allow" }), permission: Permission.fromConfig({ "*": "allow" }),
native: false, native: false,
options: { options: {
@ -284,8 +275,7 @@ export namespace Agent {
tf_auth_via: t.auth_via, tf_auth_via: t.auth_via,
}, },
})) }))
} catch (e) { } catch {
console.log("[TF Agents] Error:", e)
return [] return []
} }
} }
@ -295,8 +285,6 @@ export namespace Agent {
const localAgents = await state() const localAgents = await state()
const tfAgents = await loadTFCoderAgents() const tfAgents = await loadTFCoderAgents()
console.log("[TF Agents] list() - local:", Object.keys(localAgents).length, "tf:", tfAgents.length)
return pipe( return pipe(
{ ...localAgents, ...Object.fromEntries(tfAgents.map(a => [a.name, a])) }, { ...localAgents, ...Object.fromEntries(tfAgents.map(a => [a.name, a])) },
values(), values(),