After analyzing the codebase, I've identified 7 major feature groups in the goose crate and 3 feature groups in goose-mcp that could be made optional. This would significantly reduce compile times and binary size for users who don't need all providers or features.
This file has been truncated, but you can view the full file.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Warning: Permanently added '163.109.86.59' (ED25519) to the list of known hosts. | |
| You can reproduce this build on your computer by running: | |
| sudo dnf install copr-rpmbuild | |
| /usr/bin/copr-rpmbuild --verbose --drop-resultdir --task-url https://copr.fedorainfracloud.org/backend/get-build-task/10187154-fedora-43-s390x --chroot fedora-43-s390x | |
| Version: 1.6 | |
| PID: 2954 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| r0x0d@toolbx ~/Workspace/fedora/goose/goose-1.23.2 (main)> cargo tree -i ring | |
| ring v0.17.9 | |
| ├── jsonwebtoken v9.3.1 | |
| │ └── goose v1.23.2 (/var/home/r0x0d/Workspace/fedora/goose/goose-1.23.2/crates/goose) | |
| │ ├── goose-acp v1.23.2 (/var/home/r0x0d/Workspace/fedora/goose/goose-1.23.2/crates/goose-acp) | |
| │ │ └── goose-cli v1.23.2 (/var/home/r0x0d/Workspace/fedora/goose/goose-1.23.2/crates/goose-cli) | |
| │ ├── goose-bench v1.23.2 (/var/home/r0x0d/Workspace/fedora/goose/goose-1.23.2/crates/goose-bench) | |
| │ │ └── goose-cli v1.23.2 (/var/home/r0x0d/Workspace/fedora/goose/goose-1.23.2/crates/goose-cli) | |
| │ ├── goose-cli v1.23.2 (/var/home/r0x0d/Workspace/fedora/goose/goose-1.23.2/crates/goose-cli) | |
| │ └── goose-server v1.23.2 (/var/home/r0x0d/Workspace/fedora/goose/goose-1.23.2/crates/goose-server) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| use serde::{Deserialize, Serialize}; | |
| use serde_json::Value; | |
| /// OpenAI chat completion request structure | |
| /// This matches what Goose will send | |
| #[derive(Debug, Serialize, Deserialize, Clone)] | |
| pub struct ChatCompletionRequest { | |
| /// Model ID | |
| pub model: String, | |
| /// List of messages |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| ChatCompletionRequest( | |
| messages=[ | |
| ChatMessage( | |
| role="system", | |
| content="You are a general-purpose AI agent called goose, created by Block, the parent company of Square, CashApp, and Tidal.\ngoose is being developed as an open-source software project.\n\nThe current date is 2025-11-04 12:00.\n\ngoose uses LLM providers with tool calling capability. You can be used with different language models (gpt-4o,\nclaude-sonnet-4, o1, llama-3.2, deepseek-r1, etc).\nThese models have varying knowledge cut-off dates depending on when they were trained, but typically it's between 5-10\nmonths prior to the current date.\n\n# Extensions\n\nExtensions allow other applications to provide context to goose. Extensions connect goose to different data sources and\ntools.\nYou are capable of dynamically plugging into new extensions and learning how to use them. You solve higher level\nproblems using the tools in these extensions, and can interact with multiple at once.\n\nIf the Extension Manager |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| FROM registry.access.redhat.com/ubi10/ubi:latest AS base | |
| ENV DNF_DEFAULT_OPTS -y --nodocs --setopt=keepcache=0 --setopt=tsflags=nodocs | |
| RUN dnf install ${DNF_DEFAULT_OPTS} \ | |
| python3.12 \ | |
| python3.12-pip | |
| FROM base as build |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| diff --git a/command_line_assistant/commands/README.md b/command_line_assistant/commands/README.md | |
| new file mode 100644 | |
| index 0000000..240428f | |
| --- /dev/null | |
| +++ b/command_line_assistant/commands/README.md | |
| @@ -0,0 +1,345 @@ | |
| +# Simplified Command Structure | |
| + | |
| +This directory contains a simplified, elegant command structure inspired by typer/click but using argparse. The new structure eliminates complex class hierarchies, factories, and operations in favor of a clean decorator-based approach with two powerful patterns: **action handlers** and **subcommands**. | |
| + |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # | |
| # Reply to a message in the chat room. | |
| # Start the server, start the listener and run the client. | |
| # | |
| import threading | |
| from dasbus.loop import EventLoop | |
| from common import CHAT | |
| event_stop = threading.Event() |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| diff --git a/command_line_assistant/commands/chat.py b/command_line_assistant/commands/chat.py | |
| index f50a7c0..d54c618 100644 | |
| --- a/command_line_assistant/commands/chat.py | |
| +++ b/command_line_assistant/commands/chat.py | |
| @@ -6,6 +6,7 @@ import platform | |
| from argparse import Namespace | |
| from enum import auto | |
| from io import TextIOWrapper | |
| +import threading | |
| from typing import ClassVar, Optional |
NewerOlder