package dto

type (
	// AgentDocRequest is the JSON request body for updating an agent doc
	// (memory/system/identity.md).
	AgentDocRequest struct {
		Content string `json:"content"`
	}

	// AgentDocResponse is the JSON response for reading an agent doc.
	AgentDocResponse struct {
		Kind    string `json:"kind"`
		Content string `json:"content"`
	}

	// AgentWorkspaceNode is one file or directory in an agent workspace tree.
	AgentWorkspaceNode struct {
		Name       string               `json:"name"`
		Path       string               `json:"path"`
		IsDir      bool                 `json:"isDir"`
		Size       int64                `json:"size,omitempty"`
		ModifiedAt string               `json:"modifiedAt,omitempty"`
		Children   []AgentWorkspaceNode `json:"children,omitempty"`
	}

	// AgentWorkspaceTreeResponse is the JSON response for listing an agent
	// workspace tree.
	AgentWorkspaceTreeResponse struct {
		Root      string               `json:"root"`
		Nodes     []AgentWorkspaceNode `json:"nodes"`
		Truncated bool                 `json:"truncated,omitempty"`
	}

	// AgentWorkspaceFileResponse is the JSON response for previewing one file
	// in an agent workspace.
	AgentWorkspaceFileResponse struct {
		Path       string `json:"path"`
		Name       string `json:"name"`
		Size       int64  `json:"size"`
		ModifiedAt string `json:"modifiedAt,omitempty"`
		Content    string `json:"content,omitempty"`
		Binary     bool   `json:"binary,omitempty"`
		Truncated  bool   `json:"truncated,omitempty"`
	}
)
