mirror of
https://gitea.toothfairyai.com/ToothFairyAI/tf_code.git
synced 2026-03-29 21:33:54 +00:00
- Add README.md as living documentation - Add tfcode.json schema and config template - Add FORK_MANAGEMENT.md with mirror-based fork strategy - Add scripts/rebrand.sh for reapplying branding after upstream merges - Add packages/tf-sync Python module using official ToothFairyAI SDK - Add packages/tf-mcp-bridge TypeScript module (stub) - Multi-region support (AU, EU, US) - Tool sync: MCP servers, Agent Skills, Database Scripts, API Functions
119 lines
3.3 KiB
JSON
119 lines
3.3 KiB
JSON
{
|
|
"$schema": "https://toothfairyai.com/schemas/tfcode.json",
|
|
"$defs": {
|
|
"ToolType": {
|
|
"type": "string",
|
|
"enum": ["mcp_server", "agent_skill", "database_script", "api_function"]
|
|
},
|
|
"FunctionRequestType": {
|
|
"type": "string",
|
|
"enum": ["get", "post", "put", "delete", "patch", "custom", "graphql_query", "graphql_mutation"]
|
|
},
|
|
"AuthVia": {
|
|
"type": "string",
|
|
"enum": ["tf_proxy", "user_provided"]
|
|
},
|
|
"Tool": {
|
|
"type": "object",
|
|
"properties": {
|
|
"type": { "$ref": "#/$defs/ToolType" },
|
|
"isMCPServer": { "type": "boolean" },
|
|
"isAgentSkill": { "type": "boolean" },
|
|
"isDatabaseScript": { "type": "boolean" },
|
|
"requestType": { "$ref": "#/$defs/FunctionRequestType" },
|
|
"url": { "type": "string" },
|
|
"auth_via": { "$ref": "#/$defs/AuthVia" },
|
|
"api_key": { "type": "string" },
|
|
"tools": {
|
|
"type": "array",
|
|
"items": { "type": "string" }
|
|
},
|
|
"description": { "type": "string" }
|
|
}
|
|
}
|
|
},
|
|
"type": "object",
|
|
"properties": {
|
|
"$schema": { "type": "string" },
|
|
"toothfairy": {
|
|
"type": "object",
|
|
"properties": {
|
|
"enabled": { "type": "boolean", "default": true },
|
|
"workspace_id": { "type": "string" },
|
|
"api_key": { "type": "string" },
|
|
"region": {
|
|
"type": "string",
|
|
"enum": ["au", "eu", "us"],
|
|
"default": "au"
|
|
},
|
|
"sync": {
|
|
"type": "object",
|
|
"properties": {
|
|
"on_startup": { "type": "boolean", "default": true },
|
|
"interval": { "type": "integer", "default": 3600 },
|
|
"tools": {
|
|
"type": "object",
|
|
"properties": {
|
|
"types": {
|
|
"type": "array",
|
|
"items": { "type": "string", "enum": ["mcp", "skill", "database", "function"] }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"mcp_proxy": {
|
|
"type": "object",
|
|
"properties": {
|
|
"url": { "type": "string" },
|
|
"timeout": { "type": "integer", "default": 30000 }
|
|
}
|
|
}
|
|
},
|
|
"required": ["workspace_id", "api_key"]
|
|
},
|
|
"tools": {
|
|
"type": "object",
|
|
"additionalProperties": { "$ref": "#/$defs/Tool" }
|
|
},
|
|
"agent": {
|
|
"type": "object",
|
|
"additionalProperties": {
|
|
"type": "object",
|
|
"properties": {
|
|
"mode": { "type": "string", "enum": ["primary", "subagent"] },
|
|
"model": { "type": "string" },
|
|
"temperature": { "type": "number" },
|
|
"description": { "type": "string" },
|
|
"prompt": { "type": "string" },
|
|
"tools": {
|
|
"type": "array",
|
|
"items": { "type": "string" }
|
|
},
|
|
"mcp": {
|
|
"type": "array",
|
|
"items": { "type": "string" }
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"model": { "type": "string" },
|
|
"autoupdate": { "type": "boolean" },
|
|
"formatter": {
|
|
"type": "object",
|
|
"additionalProperties": {
|
|
"type": "object",
|
|
"properties": {
|
|
"command": {
|
|
"type": "array",
|
|
"items": { "type": "string" }
|
|
},
|
|
"extensions": {
|
|
"type": "array",
|
|
"items": { "type": "string" }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
} |