nat.tool.github_tools#

Classes#

Functions#

github_tool(config, _builder)

Register the github function group with shared configuration.

github_files_tool(config, _builder)

Module Contents#

class GithubCreateIssueModel(/, **data: Any)#

Bases: pydantic.BaseModel

title: str = None#
body: str = None#
class GithubCreateIssueModelList(/, **data: Any)#

Bases: pydantic.BaseModel

issues: list[GithubCreateIssueModel] = None#
class GithubGetIssueModel(/, **data: Any)#

Bases: pydantic.BaseModel

state: Literal['open', 'closed', 'all'] | None = None#
assignee: str | None = None#
creator: str | None = None#
mentioned: str | None = None#
labels: list[str] | None = None#
since: str | None = None#
classmethod validate_since(v)#
class GithubGetIssueModelList(/, **data: Any)#

Bases: pydantic.BaseModel

filter_parameters: list[GithubGetIssueModel] = None#
class GithubUpdateIssueModel(/, **data: Any)#

Bases: pydantic.BaseModel

issue_number: str = None#
title: str | None = None#
body: str | None = None#
state: Literal['open', 'closed'] | None = None#
state_reason: Literal['completed', 'not_planned', 'reopened'] | None = None#
labels: list[str] | None = None#
assignees: list[str] | None = None#
class GithubUpdateIssueModelList(/, **data: Any)#

Bases: pydantic.BaseModel

issues: list[GithubUpdateIssueModel] = None#
class GithubCreatePullModel(/, **data: Any)#

Bases: pydantic.BaseModel

title: str = None#
body: str = None#
source_branch: str = None#
target_branch: str = None#
assignees: list[str] | None = None#
reviewers: list[str] | None = None#
class GithubCreatePullList(/, **data: Any)#

Bases: pydantic.BaseModel

pull_details: list[GithubCreatePullModel] = None#
class GithubGetPullsModel(/, **data: Any)#

Bases: pydantic.BaseModel

state: Literal['open', 'closed', 'all'] | None = None#
head: str | None = None#
base: str | None = None#
class GithubGetPullsModelList(/, **data: Any)#

Bases: pydantic.BaseModel

filter_parameters: list[GithubGetPullsModel] = None#
class GithubCommitCodeModel(/, **data: Any)#

Bases: pydantic.BaseModel

branch: str = None#
commit_msg: str = None#
local_path: str = None#
remote_path: str = None#
class GithubCommitCodeModelList(/, **data: Any)#

Bases: pydantic.BaseModel

updated_files: list[GithubCommitCodeModel] = None#
class GithubGroupConfig(/, **data: Any)#

Bases: nat.data_models.function.FunctionGroupBaseConfig

Function group for GitHub repository operations.

Exposes issue, pull request, and commit operations with shared configuration.

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

repo_name: str = None#
timeout: int = None#
local_repo_dir: str | None = None#
async github_tool(
config: GithubGroupConfig,
_builder: nat.builder.builder.Builder,
)#

Register the github function group with shared configuration.

Implements:
  • create_issue, get_issue, update_issue

  • create_pull, get_pull

  • commit

class GithubFilesGroupConfig(/, **data: Any)#

Bases: nat.data_models.function.FunctionBaseConfig

Subclass of Pydantic BaseModel that allows for specifying the object type. Use in Pydantic discriminated unions.

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

timeout: int = None#
async github_files_tool(
config: GithubFilesGroupConfig,
_builder: nat.builder.builder.Builder,
)#