Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26 changes: 26 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,32 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [0.9.3] - 2024-09-25

- feat: auto save sessions before next user input (#94)
- fix: removed the diff when default profile changes (#92)
- feat: add shell-completions subcommand (#76)
- chore: update readme! (#96)
- chore: update docs again (#77)
- fix: remove overly general match for long running commands (#87)
- fix: default ollama to tested model (#88)
- fix: Resize file in screen toolkit (#81)
- fix: enhance shell() to know when it is interactive (#66)
- docs: document how to run goose fully from source from any dir (#83)
- feat: track cost and token usage in log file (#80)
- chore: add link to docs in read me (#85)
- docs: add in ollama (#82)
- chore: add just command for releasing goose (#55)
- feat: support markdown plans (#79)
- feat: add version options (#74)
- docs: fixing exchange url to public version (#67)
- docs: Update CONTRIBUTING.md (#69)
- chore: create mkdocs for goose (#70)
- docs: fix broken link (#71)
- feat: give commands the ability to execute logic (#63)
- feat: jira toolkit (#59)
- feat: run goose in a docker-style sandbox (#44)

## [0.9.0] - 2024-09-10

This also updates the minimum version of exchange to 0.9.0.
Expand Down
4 changes: 2 additions & 2 deletions pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
[project]
name = "goose-ai"
description = "a programming agent that runs on your machine"
version = "0.9.0"
version = "0.9.3"
readme = "README.md"
requires-python = ">=3.10"
dependencies = [
"attrs>=23.2.0",
"rich>=13.7.1",
"ruamel-yaml>=0.18.6",
"ai-exchange>=0.9.2",
"ai-exchange>=0.9.3",
"click>=8.1.7",
"prompt-toolkit>=3.0.47",
]
Expand Down
15 changes: 6 additions & 9 deletions src/goose/cli/session.py
Original file line number Diff line number Diff line change
Expand Up @@ -45,8 +45,7 @@ def load_provider() -> str:


def load_profile(name: Optional[str]) -> Profile:
(profile_name, profile) = ensure_config(name)
print(Panel(f"[green]Using profile[/]: {profile_name}, {{{profile.profile_info()}}}"))
_, profile = ensure_config(name)
return profile


Expand Down Expand Up @@ -85,9 +84,9 @@ def __init__(
) -> None:
if name is None:
self.name = droid()
print(Panel(f"Session name not provided, using generated name: {self.name}"))
else:
self.name = name
self.profile = profile
self.status_indicator = Status("", spinner="dots")
self.notifier = SessionNotifier(self.status_indicator)

Expand Down Expand Up @@ -146,6 +145,9 @@ def run(self) -> None:
Runs the main loop to handle user inputs and responses.
Continues until an empty string is returned from the prompt.
"""
print(f"[dim]starting session | name:[cyan]{self.name}[/] profile:[cyan]{self.profile or 'default'}[/]")
print(f"[dim]saving to {self.session_file_path}")
print()
message = self.process_first_message()
while message: # Loop until no input (empty string).
self.notifier.start()
Expand Down Expand Up @@ -231,16 +233,11 @@ def session_file_path(self) -> Path:
return session_path(self.name)

def load_session(self) -> List[Message]:
message = (
f"session is going to be saved to [bold cyan]{self.session_file_path}[/bold cyan]."
+ " You can view it anytime."
)
print(Panel(message))
return read_or_create_file(self.session_file_path)

def _log_cost(self) -> None:
get_logger().info(get_total_cost_message(self.exchange.get_token_usage()))
print("You can view the cost and token usage in the log directory", LOG_PATH)
print(f"[dim]you can view the cost and token usage in the log directory {LOG_PATH}")


if __name__ == "__main__":
Expand Down