{"templateId":"markdown","sharedDataIds":{"sidebar":"sidebar-sidebars.yaml"},"props":{"metadata":{"markdoc":{"tagList":["admonition"]},"redocly_category":"Treasure Code","product_name":"Treasure Code","type":"markdown"},"seo":{"title":"tdx agent - LLM Agent Management | Treasure Data","description":"Manage LLM agents with YAML/Markdown files. Pull, push, clone, and test AI agents in Treasure Data.","siteUrl":"https://docs.treasuredata.com","lang":"en-US","llmstxt":{"hide":false,"sections":[{"title":"Table of contents","includeFiles":["**/*"],"excludeFiles":[]}],"excludeFiles":[]},"image":"/assets/og-image.ba836864a30434f560a4f7720f8a09019ad30ff828b20c5052ae933ba7121524.d7ef4821.png"},"dynamicMarkdocComponents":[],"compilationErrors":[],"ast":{"$$mdtype":"Tag","name":"article","attributes":{},"children":[{"$$mdtype":"Tag","name":"Heading","attributes":{"level":1,"id":"agent-commands","__idx":0},"children":["Agent Commands"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Manage LLM agents with YAML/Markdown configuration files."]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"bash","header":{"controls":{"copy":{}}},"source":"tdx agent <command>   # Full command\ntdx agents            # Shorthand alias for `tdx agent list`\n","lang":"bash"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"overview","__idx":1},"children":["Overview"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["tdx agent"]}," commands provide complete management of LLM agents:"]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Command"},"children":["Command"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Description"},"children":["Description"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"#list"},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["list"]}]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["List agents in current project"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"#show"},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["show"]}]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Show agent details"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"#pull"},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["pull"]}]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Export agents from an LLM project to local YAML/Markdown files"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"#push"},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["push"]}]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Import local agent files to an LLM project"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"#clone"},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["clone"]}]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Clone a project to a new project"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"#test"},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["test"]}]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Run automated tests against an agent"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"#create"},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["create"]}]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Create a new agent (prefer ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["pull"]},"/",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["push"]}," workflow)"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"#update"},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["update"]}]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Update an existing agent (prefer ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["pull"]},"/",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["push"]}," workflow)"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"#delete"},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["delete"]}]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Delete an agent"]}]}]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"typical-usage","__idx":2},"children":["Typical Usage"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"bash","header":{"controls":{"copy":{}}},"source":"# 1. Create a new LLM project (or use an existing one)\ntdx llm project create \"My LLM Project\" --description \"Data analysis agents\"\n\n# 2. Pull project to local files (auto-sets context)\ntdx agent pull \"My LLM Project\"\n# Creates: agents/my-llm-project/\n\n# 3. Edit YAML/Markdown files locally\n# - Edit agents/my-llm-project/my-agent/prompt.md for system prompt\n# - Edit agents/my-llm-project/my-agent/agent.yml for configuration\n\n# 4. Preview changes before pushing\ntdx agent push --dry-run\n\n# 5. Push changes to the project\ntdx agent push\n\n# 6. Add tests and run them\n# - Create agents/my-llm-project/my-agent/test.yml\ntdx agent test ./agents/my-llm-project/my-agent/\n\n# 7. Clone to another environment\ntdx agent clone ./agents/my-llm-project/ --name \"My Project (Staging)\" --profile staging\n","lang":"bash"},"children":[]},{"$$mdtype":"Tag","name":"Admonition","attributes":{"type":"success","name":"Recommended Workflow"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Use the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["pull/push workflow"]}," for agent development:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Edit agents as YAML/Markdown files in your favorite editor"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Version control with Git for history and collaboration"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Use ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["--dry-run"]}," to preview changes before pushing"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Add ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["test.yml"]}," to validate agent behavior with automated tests"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["create"]},"/",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["update"]}," commands are available for quick one-off changes but the file-based workflow is recommended for maintainability."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"folder-structure","__idx":3},"children":["Folder Structure"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["When you pull agents from a project, the following folder structure is created:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"header":{"controls":{"copy":{}}},"source":"agents/\n└── {project-name}/                    # Normalized project name (kebab-case)\n    ├── tdx.json                       # Project configuration\n    ├── {agent-name}/                  # Normalized agent name\n    │   ├── prompt.md                  # System prompt (editable markdown)\n    │   ├── agent.yml                  # Agent configuration\n    │   ├── starter_message.md         # Optional: multiline starter message\n    │   └── test.yml                   # Optional: automated test definitions\n    ├── knowledge_bases/               # Knowledge base definitions\n    │   ├── {kb-name}.yml              # Table-based KB (queries TD database)\n    │   └── {kb-name}.md               # Text-based KB (plain text content)\n    ├── prompts/                       # Prompt definitions\n    │   └── {prompt-name}.yml\n    ├── integrations/                  # Chat integration definitions\n    │   └── {service-type}.yml         # e.g., chat_generic.yml\n    ├── form_interfaces/               # Form interface definitions\n    │   └── {name}.yml\n    └── chat_interfaces/               # Chat interface definitions\n        └── {name}.yml\n"},"children":[]},{"$$mdtype":"Tag","name":"Admonition","attributes":{"type":"success","name":"Name Collisions"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["If multiple agents have names that normalize to the same folder name (e.g., \"My Agent\" and \"my-agent\" both become ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["my-agent"]},"), the pull operation appends numeric suffixes to avoid conflicts: ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["my-agent"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["my-agent-2"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["my-agent-3"]},", etc. The actual agent name is preserved in the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["name:"]}," field of ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["agent.yml"]},"."]}]},{"$$mdtype":"Tag","name":"Admonition","attributes":{"type":"info","name":"Integration Support"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Safe integrations"]}," (Generic Chat, Agent Console, Parent Segment) are included in pull/push/clone operations. These are stored in ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["integrations/{service-type}.yml"]},"."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Sensitive integrations"]}," (Slack, Webhook) are ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["not"]}," synced because they contain secrets (Slack signing secrets, webhook credentials) that should not be version controlled. Configure these manually in the TD console for each environment."]}]},{"$$mdtype":"Tag","name":"Admonition","attributes":{"type":"info","name":"Form & Chat Interfaces"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Form interfaces"]}," define structured form-based interactions with an agent, including a JSON schema for form fields, a UI schema for rendering, and a prompt template."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Chat interfaces"]}," define chat-based interactions with starter messages, text input configuration, and action buttons. Managed chat interfaces (auto-generated by the system) are excluded from pull/push/clone."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"file-formats","__idx":4},"children":["File Formats"]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"tdxjson","__idx":5},"children":["tdx.json"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Project configuration file located in the project root folder."]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n  \"llm_project\": \"My LLM Project\"\n}\n","lang":"json"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"agentyml","__idx":6},"children":["agent.yml"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Agent configuration file with model settings, tools, outputs, and variables."]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"yaml","header":{"controls":{"copy":{}}},"source":"name: My Support Agent\ndescription: Customer support assistant\n\n# Model configuration\nmodel: claude-4.5-sonnet\ntemperature: 0.7\nmax_tool_iterations: 5\nreasoning_effort: medium    # none, minimal, low, medium, high\n\n# Starter message (short inline, or use starter_message.md for long text)\nstarter_message: Hello! How can I help you today?\n\n# Output definitions\noutputs:\n  - name: resolution_status\n    function_name: get_resolution_status\n    function_description: Returns the status of issue resolution\n    json_schema: |\n      {\"type\": \"object\", \"properties\": {\"status\": {\"type\": \"string\"}}}\n\n# Tools - give the agent access to knowledge bases, other agents, etc.\ntools:\n  - type: knowledge_base\n    target: '@ref(type: \"knowledge_base\", name: \"support-kb\")'\n    target_function: SEARCH\n    function_name: search_knowledge\n    function_description: Search the support knowledge base\n\n  - type: agent\n    target: '@ref(type: \"agent\", name: \"escalation-agent\")'\n    target_function: CHAT\n    function_name: escalate_issue\n    function_description: Escalate to senior support\n\n# Variables (runtime inputs from knowledge base)\nvariables:\n  - name: customer_context\n    target_knowledge_base: '@ref(type: \"knowledge_base\", name: \"customer-kb\")'\n    target_function: LOOKUP\n    function_arguments: |\n      {\"query\": \"{{customer_id}}\"}\n","lang":"yaml"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":4,"id":"tools-configuration","__idx":7},"children":["Tools Configuration"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Tools give agents access to external resources like knowledge bases, other agents, web search, image generation, and parent segment data. Each tool requires:"]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Field"},"children":["Field"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Description"},"children":["Description"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["type"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Tool type: ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["knowledge_base"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["agent"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["web_search"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["image_gen"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["parent_segment_kb"]}]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["target"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Reference to the resource using ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["@ref(...)"]}," syntax. Not needed for ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["parent_segment_kb"]}," (singleton)."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["target_function"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Function to call: ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["SEARCH"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["LOOKUP"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["CHAT"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["TEXT_TO_IMAGE"]},", etc."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["function_name"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Name exposed to the LLM (what the agent calls)"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["function_description"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Description shown to the LLM"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["output_mode"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Optional for agent tools: ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["RETURN"]}," (default, returns complete response) or ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["SHOW"]}," (shows response to user)"]}]}]}]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Knowledge Base Tool"]}," - Search or lookup data from a knowledge base."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["knowledge_base"]}," type works with both table-based and text-based knowledge bases. The system automatically resolves the correct type based on the name:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"yaml","header":{"controls":{"copy":{}}},"source":"tools:\n  # Table-based knowledge base (backed by TD table)\n  - type: knowledge_base\n    target: '@ref(type: \"knowledge_base\", name: \"product-catalog\")'\n    target_function: SEARCH      # SEARCH, LOOKUP, LIST_COLUMNS\n    function_name: search_products\n    function_description: Search the product catalog for items\n\n  # Text-based knowledge base (document/text content)\n  - type: knowledge_base\n    target: '@ref(type: \"knowledge_base\", name: \"company-docs\")'\n    target_function: READ_TEXT   # READ_TEXT for text KBs\n    function_name: read_docs\n    function_description: Read company documentation\n","lang":"yaml"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Agent Tool"]}," - Call another agent as a sub-agent:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"yaml","header":{"controls":{"copy":{}}},"source":"tools:\n  - type: agent\n    target: '@ref(type: \"agent\", name: \"sql-expert\")'\n    target_function: CHAT\n    function_name: run_sql_query\n    function_description: Execute SQL queries using the SQL expert agent\n    output_mode: RETURN         # RETURN (default) or SHOW\n","lang":"yaml"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Web Search Tool"]}," - Search the web for real-time information:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"yaml","header":{"controls":{"copy":{}}},"source":"tools:\n  - type: web_search\n    target: '@ref(type: \"web_search_tool\", name: \"web-search\")'\n    target_function: SEARCH\n    function_name: search_web\n    function_description: Search the web for current information\n","lang":"yaml"},"children":[]},{"$$mdtype":"Tag","name":"Admonition","attributes":{"type":"success","name":"Web Search Tool Setup"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Web Search Tool requires creating a tool instance via API before use. See the ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/treasure-code/guide/web-search-tool"},"children":["Web Search Tool Setup Guide"]}," for detailed instructions."]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Image Generation Tool"]}," - Generate or modify images:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"yaml","header":{"controls":{"copy":{}}},"source":"tools:\n  - type: image_gen\n    target: '@ref(type: \"image_generator\", name: \"image-gen\")'\n    target_function: TEXT_TO_IMAGE  # TEXT_TO_IMAGE, OUTPAINT, INPAINT, IMAGE_VARIATION, REMOVE_BACKGROUND\n    function_name: generate_image\n    function_description: Generate an image from a text description\n","lang":"yaml"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Parent Segment KB Tool"]}," - Access CDP parent segment data (singleton per project, no ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["target"]}," needed):"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"yaml","header":{"controls":{"copy":{}}},"source":"tools:\n  - type: parent_segment_kb\n    target_function: LIST_SEGMENT_FOLDERS  # See below for all functions\n    function_name: list_folders\n    function_description: List segment folders in the project\n","lang":"yaml"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Available ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["target_function"]}," values for ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["parent_segment_kb"]},":"]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Function"},"children":["Function"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Description"},"children":["Description"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["LIST_SEGMENT_FOLDERS"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["List all segment folders"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["LIST_BY_FOLDER"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["List segments in a folder"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["LIST_ATTRIBUTES"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["List available attributes"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["LIST_BEHAVIORS"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["List available behaviors"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["GET_SEGMENT"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Get segment details"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["GET_JOURNEY"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Get journey details"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["GET_AUDIENCE"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Get audience details"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["GET_QUERY"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Get query details"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["QUERY_DATA_DIRECT"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Query segment data directly"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["QUERY_SEGMENT_ANALYTICS"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Query segment analytics"]}]}]}]}]},{"$$mdtype":"Tag","name":"Admonition","attributes":{"type":"success","name":"Singleton Tool"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Unlike other tools, ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["parent_segment_kb"]}," is a singleton per project - there's only one per project, so no ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["target"]}," reference is needed. The tool automatically connects to the project's parent segment knowledge base."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":4,"id":"variables-configuration","__idx":8},"children":["Variables Configuration"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Variables inject data from knowledge bases into the agent's context at runtime:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"yaml","header":{"controls":{"copy":{}}},"source":"variables:\n  - name: user_profile           # Variable name used in prompt\n    target_knowledge_base: '@ref(type: \"knowledge_base\", name: \"users-kb\")'\n    target_function: LOOKUP      # LOOKUP for exact match, SEARCH for semantic\n    function_arguments: |\n      {\"query\": \"{{user_id}}\"}   # Template with runtime values\n","lang":"yaml"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Use variables in ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["prompt.md"]}," with ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["{{variable_name}}"]}," syntax."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"promptmd","__idx":9},"children":["prompt.md"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["System prompt file containing the agent's instructions. This is a plain markdown file that can be edited with any text editor."]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"markdown","header":{"controls":{"copy":{}}},"source":"You are a helpful customer support agent for our e-commerce platform.\n\n## Your Role\n\n- Assist customers with order inquiries\n- Provide product information\n- Handle account issues\n\n## Guidelines\n\nAlways be polite, professional, and empathetic.\nIf you cannot resolve an issue, escalate to a human agent.\n","lang":"markdown"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"starter_messagemd","__idx":10},"children":["starter_message.md"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Optional starter message file for multiline starter messages. If the starter message is short, you can include it directly in ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["agent.yml"]},"."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"knowledge_basesnameyml-table-based","__idx":11},"children":["knowledge_bases/{name}.yml (Table-based)"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Table-based knowledge base that queries a Treasure AI database."]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"yaml","header":{"controls":{"copy":{}}},"source":"name: Support KB\ntype: database\ndatabase: customer_data\ntables:\n  - name: faq\n    td_query: SELECT * FROM faq\n    enable_data: true\n    enable_data_index: true\n","lang":"yaml"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"knowledge_basesnamemd-text-based","__idx":12},"children":["knowledge_bases/{name}.md (Text-based)"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Text-based knowledge base containing plain text content. Uses YAML frontmatter for metadata."]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"markdown","header":{"controls":{"copy":{}}},"source":"---\nname: Product FAQ\n---\n\n# Frequently Asked Questions\n\n## What is your return policy?\nWe offer a 30-day return policy for all unused items...\n\n## How do I track my order?\nYou can track your order by logging into your account...\n","lang":"markdown"},"children":[]},{"$$mdtype":"Tag","name":"Admonition","attributes":{"type":"success","name":"Text KB Name"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["If the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["name"]}," field is omitted from the frontmatter, the filename (without ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":[".md"]},") is used as the knowledge base name."]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Both table-based and text-based knowledge bases can be referenced using the same ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["@ref"]}," syntax:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"yaml","header":{"controls":{"copy":{}}},"source":"tools:\n  - type: knowledge_base\n    target: '@ref(type: \"knowledge_base\", name: \"Support KB\")'      # Table-based\n    # ...\n  - type: knowledge_base\n    target: '@ref(type: \"knowledge_base\", name: \"Product FAQ\")'     # Text-based\n    # ...\n","lang":"yaml"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"promptsnameyml","__idx":13},"children":["prompts/{name}.yml"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Prompt template configuration."]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"yaml","header":{"controls":{"copy":{}}},"source":"name: greeting-prompt\nagent: '@ref(type: \"agent\", name: \"support-agent\")'\nsystem_prompt: |\n  Generate a personalized greeting...\ntemplate: |\n  Customer Name: {{customer_name}}\njson_schema_hint: |\n  {\"type\": \"object\", \"properties\": {\"customer_name\": {\"type\": \"string\"}}}\n","lang":"yaml"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"integrationsservice-typeyml","__idx":14},"children":["integrations/{service-type}.yml"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Chat integration configuration for Generic Chat, Agent Console, or Parent Segment integrations."]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"yaml","header":{"controls":{"copy":{}}},"source":"service_type: chat_generic\nname: generic-chat-integration\nchat_welcome_message: \"Welcome! How can I help you today?\"\nchat_ignore_managed_actions: false\nactions:\n  - prompt: '@ref(type: \"prompt\", name: \"support-prompt\")'\n    chat_widget_type: button\n    chat_widget_label: Ask Support\n    ui_tags:\n      - \"lang:en\"\n      - \"lang:ja\"\n","lang":"yaml"},"children":[]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Field"},"children":["Field"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Description"},"children":["Description"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["service_type"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Integration type: ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["chat_generic"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["chat_agent_console"]},", or ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["chat_parent_segment"]}]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["name"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Display name for the integration"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["chat_welcome_message"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Welcome message shown when chat starts"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["chat_ignore_managed_actions"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Whether to ignore managed actions"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["actions"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["List of actions/buttons shown in the chat widget"]}]}]}]}]},{"$$mdtype":"Tag","name":"Admonition","attributes":{"type":"warning","name":"Supported Integration Types"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Only ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["safe"]}," integration types are synced:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["chat_generic"]}," - Generic chat widget"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["chat_agent_console"]}," - Agent console integration"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["chat_parent_segment"]}," - Parent segment integration"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["webhook"]}," and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["slack"]}," integrations contain secrets and must be configured manually in the TD console."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"form_interfacesnameyml","__idx":15},"children":["form_interfaces/{name}.yml"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Form interface that provides structured form-based input to an agent."]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"yaml","header":{"controls":{"copy":{}}},"source":"name: Customer Lookup\nagent: '@ref(type: \"agent\", name: \"support-agent\")'\nprompt_template: \"Look up customer: {{input}}\"\nform_json_schema: '{\"type\":\"object\",\"properties\":{\"customer_id\":{\"type\":\"string\"}},\"required\":[\"customer_id\"]}'\nform_ui_schema: '{\"ui:order\":[\"customer_id\"]}'\n","lang":"yaml"},"children":[]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Field"},"children":["Field"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Description"},"children":["Description"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["name"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Display name for the form interface"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["agent"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Reference to the agent that processes form submissions"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["prompt_template"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Prompt template with ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["{{input}}"]}," placeholder for form data"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["form_json_schema"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["JSON Schema defining form fields (JSON string)"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["form_ui_schema"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Optional UI schema for form rendering (JSON string)"]}]}]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"chat_interfacesnameyml","__idx":16},"children":["chat_interfaces/{name}.yml"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Chat interface that provides a customizable chat experience with optional buttons."]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"yaml","header":{"controls":{"copy":{}}},"source":"name: Support Chat\ntext_input_enabled: true\ntext_input_agent: '@ref(type: \"agent\", name: \"support-agent\")'\nstarter_message: \"Hello! How can I help you today?\"\nbuttons:\n  - agent: '@ref(type: \"agent\", name: \"faq-agent\")'\n    label: FAQ\n    prompt: \"Show me frequently asked questions\"\n  - agent: '@ref(type: \"agent\", name: \"escalation-agent\")'\n    label: Talk to Human\n    prompt: \"I need to speak with a human agent\"\n","lang":"yaml"},"children":[]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Field"},"children":["Field"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Description"},"children":["Description"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["name"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Display name for the chat interface"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["text_input_enabled"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Whether free-text input is enabled (",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["true"]},"/",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["false"]},")"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["text_input_agent"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Optional agent reference for handling text input"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["starter_message"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Optional welcome message displayed to users"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["buttons"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Optional list of action buttons"]}]}]}]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Each button has:"]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Field"},"children":["Field"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Description"},"children":["Description"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["agent"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Reference to the agent that handles this button"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["label"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Button label displayed to users"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["prompt"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Prompt sent when button is clicked"]}]}]}]}]},{"$$mdtype":"Tag","name":"Admonition","attributes":{"type":"info","name":"Managed Chat Interfaces"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["System-managed chat interfaces are excluded from pull/push/clone operations. Only user-created chat interfaces are synced."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"reference-syntax","__idx":17},"children":["Reference Syntax"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Use ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["@ref(...)"]}," to reference other resources by name:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"yaml","header":{"controls":{"copy":{}}},"source":"# Reference a knowledge base\ntarget: '@ref(type: \"knowledge_base\", name: \"my-kb\")'\n\n# Reference another agent\ntarget: '@ref(type: \"agent\", name: \"my-agent\")'\n\n# Reference a prompt\nprompt: '@ref(type: \"prompt\", name: \"my-prompt\")'\n","lang":"yaml"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["This allows resources to be referenced by name instead of UUID, making configurations portable across environments."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"commands","__idx":18},"children":["Commands"]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"list","__idx":19},"children":["list"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["List agents in the current project."]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"bash","header":{"controls":{"copy":{}}},"source":"tdx agent list [pattern]\ntdx agents [pattern]          # Shorthand alias\n","lang":"bash"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Options:"]}]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["-w, --web"]},": Show console URLs for each agent"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Examples:"]}]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"bash","header":{"controls":{"copy":{}}},"source":"# List all agents in current project (uses llm_project context)\ntdx agent list\ntdx agents                    # Same as above\n\n# Filter agents by pattern\ntdx agent list \"support-*\"\ntdx agents \"support-*\"        # Same as above\n\n# List agents in a specific project\ntdx agent list \"my-project/support-*\"\n\n# Show with console URLs\ntdx agent list -w\ntdx agents -w                 # Same as above\n","lang":"bash"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"show","__idx":20},"children":["show"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Show detailed information about a specific agent."]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"bash","header":{"controls":{"copy":{}}},"source":"tdx agent show <agent-name>\n","lang":"bash"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Examples:"]}]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"bash","header":{"controls":{"copy":{}}},"source":"# Show agent details\ntdx agent show \"Support Agent\"\n\n# Show agent in JSON format\ntdx agent show \"Support Agent\" --format json\n","lang":"bash"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"create","__idx":21},"children":["create"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Create a new agent in the current project."]},{"$$mdtype":"Tag","name":"Admonition","attributes":{"type":"success","name":"Prefer pull/push Workflow"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["For complex agents with tools, knowledge bases, or long prompts, use the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["pull/push workflow"]}," instead:"]},{"$$mdtype":"Tag","name":"ol","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Create a minimal agent with this command"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Run ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["tdx agent pull"]}," to export to YAML/Markdown"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Edit files locally and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["tdx agent push"]}," to update"]}]}]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"bash","header":{"controls":{"copy":{}}},"source":"tdx agent create <name> [options]\n","lang":"bash"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Options:"]}]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["--system-prompt <text>"]},": System prompt/instructions"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["--model <name>"]},": Model type (default: ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["claude-4.5-sonnet"]},")"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["--starter-message <text>"]},": Initial greeting message"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["--max-tool-iterations <n>"]},": Maximum tool iterations (default: 4)"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["--temperature <n>"]},": Temperature 0.0-2.0 (default: 0.7)"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Examples:"]}]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"bash","header":{"controls":{"copy":{}}},"source":"# Create basic agent\ntdx agent create \"My Agent\"\n\n# Create with system prompt\ntdx agent create \"SQL Expert\" \\\n  --system-prompt \"You are an expert in SQL and data analysis.\"\n\n# Create with all options\ntdx agent create \"Data Analyst\" \\\n  --system-prompt \"Help users analyze data.\" \\\n  --model \"claude-4.5-sonnet\" \\\n  --starter-message \"Hello! I can help you analyze your data.\" \\\n  --max-tool-iterations 8 \\\n  --temperature 0.5\n\n# Create agent in a specific project\ntdx agent create \"MyProject/My Agent\"\n","lang":"bash"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"update","__idx":22},"children":["update"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Update an existing agent."]},{"$$mdtype":"Tag","name":"Admonition","attributes":{"type":"success","name":"Prefer pull/push Workflow"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["For significant changes, use the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["pull/push workflow"]}," instead:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"bash","header":{"controls":{"copy":{}}},"source":"tdx agent pull \"My Project\"    # Export to YAML/Markdown\n# Edit files locally\ntdx agent push                  # Push changes\n","lang":"bash"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["This provides better version control and allows editing complex prompts in your favorite editor."]}]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"bash","header":{"controls":{"copy":{}}},"source":"tdx agent update <agent-name> [options]\n","lang":"bash"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Options:"]}]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["--name <text>"]},": New agent name"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["--prompt <text>"]},": Agent prompt/instructions"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["--description <text>"]},": Agent description"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["--starter-message <text>"]},": Starter message"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Examples:"]}]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"bash","header":{"controls":{"copy":{}}},"source":"# Update agent name\ntdx agent update \"Old Name\" --name \"New Name\"\n\n# Update system prompt\ntdx agent update \"My Agent\" --prompt \"Updated instructions...\"\n\n# Update multiple fields\ntdx agent update \"My Agent\" \\\n  --description \"Updated description\" \\\n  --starter-message \"New greeting!\"\n","lang":"bash"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"delete","__idx":23},"children":["delete"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Delete an agent."]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"bash","header":{"controls":{"copy":{}}},"source":"tdx agent delete <agent-name>\n","lang":"bash"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Examples:"]}]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"bash","header":{"controls":{"copy":{}}},"source":"# Delete an agent\ntdx agent delete \"My Agent\"\n","lang":"bash"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"pull","__idx":24},"children":["pull"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Pull agents and resources from an LLM project to local files. Shows a YAML diff preview and asks for confirmation before writing files."]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"bash","header":{"controls":{"copy":{}}},"source":"# Pull from current directory (uses tdx.json or context)\ntdx agent pull\n\n# Pull all resources from a project\ntdx agent pull <project> [options]\n\n# Pull from an existing local directory\ntdx agent pull <local-dir> [options]\n\n# Pull a specific agent from context project\ntdx agent pull --agent <agent-name> [options]\n\n# Pull a specific agent from explicit project\ntdx agent pull <project> <agent-name> [options]\n","lang":"bash"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Options:"]}]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["-o, --output <dir>"]},": Output directory (default: ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["agents/{project-name}/"]},")"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["-a, --agent <name>"]},": Pull specific agent by name (uses ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["llm_project"]}," context)"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["--dry-run"]},": Preview changes without writing files"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["-f, --force"]},": Overwrite local changes without confirmation"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["-y, --yes"]},": Skip confirmation prompts"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Examples:"]}]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"bash","header":{"controls":{"copy":{}}},"source":"# Pull from current directory (if inside a project folder with tdx.json)\ntdx agent pull\n\n# Pull entire project\ntdx agent pull \"My LLM Project\"\n\n# Pull to specific directory\ntdx agent pull \"My LLM Project\" -o ./my-agents\n\n# Pull from existing local directory\ntdx agent pull ./agents/my-project/\n\n# Pull specific agent from context project\ntdx agent pull --agent \"Support Agent\"\n\n# Pull specific agent from explicit project\ntdx agent pull \"My LLM Project\" \"Support Agent\"\n\n# Preview what would be pulled (no files written)\ntdx agent pull \"My LLM Project\" --dry-run\n\n# Pull without confirmation prompt\ntdx agent pull \"My LLM Project\" --yes\n","lang":"bash"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Output:"]}]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"header":{"controls":{"copy":{}}},"source":"Pull summary for 'My LLM Project':\n  + 4 new | ~ 3 changed | = 13 unchanged\n  Agents: 1 new, 2 updated, 5 unchanged\n  Knowledge Bases: 1 new, 0 updated, 2 unchanged\n  Text Knowledge Bases: 1 new, 0 updated, 1 unchanged\n  Prompts: 0 new, 1 updated, 3 unchanged\n  Integrations: 1 new, 0 updated, 1 unchanged\n  Form Interfaces: 0 new, 0 updated, 1 unchanged\n  Chat Interfaces: 1 new, 0 updated, 0 unchanged\n  Target: agents/my-llm-project/\n\nChanges to agent 'Support Agent':\n────────────────────────────────────────────────────────────────\n- temperature: 0.7\n+ temperature: 0.5\n────────────────────────────────────────────────────────────────\n\nWrite 7 files? [y/N]\n"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"push","__idx":25},"children":["push"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Push local agent files to an LLM project. Shows a YAML diff preview comparing local vs remote, asks for confirmation, and displays the console URL after push."]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"bash","header":{"controls":{"copy":{}}},"source":"# Push all resources from current directory\ntdx agent push [path] [options]\n\n# Push from specific directory\ntdx agent push ./agents/my-project/ [options]\n\n# Push specific agent\ntdx agent push ./agents/my-project/support-agent/ [options]\n","lang":"bash"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Options:"]}]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["--dry-run"]},": Preview changes without pushing"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["-f, --force"]},": Push without confirmation"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["-y, --yes"]},": Skip confirmation prompts"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Examples:"]}]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"bash","header":{"controls":{"copy":{}}},"source":"# Push from current directory\ntdx agent push\n\n# Push from specific directory\ntdx agent push ./agents/my-project/\n\n# Push specific agent\ntdx agent push ./agents/my-project/support-agent/\n\n# Preview push changes (no changes made)\ntdx agent push --dry-run\n\n# Push without confirmation prompt\ntdx agent push --yes\n","lang":"bash"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Output:"]}]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"header":{"controls":{"copy":{}}},"source":"Push summary for 'My LLM Project':\n  + 2 new | ~ 3 changed | = 15 unchanged\n  Agents: 0 new, 2 updated, 8 unchanged\n  Knowledge Bases: 1 new, 0 updated, 2 unchanged\n  Text Knowledge Bases: 1 new, 0 updated, 1 unchanged\n  Prompts: 0 new, 0 updated, 2 unchanged\n  Integrations: 0 new, 1 updated, 1 unchanged\n  Form Interfaces: 0 new, 0 updated, 1 unchanged\n  Chat Interfaces: 0 new, 1 updated, 0 unchanged\n  Source: agents/my-llm-project/\n\nChanges to agent 'Support Agent':\n────────────────────────────────────────────────────────────────\n- temperature: 0.5\n+ temperature: 0.7\n────────────────────────────────────────────────────────────────\n\nPush 5 resources? [y/N]\n\n✔ Pushed 5 resources to 'My LLM Project'\nProject: https://console-next.us01.treasuredata.com/app/af/12345/ag\n"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["When pushing a single agent, the chat URL is shown:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"header":{"controls":{"copy":{}}},"source":"✔ Agent updated successfully\nAgent: Support Agent\nChat: https://console-next.us01.treasuredata.com/app/af/12345/ag/67890/tc\n"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"clone","__idx":26},"children":["clone"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Clone an LLM project to create a new project with all agents, knowledge bases, prompts, form interfaces, and chat interfaces."]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"bash","header":{"controls":{"copy":{}}},"source":"# Clone from remote project\ntdx agent clone <project> --name <new-name>\n\n# Clone from local directory\ntdx agent clone <local-dir> --name <new-name>\n\n# Clone from context (llm_project)\ntdx agent clone --name <new-name>\n","lang":"bash"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Options:"]}]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["-n, --name <name>"]},": Name for the new project (required)"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["--dry-run"]},": Preview what would be cloned without making changes"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["-y, --yes"]},": Skip confirmation prompts"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["--profile <name>"]},": Target profile for the new project (for cross-profile cloning)"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Examples:"]}]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"bash","header":{"controls":{"copy":{}}},"source":"# Clone a project to a new name\ntdx agent clone \"Production Agents\" --name \"Staging Agents\"\n\n# Clone from local files (useful for cross-profile deployment)\ntdx agent clone ./agents/my-project/ --name \"New Project\" --profile production\n\n# Preview what would be cloned\ntdx agent clone \"My Project\" --name \"My Project Copy\" --dry-run\n\n# Clone without confirmation\ntdx agent clone \"My Project\" --name \"My Project Copy\" --yes\n","lang":"bash"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Output:"]}]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"header":{"controls":{"copy":{}}},"source":"Clone \"Production Agents\" to new project \"Staging Agents\"? [y/N] y\n✔ Project cloned successfully\nSource: Production Agents\nNew project: Staging Agents\nNew project ID: 12345\n\nSummary:\n  Agents: 5 created\n  Knowledge Bases: 2 created\n  Text Knowledge Bases: 1 created\n  Prompts: 3 created\n  Integrations: 1 created\n  Form Interfaces: 1 created\n  Chat Interfaces: 1 created\n\nContext set: llm_project = Staging Agents\nProject: https://console-next.us01.treasuredata.com/app/af/12345/ag\n"},"children":[]},{"$$mdtype":"Tag","name":"Admonition","attributes":{"type":"success","name":"Cross-Profile Cloning"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["To clone a project to a different profile (e.g., from default to production):"]},{"$$mdtype":"Tag","name":"ol","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["First pull the project locally: ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["tdx agent pull \"MyProject\""]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Then clone from local files: ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["tdx agent clone ./agents/my-project/ --name \"MyProject-Prod\" --profile production"]}]}]}]},{"$$mdtype":"Tag","name":"Admonition","attributes":{"type":"info","name":"Integration Support in Clone"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Safe integrations"]}," (Generic Chat, Agent Console, Parent Segment) are included in clone operations."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Sensitive integrations"]}," (Slack, Webhook) are ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["not"]}," cloned because they contain secrets. Configure these manually in the TD console for each environment."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"test","__idx":27},"children":["test"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Run automated tests against an agent using YAML test definitions. Tests are evaluated by a judge agent (Claude Sonnet 4.5) for binary pass/fail results."]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"bash","header":{"controls":{"copy":{}}},"source":"# Run tests from current agent directory\ntdx agent test\n\n# Run tests from a specific path\ntdx agent test <path>\n\n# Run tests from test.yml file\ntdx agent test ./agents/my-project/my-agent/test.yml\n","lang":"bash"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Options:"]}]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["-n, --name <name>"]},": Filter to specific test(s) by name (can be repeated)"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["--tags <tags>"]},": Filter to tests with specific tags (comma-separated)"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["--dry-run"]},": Parse and validate test definitions without running"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["--no-eval"]},": Run conversations without evaluation (useful for debugging)"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["--reeval"]},": Re-evaluate last test run with updated criteria (skip conversation generation)"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Examples:"]}]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"bash","header":{"controls":{"copy":{}}},"source":"# Run all tests in current agent directory\ntdx agent test\n\n# Run tests from specific agent\ntdx agent test ./agents/my-project/my-agent/\n\n# Run only specific tests\ntdx agent test --name \"greeting_test\" --name \"context_test\"\n\n# Run tests with specific tags\ntdx agent test --tags \"smoke\"\ntdx agent test --tags \"smoke,regression\"\n\n# Validate test file without running\ntdx agent test --dry-run\n\n# Run without evaluation (just execute conversations)\ntdx agent test --no-eval\n\n# Re-evaluate last test run with updated criteria\ntdx agent test --reeval\n\n# Re-evaluate specific tests only\ntdx agent test --reeval --name \"greeting_test\"\n","lang":"bash"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Output:"]}]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"header":{"controls":{"copy":{}}},"source":"Running tests for my-agent...\nSetting up evaluator agent...\n\nTest 1/3: greeting_test\n  Round 1: Hello → ✓ PASS\n\nTest 2/3: calculation_test\n  Round 1: What is 2+2? → ✓ PASS\n\nTest 3/3: context_test\n  Round 1: My name is Alice → ✓ PASS\n  Round 2: What's my name? → ✓ PASS\n\n━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\nResults: 3 passed, 0 failed\nDuration: 12.3s\n"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"test-file-format","__idx":28},"children":["Test File Format"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Create a ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["test.yml"]}," file in your agent directory alongside ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["agent.yml"]},":"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"header":{"controls":{"copy":{}}},"source":"agents/\n└── my-project/\n    └── my-agent/\n        ├── agent.yml\n        ├── prompt.md\n        └── test.yml      # Test definitions\n"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":4,"id":"flat-format-single-round-tests","__idx":29},"children":["Flat Format (Single-Round Tests)"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["For simple tests with a single user input and criteria:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"yaml","header":{"controls":{"copy":{}}},"source":"tests:\n  - name: greeting_test\n    tags: [smoke, core]\n    user_input: Hello\n    criteria: Should respond with a friendly greeting\n\n  - name: calculation_test\n    tags: [regression]\n    user_input: What is 2 + 2?\n    criteria: Should respond with the correct answer (4)\n\n  - name: help_request\n    user_input: How do I reset my password?\n    criteria: Should provide clear password reset instructions\n","lang":"yaml"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["tags"]}," field is optional and can be used to categorize tests for filtering with ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["--tags"]},"."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":4,"id":"rounds-format-multi-round-tests","__idx":30},"children":["Rounds Format (Multi-Round Tests)"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["For tests requiring multiple conversation turns:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"yaml","header":{"controls":{"copy":{}}},"source":"tests:\n  - name: context_memory_test\n    tags: [memory, core]\n    rounds:\n      - user_input: My name is Alice\n        criteria: Should acknowledge the name\n      - user_input: What's my name?\n        criteria: Should remember and respond with \"Alice\"\n\n  - name: multi_step_task\n    tags: [workflow, regression]\n    rounds:\n      - user_input: I want to analyze sales data\n        criteria: Should ask clarifying questions about the data\n      - user_input: It's in the sales_2024 table\n        criteria: Should acknowledge and proceed with analysis\n      - user_input: Show me top products\n        criteria: Should provide a list of top-selling products\n","lang":"yaml"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":4,"id":"mixed-format","__idx":31},"children":["Mixed Format"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["You can combine both formats in the same file:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"yaml","header":{"controls":{"copy":{}}},"source":"tests:\n  # Simple single-round tests\n  - name: basic_greeting\n    user_input: Hi there!\n    criteria: Should greet back politely\n\n  - name: simple_question\n    user_input: What time is it?\n    criteria: Should explain it cannot tell time or ask for context\n\n  # Complex multi-round test\n  - name: data_analysis_workflow\n    rounds:\n      - user_input: I need help with customer segmentation\n        criteria: Should ask about the data source and segmentation goals\n      - user_input: Use the customers table, segment by purchase frequency\n        criteria: Should propose a segmentation approach\n      - user_input: Looks good, proceed\n        criteria: Should execute the segmentation and show results\n","lang":"yaml"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"writing-good-criteria","__idx":32},"children":["Writing Good Criteria"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Criteria should be clear and specific about what constitutes a pass:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"yaml","header":{"controls":{"copy":{}}},"source":"# ✓ Good - specific and measurable\ncriteria: Should respond with the number 4\n\n# ✓ Good - describes expected behavior\ncriteria: Should ask for the customer's email address before proceeding\n\n# ✓ Good - includes negative constraints\ncriteria: Should provide help without mentioning competitor products\n\n# ✗ Bad - too vague\ncriteria: Should give a good response\n\n# ✗ Bad - subjective\ncriteria: Should be helpful and friendly\n","lang":"yaml"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"how-evaluation-works","__idx":33},"children":["How Evaluation Works"]},{"$$mdtype":"Tag","name":"ol","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Test Execution"]},": Each round sends the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["user_input"]}," to your agent and waits for a response"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["History Retrieval"]},": After all rounds complete, the full conversation history is fetched from the API"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Evaluation"]},": For each round, the judge agent (Claude Sonnet 4.5) evaluates whether the agent's response meets the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["criteria"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Results"]},": Each round gets a PASS or FAIL result with a reason"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The evaluator agent is automatically created in your default project (",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["tdx_default_<username>"]},") the first time you run tests."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"re-evaluating-tests","__idx":34},"children":["Re-evaluating Tests"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["When iterating on evaluation criteria, you can skip conversation generation and re-evaluate the last test run:"]},{"$$mdtype":"Tag","name":"ol","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Initial Run"]},": Execute tests normally to generate conversations"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"bash","header":{"controls":{"copy":{}}},"source":"tdx agent test\n","lang":"bash"},"children":[]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Edit Criteria"]},": Modify ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["test.yml"]}," to refine your criteria"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Re-evaluate"]},": Run with ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["--reeval"]}," to test new criteria against cached conversations"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"bash","header":{"controls":{"copy":{}}},"source":"tdx agent test --reeval\n","lang":"bash"},"children":[]}]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The cached conversations are stored in ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":[".cache/tdx/last_agent_test_run.json"]}," relative to your working directory. The cache includes:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Chat IDs for conversation URLs"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Agent responses for each round"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Original test metadata"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Handling new tests:"]}," If you add new tests to ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["test.yml"]}," that weren't in the cached run, they will be executed normally (generating new conversations) while existing tests use the cache."]},{"$$mdtype":"Tag","name":"Admonition","attributes":{"type":"success","name":"Criteria Development Workflow"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Use ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["--reeval"]}," to rapidly iterate on criteria without waiting for new conversations."," ","Once criteria are stable, run a fresh test to verify end-to-end behavior."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"workflow","__idx":35},"children":["Workflow"]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"initial-setup","__idx":36},"children":["Initial Setup"]},{"$$mdtype":"Tag","name":"ol","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Pull a project to create local files:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"bash","header":{"controls":{"copy":{}}},"source":"tdx agent pull \"My LLM Project\"\n","lang":"bash"},"children":[]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["This creates the folder structure with all agents and resources"]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"making-changes","__idx":37},"children":["Making Changes"]},{"$$mdtype":"Tag","name":"ol","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Edit the YAML/Markdown files with your favorite editor"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Preview changes:",{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"bash","header":{"controls":{"copy":{}}},"source":"tdx agent push --dry-run\n","lang":"bash"},"children":[]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Push changes:",{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"bash","header":{"controls":{"copy":{}}},"source":"tdx agent push\n","lang":"bash"},"children":[]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"testing-agents","__idx":38},"children":["Testing Agents"]},{"$$mdtype":"Tag","name":"ol","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Create a ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["test.yml"]}," file in your agent directory:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"yaml","header":{"controls":{"copy":{}}},"source":"tests:\n  - name: basic_functionality\n    user_input: Hello, can you help me?\n    criteria: Should respond with a helpful greeting\n","lang":"yaml"},"children":[]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Run tests:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"bash","header":{"controls":{"copy":{}}},"source":"tdx agent test\n","lang":"bash"},"children":[]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Review results and iterate on your agent's prompt until tests pass"]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"version-control","__idx":39},"children":["Version Control"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The YAML/Markdown format is designed for version control:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Human-readable diffs"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Easy code reviews"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Branch and merge workflows"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Git history for audit trails"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Test definitions versioned alongside agent code"]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"comparison-with-legacy-commands","__idx":40},"children":["Comparison with Legacy Commands"]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Feature"},"children":["Feature"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"agent pull/push/clone"},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["agent pull/push/clone"]}]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"llm project backup/restore (deprecated)"},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["llm project backup/restore"]}," (deprecated)"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Format"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["YAML/Markdown"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["JSON"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Human-editable"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Yes"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["No"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Git-friendly"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Yes"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["No"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Selective sync"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Yes (single agent)"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["No (full project)"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Cross-profile clone"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Yes"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["No"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Safe integrations"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Included (Generic Chat, etc.)"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Included"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Form/Chat interfaces"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Included"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Not supported"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Sensitive integrations"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Not included (Slack, Webhook)"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Included"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Use case"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Development workflow"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Legacy disaster recovery"]}]}]}]}]},{"$$mdtype":"Tag","name":"Admonition","attributes":{"type":"warning","name":"Deprecated Commands"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["tdx llm project backup/restore"]}," commands are deprecated. Use:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["tdx agent pull"]}," instead of ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["backup"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["tdx agent push"]}," instead of ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["restore"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["tdx agent clone"]}," for copying projects"]}]}]}]},"headings":[{"value":"Agent Commands","id":"agent-commands","depth":1},{"value":"Overview","id":"overview","depth":2},{"value":"Typical Usage","id":"typical-usage","depth":2},{"value":"Folder Structure","id":"folder-structure","depth":2},{"value":"File Formats","id":"file-formats","depth":2},{"value":"tdx.json","id":"tdxjson","depth":3},{"value":"agent.yml","id":"agentyml","depth":3},{"value":"Tools Configuration","id":"tools-configuration","depth":4},{"value":"Variables Configuration","id":"variables-configuration","depth":4},{"value":"prompt.md","id":"promptmd","depth":3},{"value":"starter_message.md","id":"starter_messagemd","depth":3},{"value":"knowledge_bases/{name}.yml (Table-based)","id":"knowledge_basesnameyml-table-based","depth":3},{"value":"knowledge_bases/{name}.md (Text-based)","id":"knowledge_basesnamemd-text-based","depth":3},{"value":"prompts/{name}.yml","id":"promptsnameyml","depth":3},{"value":"integrations/{service-type}.yml","id":"integrationsservice-typeyml","depth":3},{"value":"form_interfaces/{name}.yml","id":"form_interfacesnameyml","depth":3},{"value":"chat_interfaces/{name}.yml","id":"chat_interfacesnameyml","depth":3},{"value":"Reference Syntax","id":"reference-syntax","depth":2},{"value":"Commands","id":"commands","depth":2},{"value":"list","id":"list","depth":3},{"value":"show","id":"show","depth":3},{"value":"create","id":"create","depth":3},{"value":"update","id":"update","depth":3},{"value":"delete","id":"delete","depth":3},{"value":"pull","id":"pull","depth":3},{"value":"push","id":"push","depth":3},{"value":"clone","id":"clone","depth":3},{"value":"test","id":"test","depth":3},{"value":"Test File Format","id":"test-file-format","depth":3},{"value":"Flat Format (Single-Round Tests)","id":"flat-format-single-round-tests","depth":4},{"value":"Rounds Format (Multi-Round Tests)","id":"rounds-format-multi-round-tests","depth":4},{"value":"Mixed Format","id":"mixed-format","depth":4},{"value":"Writing Good Criteria","id":"writing-good-criteria","depth":3},{"value":"How Evaluation Works","id":"how-evaluation-works","depth":3},{"value":"Re-evaluating Tests","id":"re-evaluating-tests","depth":3},{"value":"Workflow","id":"workflow","depth":2},{"value":"Initial Setup","id":"initial-setup","depth":3},{"value":"Making Changes","id":"making-changes","depth":3},{"value":"Testing Agents","id":"testing-agents","depth":3},{"value":"Version Control","id":"version-control","depth":3},{"value":"Comparison with Legacy Commands","id":"comparison-with-legacy-commands","depth":2}],"frontmatter":{"seo":{"title":"tdx agent - LLM Agent Management | Treasure Data","description":"Manage LLM agents with YAML/Markdown files. Pull, push, clone, and test AI agents in Treasure Data.","image":"/assets/og-image.ba836864a30434f560a4f7720f8a09019ad30ff828b20c5052ae933ba7121524.d7ef4821.png"}},"lastModified":"2026-05-18T01:25:54.000Z","pagePropGetterError":{"message":"","name":""}},"slug":"/treasure-code/commands/agent","userData":{"isAuthenticated":false,"teams":["anonymous"]},"isPublic":true}