> ## Documentation Index
> Fetch the complete documentation index at: https://docs.r28.ai/charter/llms.txt
> Use this file to discover all available pages before exploring further.

# Objects

> Every object and enum the Git tools accept.

## Model tree

<div className="model-tree"><div className="model-tree-scroll"><div className="tree-node"><a href="#treeentry">TreeEntry</a></div><div className="tree-node"><a href="#gitcommitauthor">GitCommitAuthor</a></div></div></div>

## TreeEntry

One path in a tree: what is at it, and in what mode.

<div className="reference-table">
  | Field                                                        | Type                            | Description                                                                                                                                                                                                     |
  | ------------------------------------------------------------ | ------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
  | `path` <span className="required" title="required">\*</span> | `string`                        | The file referenced in the tree.                                                                                                                                                                                |
  | `mode`                                                       | [TreeEntryMode](#treeentrymode) | The file mode; one of `100644` for file (blob), `100755` for executable (blob), `040000` for subdirectory (tree), `160000` for submodule (commit), or `120000` for a blob that specifies the path of a symlink. |
  | `type`                                                       | [TreeEntryType](#treeentrytype) | Either `blob`, `tree`, or `commit`.                                                                                                                                                                             |
  | `sha`                                                        | `string`                        | The SHA1 checksum ID of an existing object to place at this path, from `git_blobs_create`. Use either this or `content`, never both.                                                                            |
  | `content`                                                    | `string`                        | The content you want this file to have, as plain text. GitHub will write this blob out and use that SHA for this entry. Use either this or `sha`.                                                               |
  | `delete`                                                     | `boolean`                       | Set true to remove this path from the tree. GitHub answers with an error if the path is not in `base_tree`.                                                                                                     |
</div>

## GitCommitAuthor

Who a Git commit object is attributed to.

<div className="reference-table">
  | Field                                                         | Type     | Description                                                                                                             |
  | ------------------------------------------------------------- | -------- | ----------------------------------------------------------------------------------------------------------------------- |
  | `name` <span className="required" title="required">\*</span>  | `string` | The name of the author (or committer) of the commit.                                                                    |
  | `email` <span className="required" title="required">\*</span> | `string` | The email of the author (or committer) of the commit.                                                                   |
  | `date`                                                        | `string` | Indicates when this commit was authored (or committed). This is a timestamp in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`. |
</div>

## BlobEncoding

<div className="enum-table">
  | Value    |
  | -------- |
  | `utf-8`  |
  | `base64` |
</div>

## TagObjectType

<div className="enum-table">
  | Value    |
  | -------- |
  | `commit` |
  | `tree`   |
  | `blob`   |
</div>

## TreeEntryMode

<div className="enum-table">
  | Value    |
  | -------- |
  | `100644` |
  | `100755` |
  | `040000` |
  | `160000` |
  | `120000` |
</div>

## TreeEntryType

<div className="enum-table">
  | Value    |
  | -------- |
  | `blob`   |
  | `tree`   |
  | `commit` |
</div>
