Skip to content

bskiser/build qchat script#2102

Closed
brandonskiser wants to merge 46 commits intomainfrom
bskiser/build-qchat-script
Closed

bskiser/build qchat script#2102
brandonskiser wants to merge 46 commits intomainfrom
bskiser/build-qchat-script

Conversation

@brandonskiser
Copy link
Copy Markdown
Contributor

@brandonskiser brandonskiser commented Jun 23, 2025

Issue #, if available:

Description of changes:

  • Adding the logic required for building (and signing) the qchat executable.
  • Created a new build script, will have a follow-up PR to remove all of the dead code inside scripts/. This was done just to minimize the diff for this PR.

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

kensave and others added 30 commits May 16, 2025 18:26
* [feat]: Add a new semantic_search_client crate that provides vector embedding and
    semantic search capabilities for the Amazon Q CLI. This implementation:

    - Supports text embedding generation using Candle and ONNX runtimes
    - Provides hardware acceleration via Metal on macOS
    - Implements efficient vector indexing for semantic search
    - Includes file processing utilities for various file types
    - Supports persistent storage of semantic contexts
    - Includes comprehensive test coverage

    This crate will enable memory bank functionality for Amazon Q, allowing
    users to create, manage, and search through semantic memory contexts.

    🤖 Assisted by [Amazon Q Developer](https://aws.amazon.com/q/developer)

* Update semantic_search_client dependencies in Cargo.toml

* Refactor embedder implementation for Linux platforms to use trait objects

This change modifies the semantic search client to use Box<dyn TextEmbedderTrait>
on Linux platforms instead of directly using CandleTextEmbedder. This provides
more flexibility and consistency with the implementation on macOS and Windows,
allowing for better extensibility and polymorphic behavior across all platforms.

* Update Cargo.lock file

* Remove redundant CandleTextEmbedder import for non-macOS/Windows platforms

* fix(semantic_search): Update conditional compilation flags for embedders

Update conditional compilation flags to match the new embedding model selection logic:
- Replace target_env="musl" conditions with target_os conditions
- Update TextEmbedder trait implementation to use macOS/Windows condition
- Ensure consistent conditions across all files

🤖 Assisted by [Amazon Q Developer](https://aws.amazon.com/q/developer)

---------

Co-authored-by: Kenneth Sanchez V <kennvene@amazon.com>
Co-authored-by: Kenneth Sanchez V <kennvene@amazon.com>
* fix Build

* fix: Removes flakey test

---------

Co-authored-by: Kenneth Sanchez V <kennvene@amazon.com>
- Tools and prompts are sorted by MCP server alphabetically. Built-in tools always come come first
- Within each category (MCP), they are sorted by name alphabetically.
- Slightly adjust /tools footer.
… as default (#1888)

- Removed ONNX embedder implementation and fastembed dependency
- Updated conditional compilation to use Candle on all platforms except Linux ARM
- Fixed duplicate implementations in error.rs
- Updated benchmark tests to remove ONNX references

🤖 Assisted by [Amazon Q Developer](https://aws.amazon.com/q/developer)

Co-authored-by: Kenneth Sanchez V <kennvene@amazon.com>
* chore: update amazon clients

* chore: update windows-core in lockfile

* chore: exclude semantic search crate
* Revert "chore: exclude semantic search crate"

This reverts commit 6fe1e3e.

* fix(semantic_search): Fix VectorIndex is_empty implementation

The VectorIndex.is_empty() method was incorrectly checking if ef_construction
was equal to 100 to determine if the index was empty. This approach was
unreliable and caused test failures. This change adds a proper counter to
track the number of elements in the index and updates is_empty() to check
this counter instead.

🤖 Assisted by [Amazon Q Developer](https://aws.amazon.com/q/developer)

---------

Co-authored-by: Kenneth Sanchez V <kennvene@amazon.com>
* precomputes total number of servers in loading prior to spawning display task

* changes display task to use async task instead of spawn blocking

* waits on notify instead of display task for initial loading

* includes time taken in warning and error

* adds slash command to show mcp server load messages

* includes mcps that fail to start in /mcp

* surfaces command error for mcp servers in non-interactive mode

* only surfaces timeout warning in non-interactive mode with one or more server in the client list

* adds copy change for /mcp

* uses a hash set of server names to keep track of the number of initialized servers

* only shows mcp non-interactive msg in non-interactive mode
* chore: add logs for refreshing token

* fix: save device registration when launching chat
Co-authored-by: Brandon Kiser <bskiser@amazon.com>
* remove autocomplete

* fix cargo

* remove typos config

* remove mise and fix deny

* fix tests
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

8 participants