Skip to main content

A shell for your agent.

Project description

A shell for your agent. Track state and history, multiple shells, and more.

Lint and Test PyPI version

Installation

pip install agentshell

Documentation

get_files_in_cwd(shell_id=None)

Returns a list of files in the current directory of a specific shell. If shell_id is not specified, uses the current shell.

Parameters:

  • shell_id: The unique identifier of the shell.

Returns:

  • A list of filenames in the current directory.

get_current_shell()

Returns the unique identifier of the current shell. If no shell is currently active, creates a new shell and returns its identifier.

Returns:

  • The unique identifier of the current shell.

set_cwd(cwd, shell_id=None)

Sets the current working directory of a specific shell. If shell_id is not specified, uses the current shell.

Parameters:

  • cwd: The new current working directory.
  • shell_id: The unique identifier of the shell.

set_current_shell(shell_id)

Sets the current shell to the shell with the specified identifier.

Parameters:

  • shell_id: The unique identifier of the shell to be made current.

get_history(shell_id=None, n_limit=20)

Returns the command history of a specific shell. If shell_id is not specified, uses the current shell.

Parameters:

  • shell_id: The unique identifier of the shell.
  • n_limit: The maximum number of history entries to return.

Returns:

  • A list of dictionaries, each representing a command and its result.

get_history_formatted(shell_id=None)

Returns the command history of a specific shell in a human-readable format. If shell_id is not specified, uses the current shell.

Parameters:

  • shell_id: The unique identifier of the shell.

Returns:

  • The command history in human-readable format.

add_to_shell_history(shell_id, command, success, output, error=None)

Adds a command and its result to the history of a specific shell.

Parameters:

  • shell_id: The unique identifier of the shell.
  • command: The command that was executed.
  • success: Whether the command was successful.
  • output: The output of the command.
  • error: Any error messages produced by the command.

clear_history(shell_id)

Clears the command history of a specific shell.

Parameters:

  • shell_id: The unique identifier of the shell.

wipe_all()

Clears all shell and shell history data.

list_active_shells()

Returns a list of active shells.

Returns:

  • A list of shell identifiers.

close_shell(shell_id)

Closes a specific shell, clearing its history.

Parameters:

  • shell_id: The unique identifier of the shell.

new_shell()

Creates a new shell and returns its unique identifier.

Returns:

  • The unique identifier of the new shell.

get_cwd(shell_id=None)

Returns the current working directory of a specific shell. If shell_id is not specified, uses the current shell.

Parameters:

  • shell_id: The unique identifier of the shell.

Returns:

  • The current working directory of the shell.

run_command(command, shell_id=None)

Runs a command in a specific shell and adds it to the shell's history. If shell_id is not specified, uses the current shell.

Parameters:

  • command: The command to execute.
  • shell_id: The unique identifier of the shell.

Returns:

  • True if the command was successful, False otherwise.

Contributions Welcome

If you like this library and want to contribute in any way, please feel free to submit a PR and I will review it. Please note that the goal here is simplicity and accesibility, using common language and few dependencies.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

agentshell-0.0.7.tar.gz (6.5 kB view hashes)

Uploaded Source

Built Distribution

agentshell-0.0.7-py3-none-any.whl (6.9 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page