mirror of
https://github.com/babichjacob/ac-qu-ai-nt.git
synced 2025-10-02 16:57:53 -04:00
Compare commits
157 Commits
ac-qu-ai-n
...
6c50f6bd20
Author | SHA1 | Date | |
---|---|---|---|
![]() |
6c50f6bd20 | ||
![]() |
b5c7dfe667 | ||
![]() |
72a33524a5 | ||
![]() |
1d7d24aa07 | ||
![]() |
24f60fbca2 | ||
![]() |
0c1af2ba42 | ||
![]() |
7455d2a908 | ||
![]() |
7f38eb81c6 | ||
![]() |
1d94489a89 | ||
![]() |
833cc52252 | ||
![]() |
f392562f81 | ||
![]() |
3169ab4cda | ||
![]() |
7480cdcf96 | ||
![]() |
aee2678638 | ||
![]() |
aa0e7481d6 | ||
![]() |
4a31e2311e | ||
![]() |
3fd754fbd2 | ||
![]() |
786949f79c | ||
![]() |
45e5c037ce | ||
![]() |
09c42f0546 | ||
![]() |
1c436c8fb4 | ||
![]() |
6717af965d | ||
![]() |
4e6d56c044 | ||
![]() |
844494b2ca | ||
![]() |
c60856c7d1 | ||
![]() |
22733f51e0 | ||
![]() |
c1bab4d55e | ||
![]() |
6036d40def | ||
![]() |
0f7cd069bb | ||
![]() |
dace2d531a | ||
![]() |
402a6894e1 | ||
![]() |
93a8dc907b | ||
![]() |
32aa88af49 | ||
![]() |
cddad34b0a | ||
![]() |
1e683ee2df | ||
![]() |
139548ffc7 | ||
![]() |
efa41c169c | ||
![]() |
4940e4a431 | ||
![]() |
8b0b5d0839 | ||
![]() |
b7eb5330b5 | ||
![]() |
ce1b66d516 | ||
![]() |
1c7cbc1e72 | ||
![]() |
b1e707a77a | ||
![]() |
a1a2712895 | ||
![]() |
5b91d2515d | ||
![]() |
9b38919fc1 | ||
![]() |
74157b1298 | ||
![]() |
ff6842ad3d | ||
![]() |
5f52981141 | ||
![]() |
2404c8c035 | ||
![]() |
0988559fff | ||
![]() |
57c37edd34 | ||
![]() |
35c82f2092 | ||
![]() |
50af83f1f8 | ||
![]() |
7202c4fb2a | ||
![]() |
2446ea761a | ||
![]() |
bffcf90de2 | ||
![]() |
65eaeee0e9 | ||
![]() |
ae372981f9 | ||
2f86ab7d39 | |||
5d7a0a26e0 | |||
6c1cc2b777 | |||
![]() |
cf2311b250 | ||
![]() |
8e172b8aaa | ||
![]() |
cd06bc3504 | ||
![]() |
e170f2e67a | ||
![]() |
bade8b8897 | ||
![]() |
68d6250438 | ||
![]() |
47fc0cbbed | ||
![]() |
f418955f23 | ||
![]() |
d80d43d330 | ||
![]() |
7e1bd57b98 | ||
![]() |
44d8066d8c | ||
![]() |
0849726ef6 | ||
![]() |
95e764f8cc | ||
![]() |
cf7d4aca1c | ||
![]() |
76ba24a895 | ||
![]() |
44790c9706 | ||
![]() |
970aeb6dc1 | ||
![]() |
ab03d078d1 | ||
![]() |
54ae1dd8ba | ||
![]() |
eab33bcf08 | ||
![]() |
10b798580d | ||
![]() |
870af4adad | ||
![]() |
179eeab601 | ||
![]() |
feb0d150c4 | ||
![]() |
dc17a8c5cd | ||
![]() |
900b39d29b | ||
![]() |
4e159f7b71 | ||
![]() |
87ebfed048 | ||
![]() |
9f34e73729 | ||
![]() |
98224e6008 | ||
![]() |
4ea63f731e | ||
![]() |
062c31bd9a | ||
![]() |
7d76b61c76 | ||
![]() |
83fa6398cf | ||
![]() |
18cb5043cf | ||
![]() |
dbccf23a50 | ||
![]() |
a2c3013fd5 | ||
![]() |
1175fa22d6 | ||
![]() |
13b7053386 | ||
![]() |
972129536f | ||
![]() |
ae7de503a4 | ||
![]() |
21df8d1781 | ||
![]() |
e5707cb106 | ||
![]() |
7f450568f2 | ||
![]() |
e2bf39e2c1 | ||
![]() |
e96081486a | ||
![]() |
63ffbf9f1a | ||
![]() |
65bdf6dd04 | ||
![]() |
43682dc3d3 | ||
![]() |
c25e628aa9 | ||
![]() |
1177376450 | ||
![]() |
f37d56edba | ||
![]() |
1854dc429c | ||
![]() |
3e69d65bcc | ||
![]() |
4c04f21dcb | ||
![]() |
c0ec64f06c | ||
![]() |
70e20e2e04 | ||
![]() |
12107daf6b | ||
![]() |
839f219469 | ||
![]() |
56ad1de3d4 | ||
![]() |
30dee5efa7 | ||
![]() |
52297c7b43 | ||
![]() |
b1520ae76b | ||
![]() |
ac42b4861c | ||
![]() |
499562853c | ||
![]() |
d6922c30c5 | ||
![]() |
b5935b8ab5 | ||
![]() |
5e0a2326ca | ||
![]() |
1493425540 | ||
![]() |
576a8e99c0 | ||
![]() |
01ce1e85a8 | ||
![]() |
cd788e1ab8 | ||
![]() |
65487b2378 | ||
![]() |
e4e2efafb9 | ||
![]() |
0fcdfdae30 | ||
![]() |
9e43655567 | ||
![]() |
0bc9424db6 | ||
![]() |
4a13d61e25 | ||
![]() |
376893e566 | ||
![]() |
c8cde7dffc | ||
![]() |
6f9b8e42e1 | ||
![]() |
59d976664f | ||
![]() |
95541183ef | ||
![]() |
b5e11f2c7f | ||
![]() |
b2dfa6f8f1 | ||
![]() |
75952c947a | ||
![]() |
15c8a69cf3 | ||
![]() |
2e764e0d24 | ||
![]() |
a0a52489e5 | ||
![]() |
1b636bcf7c | ||
![]() |
08d4e1b94c | ||
![]() |
bee8d9a21e | ||
![]() |
44fcea467a | ||
![]() |
69fc7865db | ||
![]() |
19efe3c6e3 |
244
.github/workflows/check-and-build-and-test.yml
vendored
244
.github/workflows/check-and-build-and-test.yml
vendored
@@ -3,6 +3,14 @@ name: Check, build, and test
|
|||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
branches: ["main"]
|
branches: ["main"]
|
||||||
|
# This workflow is definitely expensive for GitHub,
|
||||||
|
# so let's not let files that won't affect the project's ability to build and test trigger it
|
||||||
|
paths-ignore:
|
||||||
|
- ".github/**"
|
||||||
|
- "**/.gitignore"
|
||||||
|
- "**/CHANGELOG.md"
|
||||||
|
- "**/README.md"
|
||||||
|
- "**/LICENSE-*"
|
||||||
pull_request:
|
pull_request:
|
||||||
branches: ["main"]
|
branches: ["main"]
|
||||||
|
|
||||||
@@ -10,25 +18,243 @@ env:
|
|||||||
CARGO_TERM_COLOR: always
|
CARGO_TERM_COLOR: always
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
check-build-and-test:
|
audit-and-deny-and-clippy-and-formatting:
|
||||||
|
name: Check cargo-audit, cargo-deny, clippy, and formatting
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
timeout-minutes: 15
|
timeout-minutes: 4
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout repository
|
- name: Checkout repository
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
- name: Install Rust toolchain
|
- name: Install stable Rust toolchain
|
||||||
uses: dtolnay/rust-toolchain@stable
|
uses: dtolnay/rust-toolchain@stable
|
||||||
|
- name: Install cargo-audit
|
||||||
|
uses: taiki-e/install-action@cargo-audit
|
||||||
|
|
||||||
|
- uses: Swatinem/rust-cache@v2
|
||||||
|
|
||||||
|
- name: cargo-audit
|
||||||
|
run: cargo-audit audit --deny warnings
|
||||||
|
|
||||||
|
- name: cargo-deny
|
||||||
|
uses: EmbarkStudios/cargo-deny-action@v2
|
||||||
|
|
||||||
|
- name: Clippy
|
||||||
|
run: cargo clippy
|
||||||
|
env:
|
||||||
|
RUSTFLAGS: "--deny warnings"
|
||||||
|
|
||||||
|
- name: Formatting
|
||||||
|
run: cargo fmt --check --verbose
|
||||||
|
|
||||||
|
check-and-build:
|
||||||
|
strategy:
|
||||||
|
matrix:
|
||||||
|
minimal_or_latest:
|
||||||
|
- build_command: cargo minimal-versions build --direct --verbose
|
||||||
|
cache_key: minimal
|
||||||
|
check_command: cargo minimal-versions check --direct --verbose
|
||||||
|
job_name_suffix: with minimal versions of direct dependencies
|
||||||
|
|
||||||
|
- build_command: cargo build --verbose
|
||||||
|
cache_key: latest
|
||||||
|
check_command: cargo check --verbose
|
||||||
|
job_name_suffix: (with latest (typically) versions of dependencies)
|
||||||
|
|
||||||
|
supporteds:
|
||||||
|
- runner: macos-latest
|
||||||
|
target: aarch64-apple-darwin
|
||||||
|
|
||||||
|
- runner: macos-latest
|
||||||
|
target: x86_64-apple-darwin
|
||||||
|
|
||||||
|
- install_prerequisite: sudo apt-get update && sudo apt-get install musl-dev musl-tools gcc-aarch64-linux-gnu g++-aarch64-linux-gnu && sudo ln -s /bin/g++ /bin/musl-g++
|
||||||
|
runner: ubuntu-latest
|
||||||
|
target: aarch64-unknown-linux-gnu
|
||||||
|
|
||||||
|
- install_prerequisite: sudo apt-get update && sudo apt-get install musl-dev musl-tools gcc-aarch64-linux-gnu g++-aarch64-linux-gnu && sudo ln -s /bin/g++ /bin/musl-g++
|
||||||
|
runner: ubuntu-latest
|
||||||
|
target: aarch64-unknown-linux-musl
|
||||||
|
|
||||||
|
- runner: ubuntu-latest
|
||||||
|
target: x86_64-unknown-linux-gnu
|
||||||
|
|
||||||
|
- install_prerequisite: sudo apt-get update && sudo apt-get install musl-dev musl-tools && sudo ln -s /bin/g++ /bin/musl-g++
|
||||||
|
runner: ubuntu-latest
|
||||||
|
target: x86_64-unknown-linux-musl
|
||||||
|
|
||||||
|
# I would like to support this but I don't know how to install the dependencies to be able to
|
||||||
|
# - runner: windows-latest
|
||||||
|
# target: aarch64-pc-windows-gnullvm
|
||||||
|
|
||||||
|
- runner: windows-latest
|
||||||
|
target: aarch64-pc-windows-msvc
|
||||||
|
|
||||||
|
# I don't think supporting this is up to me
|
||||||
|
# I forgot where I learned this, but
|
||||||
|
# I don't think I can use a non-Rust dependency (i.e. llama.cpp) here
|
||||||
|
# - runner: windows-latest
|
||||||
|
# target: x86_64-pc-windows-gnu
|
||||||
|
|
||||||
|
- runner: windows-latest
|
||||||
|
target: x86_64-pc-windows-msvc
|
||||||
|
name: Check and build ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) ${{ matrix.minimal_or_latest.job_name_suffix }}
|
||||||
|
runs-on: ${{ matrix.supporteds.runner }}
|
||||||
|
timeout-minutes: 8
|
||||||
|
env:
|
||||||
|
# https://github.com/rust-lang/stacker/issues/80#issuecomment-1547991131
|
||||||
|
CARGO_TARGET_AARCH64_UNKNOWN_LINUX_GNU_LINKER: aarch64-linux-gnu-gcc
|
||||||
|
CARGO_TARGET_AARCH64_UNKNOWN_LINUX_MUSL_LINKER: aarch64-linux-gnu-gcc # TODO: shouldn't this be something to do with musl, not gcc?
|
||||||
|
steps:
|
||||||
|
- name: Checkout repository
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
|
- name: Install prerequisite build chain
|
||||||
|
if: matrix.supporteds.install_prerequisite
|
||||||
|
run: ${{ matrix.supporteds.install_prerequisite }}
|
||||||
|
|
||||||
|
- name: Install stable Rust toolchain
|
||||||
|
uses: dtolnay/rust-toolchain@stable
|
||||||
|
with:
|
||||||
|
targets: ${{ matrix.supporteds.target }}
|
||||||
|
|
||||||
|
- name: Install cargo-hack
|
||||||
|
uses: taiki-e/install-action@cargo-hack
|
||||||
|
- name: Install cargo-minimal-versions
|
||||||
|
uses: taiki-e/install-action@cargo-minimal-versions
|
||||||
|
|
||||||
|
- uses: Swatinem/rust-cache@v2
|
||||||
|
with:
|
||||||
|
shared-key: ${{ matrix.supporteds.target }}-${{ matrix.minimal_or_latest.cache_key }}
|
||||||
|
cache-on-failure: "true"
|
||||||
|
|
||||||
|
- name: Check
|
||||||
|
run: ${{ matrix.minimal_or_latest.check_command }} --target ${{ matrix.supporteds.target }}
|
||||||
|
|
||||||
|
- name: Build
|
||||||
|
run: ${{ matrix.minimal_or_latest.build_command }} --target ${{ matrix.supporteds.target }}
|
||||||
|
|
||||||
|
test:
|
||||||
|
strategy:
|
||||||
|
matrix:
|
||||||
|
supporteds:
|
||||||
|
- runner: macos-latest
|
||||||
|
target: aarch64-apple-darwin
|
||||||
|
|
||||||
|
- runner: macos-latest
|
||||||
|
target: x86_64-apple-darwin
|
||||||
|
|
||||||
|
# Not able to be tested in GitHub Actions (without emulation, at least)
|
||||||
|
# - runner: ubuntu-latest
|
||||||
|
# target: aarch64-unknown-linux-gnu
|
||||||
|
|
||||||
|
# Not able to be tested in GitHub Actions (without emulation, at least)
|
||||||
|
# - runner: ubuntu-latest
|
||||||
|
# target: aarch64-unknown-linux-musl
|
||||||
|
|
||||||
|
- runner: ubuntu-latest
|
||||||
|
target: x86_64-unknown-linux-gnu
|
||||||
|
|
||||||
|
- install_prerequisite: sudo apt-get update && sudo apt-get install musl-dev musl-tools && sudo ln -s /bin/g++ /bin/musl-g++
|
||||||
|
runner: ubuntu-latest
|
||||||
|
target: x86_64-unknown-linux-musl
|
||||||
|
|
||||||
|
# Not able to be tested in GitHub Actions (without emulation, at least)
|
||||||
|
# - runner: windows-latest
|
||||||
|
# target: aarch64-pc-windows-gnullvm
|
||||||
|
|
||||||
|
# Not able to be tested in GitHub Actions (without emulation, at least)
|
||||||
|
# - runner: windows-latest
|
||||||
|
# target: aarch64-pc-windows-msvc
|
||||||
|
|
||||||
|
# I don't think supporting this is up to me
|
||||||
|
# I forgot where I learned this, but
|
||||||
|
# I don't think I can use a non-Rust dependency (i.e. llama.cpp) here
|
||||||
|
# - runner: windows-latest
|
||||||
|
# target: x86_64-pc-windows-gnu
|
||||||
|
|
||||||
|
- runner: windows-latest
|
||||||
|
target: x86_64-pc-windows-msvc
|
||||||
|
name: Test ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }})
|
||||||
|
runs-on: ${{ matrix.supporteds.runner }}
|
||||||
|
timeout-minutes: 8
|
||||||
|
steps:
|
||||||
|
- name: Checkout repository
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
|
- name: Install prerequisite build chain
|
||||||
|
if: matrix.supporteds.install_prerequisite
|
||||||
|
run: ${{ matrix.supporteds.install_prerequisite }}
|
||||||
|
|
||||||
|
- name: Install stable Rust toolchain
|
||||||
|
uses: dtolnay/rust-toolchain@stable
|
||||||
|
with:
|
||||||
|
targets: ${{ matrix.supporteds.target }}
|
||||||
|
|
||||||
- name: Install Nextest
|
- name: Install Nextest
|
||||||
uses: taiki-e/install-action@cargo-nextest
|
uses: taiki-e/install-action@cargo-nextest
|
||||||
|
|
||||||
- uses: Swatinem/rust-cache@v2
|
- uses: Swatinem/rust-cache@v2
|
||||||
|
with:
|
||||||
|
shared-key: ${{ matrix.supporteds.target }}-latest
|
||||||
|
cache-on-failure: "true"
|
||||||
|
|
||||||
- name: Check
|
- name: Test
|
||||||
run: cargo check --verbose
|
run: cargo nextest run --target ${{ matrix.supporteds.target }}
|
||||||
|
|
||||||
- name: Build
|
msrv:
|
||||||
run: cargo build --verbose
|
strategy:
|
||||||
|
matrix:
|
||||||
|
supporteds:
|
||||||
|
- runner: macos-latest
|
||||||
|
target: aarch64-apple-darwin
|
||||||
|
|
||||||
- name: Run tests
|
- runner: macos-latest
|
||||||
run: cargo nextest run
|
target: x86_64-apple-darwin
|
||||||
|
|
||||||
|
- runner: ubuntu-latest
|
||||||
|
target: x86_64-unknown-linux-gnu
|
||||||
|
|
||||||
|
- install_prerequisite: sudo apt-get update && sudo apt-get install musl-dev musl-tools && sudo ln -s /bin/g++ /bin/musl-g++
|
||||||
|
runner: ubuntu-latest
|
||||||
|
target: x86_64-unknown-linux-musl
|
||||||
|
|
||||||
|
- prerequisite_step: rm ~/.cargo/bin/cargo.exe; rm ~/.cargo/bin/rust-analyzer.exe; rm ~/.cargo/bin/rustfmt.exe; rustup update
|
||||||
|
runner: windows-latest
|
||||||
|
target: x86_64-pc-windows-msvc
|
||||||
|
name: Verify MSRV for ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }})
|
||||||
|
runs-on: ${{ matrix.supporteds.runner }}
|
||||||
|
timeout-minutes: 8
|
||||||
|
steps:
|
||||||
|
- name: Checkout repository
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
|
- uses: Swatinem/rust-cache@v2
|
||||||
|
with:
|
||||||
|
shared-key: ${{ matrix.supporteds.target }}-latest-variable
|
||||||
|
cache-on-failure: "true"
|
||||||
|
|
||||||
|
- name: Run prerequisite setup step
|
||||||
|
if: matrix.supporteds.prerequisite_step
|
||||||
|
run: ${{ matrix.supporteds.prerequisite_step }}
|
||||||
|
|
||||||
|
- name: Install cargo-msrv
|
||||||
|
uses: taiki-e/install-action@v2
|
||||||
|
with:
|
||||||
|
tool: cargo-msrv
|
||||||
|
|
||||||
|
- name: Verify core's declared MSRV (minimum supported Rust version)
|
||||||
|
run: cargo-msrv verify --output-format json
|
||||||
|
working-directory: ./core
|
||||||
|
- name: Verify cli-clap's declared MSRV (minimum supported Rust version)
|
||||||
|
run: cargo-msrv verify --output-format json
|
||||||
|
working-directory: ./cli-clap
|
||||||
|
- name: Verify gui-eframe's declared MSRV (minimum supported Rust version)
|
||||||
|
run: cargo-msrv verify --output-format json
|
||||||
|
working-directory: ./gui-eframe
|
||||||
|
- name: Verify tui-ratatui's declared MSRV (minimum supported Rust version)
|
||||||
|
run: cargo-msrv verify --output-format json
|
||||||
|
working-directory: ./tui-ratatui
|
||||||
|
- name: Verify multibinary's declared MSRV (minimum supported Rust version)
|
||||||
|
run: cargo-msrv verify --output-format json
|
||||||
|
working-directory: ./multibinary
|
||||||
|
@@ -9,21 +9,98 @@ on:
|
|||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
compile-and-publish:
|
compile-and-publish:
|
||||||
runs-on: ubuntu-latest
|
strategy:
|
||||||
timeout-minutes: 15
|
matrix:
|
||||||
|
supporteds:
|
||||||
|
- runner: macos-latest
|
||||||
|
target: aarch64-apple-darwin
|
||||||
|
|
||||||
|
- runner: macos-latest
|
||||||
|
target: x86_64-apple-darwin
|
||||||
|
|
||||||
|
- install_prerequisite: sudo apt-get update && sudo apt-get install musl-dev musl-tools gcc-aarch64-linux-gnu g++-aarch64-linux-gnu && sudo ln -s /bin/g++ /bin/musl-g++
|
||||||
|
runner: ubuntu-latest
|
||||||
|
target: aarch64-unknown-linux-gnu
|
||||||
|
|
||||||
|
- install_prerequisite: sudo apt-get update && sudo apt-get install musl-dev musl-tools gcc-aarch64-linux-gnu g++-aarch64-linux-gnu && sudo ln -s /bin/g++ /bin/musl-g++
|
||||||
|
runner: ubuntu-latest
|
||||||
|
target: aarch64-unknown-linux-musl
|
||||||
|
|
||||||
|
- runner: ubuntu-latest
|
||||||
|
target: x86_64-unknown-linux-gnu
|
||||||
|
|
||||||
|
- install_prerequisite: sudo apt-get update && sudo apt-get install musl-dev musl-tools && sudo ln -s /bin/g++ /bin/musl-g++
|
||||||
|
runner: ubuntu-latest
|
||||||
|
target: x86_64-unknown-linux-musl
|
||||||
|
|
||||||
|
# I would like to support this but I don't know how to install the dependencies to be able to
|
||||||
|
# - runner: windows-latest
|
||||||
|
# target: aarch64-pc-windows-gnullvm
|
||||||
|
|
||||||
|
- runner: windows-latest
|
||||||
|
target: aarch64-pc-windows-msvc
|
||||||
|
|
||||||
|
# I don't think supporting this is up to me
|
||||||
|
# I forgot where I learned this, but
|
||||||
|
# I don't think I can use a non-Rust dependency (i.e. llama.cpp) here
|
||||||
|
# - runner: windows-latest
|
||||||
|
# target: x86_64-pc-windows-gnu
|
||||||
|
|
||||||
|
- runner: windows-latest
|
||||||
|
target: x86_64-pc-windows-msvc
|
||||||
|
name: Compile ${{ matrix.supporteds.target }} for release (on ${{ matrix.supporteds.runner }})
|
||||||
|
runs-on: ${{ matrix.supporteds.runner }}
|
||||||
|
timeout-minutes: 10
|
||||||
|
env:
|
||||||
|
# https://github.com/rust-lang/stacker/issues/80#issuecomment-1547991131
|
||||||
|
CARGO_TARGET_AARCH64_UNKNOWN_LINUX_GNU_LINKER: aarch64-linux-gnu-gcc
|
||||||
|
CARGO_TARGET_AARCH64_UNKNOWN_LINUX_MUSL_LINKER: aarch64-linux-gnu-gcc # TODO: shouldn't this be something to do with musl, not gcc?
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout repository
|
- name: Checkout repository
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
- name: Install Rust toolchain
|
- name: Install prerequisite build chain
|
||||||
|
if: matrix.supporteds.install_prerequisite
|
||||||
|
run: ${{ matrix.supporteds.install_prerequisite }}
|
||||||
|
|
||||||
|
- name: Install stable Rust toolchain
|
||||||
uses: dtolnay/rust-toolchain@stable
|
uses: dtolnay/rust-toolchain@stable
|
||||||
|
with:
|
||||||
|
targets: ${{ matrix.supporteds.target }}
|
||||||
|
|
||||||
- uses: Swatinem/rust-cache@v2
|
- uses: Swatinem/rust-cache@v2
|
||||||
|
with:
|
||||||
|
shared-key: ${{ matrix.supporteds.target }}-latest
|
||||||
|
cache-on-failure: "true"
|
||||||
|
|
||||||
- name: Build for release
|
- name: Build for release
|
||||||
run: cargo build --release --verbose
|
run: cargo build --release --verbose --target ${{ matrix.supporteds.target }}
|
||||||
|
|
||||||
- uses: taiki-e/upload-rust-binary-action@v1
|
# Have to do it like this because of https://github.com/actions/runner/issues/1985
|
||||||
|
- if: startsWith(github.event.release.tag_name, 'ac-qu-ai-nt-v')
|
||||||
|
uses: taiki-e/upload-rust-binary-action@v1
|
||||||
with:
|
with:
|
||||||
bin: ac-qu-ai-nt
|
bin: ac-qu-ai-nt
|
||||||
token: ${{ secrets.GITHUB_TOKEN }}
|
token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
target: ${{ matrix.supporteds.target }}
|
||||||
|
|
||||||
|
- if: startsWith(github.event.release.tag_name, 'ac-qu-ai-nt-cli-clap-v')
|
||||||
|
uses: taiki-e/upload-rust-binary-action@v1
|
||||||
|
with:
|
||||||
|
bin: ac-qu-ai-nt-cli-clap
|
||||||
|
token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
target: ${{ matrix.supporteds.target }}
|
||||||
|
|
||||||
|
- if: startsWith(github.event.release.tag_name, 'ac-qu-ai-nt-gui-eframe-v')
|
||||||
|
uses: taiki-e/upload-rust-binary-action@v1
|
||||||
|
with:
|
||||||
|
bin: ac-qu-ai-nt-gui-eframe
|
||||||
|
token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
target: ${{ matrix.supporteds.target }}
|
||||||
|
|
||||||
|
- if: startsWith(github.event.release.tag_name, 'ac-qu-ai-nt-tui-ratatui-v')
|
||||||
|
uses: taiki-e/upload-rust-binary-action@v1
|
||||||
|
with:
|
||||||
|
bin: ac-qu-ai-nt-tui-ratatui
|
||||||
|
token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
target: ${{ matrix.supporteds.target }}
|
||||||
|
157
.github/workflows/daily.yml
vendored
Normal file
157
.github/workflows/daily.yml
vendored
Normal file
@@ -0,0 +1,157 @@
|
|||||||
|
name: Daily
|
||||||
|
|
||||||
|
on:
|
||||||
|
schedule:
|
||||||
|
- cron: "26 9 * * *"
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
audit:
|
||||||
|
name: Use `cargo-audit` to create issues for vulnerabilities or other problems
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
timeout-minutes: 4
|
||||||
|
steps:
|
||||||
|
- name: Checkout repository
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
|
- uses: rustsec/audit-check@v2.0.0
|
||||||
|
with:
|
||||||
|
token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
|
||||||
|
check-and-build-with-nightly:
|
||||||
|
strategy:
|
||||||
|
matrix:
|
||||||
|
supporteds:
|
||||||
|
- runner: macos-latest
|
||||||
|
target: aarch64-apple-darwin
|
||||||
|
|
||||||
|
- runner: macos-latest
|
||||||
|
target: x86_64-apple-darwin
|
||||||
|
|
||||||
|
- install_prerequisite: sudo apt-get update && sudo apt-get install musl-dev musl-tools gcc-aarch64-linux-gnu g++-aarch64-linux-gnu && sudo ln -s /bin/g++ /bin/musl-g++
|
||||||
|
runner: ubuntu-latest
|
||||||
|
target: aarch64-unknown-linux-gnu
|
||||||
|
|
||||||
|
- install_prerequisite: sudo apt-get update && sudo apt-get install musl-dev musl-tools gcc-aarch64-linux-gnu g++-aarch64-linux-gnu && sudo ln -s /bin/g++ /bin/musl-g++
|
||||||
|
runner: ubuntu-latest
|
||||||
|
target: aarch64-unknown-linux-musl
|
||||||
|
|
||||||
|
- runner: ubuntu-latest
|
||||||
|
target: x86_64-unknown-linux-gnu
|
||||||
|
|
||||||
|
- install_prerequisite: sudo apt-get update && sudo apt-get install musl-dev musl-tools && sudo ln -s /bin/g++ /bin/musl-g++
|
||||||
|
runner: ubuntu-latest
|
||||||
|
target: x86_64-unknown-linux-musl
|
||||||
|
|
||||||
|
# I would like to support this but I don't know how to install the dependencies to be able to
|
||||||
|
# - runner: windows-latest
|
||||||
|
# target: aarch64-pc-windows-gnullvm
|
||||||
|
|
||||||
|
- runner: windows-latest
|
||||||
|
target: aarch64-pc-windows-msvc
|
||||||
|
|
||||||
|
# I don't think supporting this is up to me
|
||||||
|
# I forgot where I learned this, but
|
||||||
|
# I don't think I can use a non-Rust dependency (i.e. llama.cpp) here
|
||||||
|
# - runner: windows-latest
|
||||||
|
# target: x86_64-pc-windows-gnu
|
||||||
|
|
||||||
|
- runner: windows-latest
|
||||||
|
target: x86_64-pc-windows-msvc
|
||||||
|
name: Check and build ${{ matrix.supporteds.target }} with nightly Rust (on ${{ matrix.supporteds.runner }}) ${{ matrix.minimal_or_latest.job_name_suffix }}
|
||||||
|
runs-on: ${{ matrix.supporteds.runner }}
|
||||||
|
timeout-minutes: 8
|
||||||
|
env:
|
||||||
|
# https://github.com/rust-lang/stacker/issues/80#issuecomment-1547991131
|
||||||
|
CARGO_TARGET_AARCH64_UNKNOWN_LINUX_GNU_LINKER: aarch64-linux-gnu-gcc
|
||||||
|
CARGO_TARGET_AARCH64_UNKNOWN_LINUX_MUSL_LINKER: aarch64-linux-gnu-gcc # TODO: shouldn't this be something to do with musl, not gcc?
|
||||||
|
steps:
|
||||||
|
- name: Checkout repository
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
|
- name: Install prerequisite build chain
|
||||||
|
if: matrix.supporteds.install_prerequisite
|
||||||
|
run: ${{ matrix.supporteds.install_prerequisite }}
|
||||||
|
|
||||||
|
- name: Install nightly Rust toolchain
|
||||||
|
uses: dtolnay/rust-toolchain@nightly
|
||||||
|
with:
|
||||||
|
targets: ${{ matrix.supporteds.target }}
|
||||||
|
|
||||||
|
- uses: Swatinem/rust-cache@v2
|
||||||
|
with:
|
||||||
|
shared-key: ${{ matrix.supporteds.target }}-latest-nightly
|
||||||
|
cache-on-failure: "true"
|
||||||
|
|
||||||
|
- name: Check
|
||||||
|
run: cargo check --verbose
|
||||||
|
|
||||||
|
- name: Build
|
||||||
|
run: cargo build --verbose
|
||||||
|
|
||||||
|
test-with-nightly:
|
||||||
|
strategy:
|
||||||
|
matrix:
|
||||||
|
supporteds:
|
||||||
|
- runner: macos-latest
|
||||||
|
target: aarch64-apple-darwin
|
||||||
|
|
||||||
|
- runner: macos-latest
|
||||||
|
target: x86_64-apple-darwin
|
||||||
|
|
||||||
|
# Not able to be tested in GitHub Actions (without emulation, at least)
|
||||||
|
# - runner: ubuntu-latest
|
||||||
|
# target: aarch64-unknown-linux-gnu
|
||||||
|
|
||||||
|
# Not able to be tested in GitHub Actions (without emulation, at least)
|
||||||
|
# - runner: ubuntu-latest
|
||||||
|
# target: aarch64-unknown-linux-musl
|
||||||
|
|
||||||
|
- runner: ubuntu-latest
|
||||||
|
target: x86_64-unknown-linux-gnu
|
||||||
|
|
||||||
|
- install_prerequisite: sudo apt-get update && sudo apt-get install musl-dev musl-tools && sudo ln -s /bin/g++ /bin/musl-g++
|
||||||
|
runner: ubuntu-latest
|
||||||
|
target: x86_64-unknown-linux-musl
|
||||||
|
|
||||||
|
# Not able to be tested in GitHub Actions (without emulation, at least)
|
||||||
|
# - runner: windows-latest
|
||||||
|
# target: aarch64-pc-windows-gnullvm
|
||||||
|
|
||||||
|
# Not able to be tested in GitHub Actions (without emulation, at least)
|
||||||
|
# - runner: windows-latest
|
||||||
|
# target: aarch64-pc-windows-msvc
|
||||||
|
|
||||||
|
# I don't think supporting this is up to me
|
||||||
|
# I forgot where I learned this, but
|
||||||
|
# I don't think I can use a non-Rust dependency (i.e. llama.cpp) here
|
||||||
|
# - runner: windows-latest
|
||||||
|
# target: x86_64-pc-windows-gnu
|
||||||
|
|
||||||
|
- runner: windows-latest
|
||||||
|
target: x86_64-pc-windows-msvc
|
||||||
|
name: Test ${{ matrix.supporteds.target }} with nightly Rust (on ${{ matrix.supporteds.runner }})
|
||||||
|
runs-on: ${{ matrix.supporteds.runner }}
|
||||||
|
timeout-minutes: 8
|
||||||
|
steps:
|
||||||
|
- name: Checkout repository
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
|
- name: Install prerequisite build chain
|
||||||
|
if: matrix.supporteds.install_prerequisite
|
||||||
|
run: ${{ matrix.supporteds.install_prerequisite }}
|
||||||
|
|
||||||
|
- name: Install nightly Rust toolchain
|
||||||
|
uses: dtolnay/rust-toolchain@nightly
|
||||||
|
with:
|
||||||
|
targets: ${{ matrix.supporteds.target }}
|
||||||
|
|
||||||
|
- name: Install Nextest
|
||||||
|
uses: taiki-e/install-action@cargo-nextest
|
||||||
|
|
||||||
|
- uses: Swatinem/rust-cache@v2
|
||||||
|
with:
|
||||||
|
shared-key: ${{ matrix.supporteds.target }}-latest-nightly
|
||||||
|
cache-on-failure: "true"
|
||||||
|
|
||||||
|
- name: Test
|
||||||
|
run: cargo nextest run --target ${{ matrix.supporteds.target }}
|
14
.github/workflows/release-plz.yml
vendored
14
.github/workflows/release-plz.yml
vendored
@@ -14,14 +14,26 @@ jobs:
|
|||||||
name: Release-plz
|
name: Release-plz
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
|
- name: Generate GitHub token
|
||||||
|
uses: actions/create-github-app-token@v1
|
||||||
|
id: generate-token
|
||||||
|
with:
|
||||||
|
app-id: ${{ secrets.RELEASE_PLZ_GITHUB_APP_ID }}
|
||||||
|
private-key: ${{ secrets.RELEASE_PLZ_GITHUB_APP_SECRET }}
|
||||||
|
|
||||||
- name: Checkout repository
|
- name: Checkout repository
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
with:
|
with:
|
||||||
fetch-depth: 0
|
fetch-depth: 0
|
||||||
|
token: ${{ steps.generate-token.outputs.token }}
|
||||||
|
|
||||||
- name: Install Rust toolchain
|
- name: Install Rust toolchain
|
||||||
uses: dtolnay/rust-toolchain@stable
|
uses: dtolnay/rust-toolchain@stable
|
||||||
|
|
||||||
|
- uses: Swatinem/rust-cache@v2
|
||||||
|
|
||||||
- name: Run release-plz
|
- name: Run release-plz
|
||||||
uses: MarcoIeni/release-plz-action@v0.5
|
uses: MarcoIeni/release-plz-action@v0.5
|
||||||
env:
|
env:
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GITHUB_TOKEN: ${{ steps.generate-token.outputs.token }}
|
||||||
CARGO_REGISTRY_TOKEN: ${{ secrets.CARGO_REGISTRY_TOKEN }}
|
CARGO_REGISTRY_TOKEN: ${{ secrets.CARGO_REGISTRY_TOKEN }}
|
||||||
|
847
Cargo.lock
generated
847
Cargo.lock
generated
@@ -4,16 +4,58 @@ version = 3
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "ac-qu-ai-nt"
|
name = "ac-qu-ai-nt"
|
||||||
version = "0.0.2"
|
version = "0.0.14"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"ac-qu-ai-nt-cli-clap",
|
"ac-qu-ai-nt-cli-clap",
|
||||||
|
"ac-qu-ai-nt-gui-eframe",
|
||||||
|
"ac-qu-ai-nt-tui-ratatui",
|
||||||
|
"cfg-if",
|
||||||
|
"clap",
|
||||||
|
"dirs-next",
|
||||||
|
"snafu",
|
||||||
|
"tracing-subscriber",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "ac-qu-ai-nt-cli-clap"
|
name = "ac-qu-ai-nt-cli-clap"
|
||||||
version = "0.0.2"
|
version = "0.0.9"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"clap",
|
"clap",
|
||||||
|
"tracing",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "ac-qu-ai-nt-core"
|
||||||
|
version = "0.0.5"
|
||||||
|
dependencies = [
|
||||||
|
"llama-cpp-2",
|
||||||
|
"ocrs",
|
||||||
|
"rten",
|
||||||
|
"snafu",
|
||||||
|
"tracing",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "ac-qu-ai-nt-gui-eframe"
|
||||||
|
version = "0.0.6"
|
||||||
|
dependencies = [
|
||||||
|
"tracing",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "ac-qu-ai-nt-tui-ratatui"
|
||||||
|
version = "0.0.6"
|
||||||
|
dependencies = [
|
||||||
|
"tracing",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "aho-corasick"
|
||||||
|
version = "1.1.3"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916"
|
||||||
|
dependencies = [
|
||||||
|
"memchr",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@@ -66,10 +108,94 @@ dependencies = [
|
|||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "clap"
|
name = "anyhow"
|
||||||
version = "4.5.18"
|
version = "1.0.89"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "b0956a43b323ac1afaffc053ed5c4b7c1f1800bacd1683c353aabbb752515dd3"
|
checksum = "86fdf8605db99b54d3cd748a44c6d04df638eb5dafb219b135d0149bd0db01f6"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "bindgen"
|
||||||
|
version = "0.69.5"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "271383c67ccabffb7381723dea0672a673f292304fcb45c01cc648c7a8d58088"
|
||||||
|
dependencies = [
|
||||||
|
"bitflags 2.6.0",
|
||||||
|
"cexpr",
|
||||||
|
"clang-sys",
|
||||||
|
"itertools",
|
||||||
|
"lazy_static",
|
||||||
|
"lazycell",
|
||||||
|
"log",
|
||||||
|
"prettyplease",
|
||||||
|
"proc-macro2",
|
||||||
|
"quote",
|
||||||
|
"regex",
|
||||||
|
"rustc-hash 1.1.0",
|
||||||
|
"shlex",
|
||||||
|
"syn",
|
||||||
|
"which",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "bitflags"
|
||||||
|
version = "1.3.2"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "bitflags"
|
||||||
|
version = "2.6.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "b048fb63fd8b5923fc5aa7b340d8e156aec7ec02f0c78fa8a6ddc2613f6f71de"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "bumpalo"
|
||||||
|
version = "3.16.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "79296716171880943b8470b5f8d03aa55eb2e645a4874bdbb28adb49162e012c"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "cc"
|
||||||
|
version = "1.1.29"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "58e804ac3194a48bb129643eb1d62fcc20d18c6b8c181704489353d13120bcd1"
|
||||||
|
dependencies = [
|
||||||
|
"jobserver",
|
||||||
|
"libc",
|
||||||
|
"shlex",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "cexpr"
|
||||||
|
version = "0.6.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "6fac387a98bb7c37292057cffc56d62ecb629900026402633ae9160df93a8766"
|
||||||
|
dependencies = [
|
||||||
|
"nom",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "cfg-if"
|
||||||
|
version = "1.0.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "clang-sys"
|
||||||
|
version = "1.8.1"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "0b023947811758c97c59bf9d1c188fd619ad4718dcaa767947df1cadb14f39f4"
|
||||||
|
dependencies = [
|
||||||
|
"glob",
|
||||||
|
"libc",
|
||||||
|
"libloading",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "clap"
|
||||||
|
version = "4.5.20"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "b97f376d85a664d5837dbae44bf546e6477a679ff6610010f17276f686d867e8"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"clap_builder",
|
"clap_builder",
|
||||||
"clap_derive",
|
"clap_derive",
|
||||||
@@ -77,9 +203,9 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "clap_builder"
|
name = "clap_builder"
|
||||||
version = "4.5.18"
|
version = "4.5.20"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "4d72166dd41634086d5803a47eb71ae740e61d84709c36f3c34110173db3961b"
|
checksum = "19bc80abd44e4bed93ca373a0704ccbd1b710dc5749406201bb018272808dc54"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"anstream",
|
"anstream",
|
||||||
"anstyle",
|
"anstyle",
|
||||||
@@ -105,18 +231,151 @@ version = "0.7.2"
|
|||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "1462739cb27611015575c0c11df5df7601141071f07518d56fcc1be504cbec97"
|
checksum = "1462739cb27611015575c0c11df5df7601141071f07518d56fcc1be504cbec97"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "cmake"
|
||||||
|
version = "0.1.51"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "fb1e43aa7fd152b1f968787f7dbcdeb306d1867ff373c69955211876c053f91a"
|
||||||
|
dependencies = [
|
||||||
|
"cc",
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "colorchoice"
|
name = "colorchoice"
|
||||||
version = "1.0.2"
|
version = "1.0.2"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "d3fd119d74b830634cea2a0f58bbd0d54540518a14397557951e79340abc28c0"
|
checksum = "d3fd119d74b830634cea2a0f58bbd0d54540518a14397557951e79340abc28c0"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "crossbeam-deque"
|
||||||
|
version = "0.8.5"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "613f8cc01fe9cf1a3eb3d7f488fd2fa8388403e97039e2f73692932e291a770d"
|
||||||
|
dependencies = [
|
||||||
|
"crossbeam-epoch",
|
||||||
|
"crossbeam-utils",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "crossbeam-epoch"
|
||||||
|
version = "0.9.18"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e"
|
||||||
|
dependencies = [
|
||||||
|
"crossbeam-utils",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "crossbeam-utils"
|
||||||
|
version = "0.8.20"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "22ec99545bb0ed0ea7bb9b8e1e9122ea386ff8a48c0922e43f36d45ab09e0e80"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "dirs-next"
|
||||||
|
version = "2.0.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "b98cf8ebf19c3d1b223e151f99a4f9f0690dca41414773390fc824184ac833e1"
|
||||||
|
dependencies = [
|
||||||
|
"cfg-if",
|
||||||
|
"dirs-sys-next",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "dirs-sys-next"
|
||||||
|
version = "0.1.2"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "4ebda144c4fe02d1f7ea1a7d9641b6fc6b580adcfa024ae48797ecdeb6825b4d"
|
||||||
|
dependencies = [
|
||||||
|
"libc",
|
||||||
|
"redox_users",
|
||||||
|
"winapi",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "either"
|
||||||
|
version = "1.13.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "60b1af1c220855b6ceac025d3f6ecdd2b7c4894bfe9cd9bda4fbb4bc7c0d4cf0"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "enumflags2"
|
||||||
|
version = "0.7.10"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "d232db7f5956f3f14313dc2f87985c58bd2c695ce124c8cdd984e08e15ac133d"
|
||||||
|
dependencies = [
|
||||||
|
"enumflags2_derive",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "enumflags2_derive"
|
||||||
|
version = "0.7.10"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "de0d48a183585823424a4ce1aa132d174a6a81bd540895822eb4c8373a8e49e8"
|
||||||
|
dependencies = [
|
||||||
|
"proc-macro2",
|
||||||
|
"quote",
|
||||||
|
"syn",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "errno"
|
||||||
|
version = "0.3.9"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "534c5cf6194dfab3db3242765c03bbe257cf92f22b38f6bc0c58d59108a820ba"
|
||||||
|
dependencies = [
|
||||||
|
"libc",
|
||||||
|
"windows-sys",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "flatbuffers"
|
||||||
|
version = "24.3.25"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "8add37afff2d4ffa83bc748a70b4b1370984f6980768554182424ef71447c35f"
|
||||||
|
dependencies = [
|
||||||
|
"bitflags 1.3.2",
|
||||||
|
"rustc_version",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "getrandom"
|
||||||
|
version = "0.2.15"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7"
|
||||||
|
dependencies = [
|
||||||
|
"cfg-if",
|
||||||
|
"libc",
|
||||||
|
"wasi",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "glob"
|
||||||
|
version = "0.3.1"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "heck"
|
name = "heck"
|
||||||
version = "0.5.0"
|
version = "0.5.0"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea"
|
checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "hermit-abi"
|
||||||
|
version = "0.3.9"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "home"
|
||||||
|
version = "0.5.9"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "e3d1354bf6b7235cb4a0576c2619fd4ed18183f689b12b006a0ee7329eeff9a5"
|
||||||
|
dependencies = [
|
||||||
|
"windows-sys",
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "is_terminal_polyfill"
|
name = "is_terminal_polyfill"
|
||||||
version = "1.70.1"
|
version = "1.70.1"
|
||||||
@@ -124,10 +383,193 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
|||||||
checksum = "7943c866cc5cd64cbc25b2e01621d07fa8eb2a1a23160ee81ce38704e97b8ecf"
|
checksum = "7943c866cc5cd64cbc25b2e01621d07fa8eb2a1a23160ee81ce38704e97b8ecf"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "proc-macro2"
|
name = "itertools"
|
||||||
version = "1.0.86"
|
version = "0.12.1"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "5e719e8df665df0d1c8fbfd238015744736151d4445ec0836b8e628aae103b77"
|
checksum = "ba291022dbbd398a455acf126c1e341954079855bc60dfdda641363bd6922569"
|
||||||
|
dependencies = [
|
||||||
|
"either",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "jobserver"
|
||||||
|
version = "0.1.32"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "48d1dbcbbeb6a7fec7e059840aa538bd62aaccf972c7346c4d9d2059312853d0"
|
||||||
|
dependencies = [
|
||||||
|
"libc",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "lazy_static"
|
||||||
|
version = "1.5.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "lazycell"
|
||||||
|
version = "1.3.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "libc"
|
||||||
|
version = "0.2.159"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "561d97a539a36e26a9a5fad1ea11a3039a67714694aaa379433e580854bc3dc5"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "libloading"
|
||||||
|
version = "0.8.5"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "4979f22fdb869068da03c9f7528f8297c6fd2606bc3a4affe42e6a823fdb8da4"
|
||||||
|
dependencies = [
|
||||||
|
"cfg-if",
|
||||||
|
"windows-targets",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "libm"
|
||||||
|
version = "0.2.8"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "4ec2a862134d2a7d32d7983ddcdd1c4923530833c9f2ea1a44fc5fa473989058"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "libredox"
|
||||||
|
version = "0.1.3"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "c0ff37bd590ca25063e35af745c343cb7a0271906fb7b37e4813e8f79f00268d"
|
||||||
|
dependencies = [
|
||||||
|
"bitflags 2.6.0",
|
||||||
|
"libc",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "linux-raw-sys"
|
||||||
|
version = "0.4.14"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "78b3ae25bc7c8c38cec158d1f2757ee79e9b3740fbc7ccf0e59e4b08d793fa89"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "llama-cpp-2"
|
||||||
|
version = "0.1.82"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "e40528912f1212003f65912c0ad1d2d2d0302e53557e0ea3cd12b5706a9223ca"
|
||||||
|
dependencies = [
|
||||||
|
"enumflags2",
|
||||||
|
"llama-cpp-sys-2",
|
||||||
|
"thiserror",
|
||||||
|
"tracing",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "llama-cpp-sys-2"
|
||||||
|
version = "0.1.82"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "ccfde3214b7b8bcc25448198df1add0630695c7a2773a60400572bf5156b9335"
|
||||||
|
dependencies = [
|
||||||
|
"bindgen",
|
||||||
|
"cc",
|
||||||
|
"cmake",
|
||||||
|
"glob",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "log"
|
||||||
|
version = "0.4.22"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "a7a70ba024b9dc04c27ea2f0c0548feb474ec5c54bba33a7f72f873a39d07b24"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "memchr"
|
||||||
|
version = "2.7.4"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "minimal-lexical"
|
||||||
|
version = "0.2.1"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "nom"
|
||||||
|
version = "7.1.3"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a"
|
||||||
|
dependencies = [
|
||||||
|
"memchr",
|
||||||
|
"minimal-lexical",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "nu-ansi-term"
|
||||||
|
version = "0.46.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "77a8165726e8236064dbb45459242600304b42a5ea24ee2948e18e023bf7ba84"
|
||||||
|
dependencies = [
|
||||||
|
"overload",
|
||||||
|
"winapi",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "num_cpus"
|
||||||
|
version = "1.16.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43"
|
||||||
|
dependencies = [
|
||||||
|
"hermit-abi",
|
||||||
|
"libc",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "ocrs"
|
||||||
|
version = "0.9.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "e27323c35856a09bb646304ddd579ae0d5b330acfdfb2442e2f15f1407b6ee00"
|
||||||
|
dependencies = [
|
||||||
|
"anyhow",
|
||||||
|
"rayon",
|
||||||
|
"rten",
|
||||||
|
"rten-imageproc",
|
||||||
|
"rten-tensor",
|
||||||
|
"thiserror",
|
||||||
|
"wasm-bindgen",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "once_cell"
|
||||||
|
version = "1.20.2"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "1261fe7e33c73b354eab43b1273a57c8f967d0391e80353e51f764ac02cf6775"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "overload"
|
||||||
|
version = "0.1.1"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "pin-project-lite"
|
||||||
|
version = "0.2.14"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "bda66fc9667c18cb2758a2ac84d1167245054bcf85d5d1aaa6923f45801bdd02"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "prettyplease"
|
||||||
|
version = "0.2.22"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "479cf940fbbb3426c32c5d5176f62ad57549a0bb84773423ba8be9d089f5faba"
|
||||||
|
dependencies = [
|
||||||
|
"proc-macro2",
|
||||||
|
"syn",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "proc-macro2"
|
||||||
|
version = "1.0.87"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "b3e4daa0dcf6feba26f985457cdf104d4b4256fc5a09547140f3631bb076b19a"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"unicode-ident",
|
"unicode-ident",
|
||||||
]
|
]
|
||||||
@@ -141,6 +583,199 @@ dependencies = [
|
|||||||
"proc-macro2",
|
"proc-macro2",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "rayon"
|
||||||
|
version = "1.10.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "b418a60154510ca1a002a752ca9714984e21e4241e804d32555251faf8b78ffa"
|
||||||
|
dependencies = [
|
||||||
|
"either",
|
||||||
|
"rayon-core",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "rayon-core"
|
||||||
|
version = "1.12.1"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "1465873a3dfdaa8ae7cb14b4383657caab0b3e8a0aa9ae8e04b044854c8dfce2"
|
||||||
|
dependencies = [
|
||||||
|
"crossbeam-deque",
|
||||||
|
"crossbeam-utils",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "redox_users"
|
||||||
|
version = "0.4.6"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "ba009ff324d1fc1b900bd1fdb31564febe58a8ccc8a6fdbb93b543d33b13ca43"
|
||||||
|
dependencies = [
|
||||||
|
"getrandom",
|
||||||
|
"libredox",
|
||||||
|
"thiserror",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "regex"
|
||||||
|
version = "1.11.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "38200e5ee88914975b69f657f0801b6f6dccafd44fd9326302a4aaeecfacb1d8"
|
||||||
|
dependencies = [
|
||||||
|
"aho-corasick",
|
||||||
|
"memchr",
|
||||||
|
"regex-automata",
|
||||||
|
"regex-syntax",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "regex-automata"
|
||||||
|
version = "0.4.8"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "368758f23274712b504848e9d5a6f010445cc8b87a7cdb4d7cbee666c1288da3"
|
||||||
|
dependencies = [
|
||||||
|
"aho-corasick",
|
||||||
|
"memchr",
|
||||||
|
"regex-syntax",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "regex-syntax"
|
||||||
|
version = "0.8.5"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "rten"
|
||||||
|
version = "0.13.1"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "52026aa6d9bc40ac0d52bfeb4bc81d4fd5b7866825af1826ed7a4d74bd7574c4"
|
||||||
|
dependencies = [
|
||||||
|
"flatbuffers",
|
||||||
|
"libm",
|
||||||
|
"num_cpus",
|
||||||
|
"rayon",
|
||||||
|
"rten-simd",
|
||||||
|
"rten-tensor",
|
||||||
|
"rten-vecmath",
|
||||||
|
"rustc-hash 2.0.0",
|
||||||
|
"smallvec",
|
||||||
|
"wasm-bindgen",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "rten-imageproc"
|
||||||
|
version = "0.13.1"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "2cbf57cb94ff55c8107d534114d23bc8116bb64d68da0927c972db150bea3279"
|
||||||
|
dependencies = [
|
||||||
|
"rten-tensor",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "rten-simd"
|
||||||
|
version = "0.11.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "7f1bb63fc8a157699e42a501cf43512871b20d3bea755f3ffac3ab63f1af10c4"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "rten-tensor"
|
||||||
|
version = "0.13.1"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "575ec5dbc7e7059eb4271bca1c06420d240e8a377593cbac41a0c7227ec8645d"
|
||||||
|
dependencies = [
|
||||||
|
"smallvec",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "rten-vecmath"
|
||||||
|
version = "0.11.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "af98a4e48d69c5aa2167d3adb7a8c1585602486a1aedd1ee8b3d684f98059396"
|
||||||
|
dependencies = [
|
||||||
|
"rten-simd",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "rustc-hash"
|
||||||
|
version = "1.1.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "rustc-hash"
|
||||||
|
version = "2.0.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "583034fd73374156e66797ed8e5b0d5690409c9226b22d87cb7f19821c05d152"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "rustc_version"
|
||||||
|
version = "0.4.1"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "cfcb3a22ef46e85b45de6ee7e79d063319ebb6594faafcf1c225ea92ab6e9b92"
|
||||||
|
dependencies = [
|
||||||
|
"semver",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "rustix"
|
||||||
|
version = "0.38.37"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "8acb788b847c24f28525660c4d7758620a7210875711f79e7f663cc152726811"
|
||||||
|
dependencies = [
|
||||||
|
"bitflags 2.6.0",
|
||||||
|
"errno",
|
||||||
|
"libc",
|
||||||
|
"linux-raw-sys",
|
||||||
|
"windows-sys",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "semver"
|
||||||
|
version = "1.0.23"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "61697e0a1c7e512e84a621326239844a24d8207b4669b41bc18b32ea5cbf988b"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "sharded-slab"
|
||||||
|
version = "0.1.7"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "f40ca3c46823713e0d4209592e8d6e826aa57e928f09752619fc696c499637f6"
|
||||||
|
dependencies = [
|
||||||
|
"lazy_static",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "shlex"
|
||||||
|
version = "1.3.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "smallvec"
|
||||||
|
version = "1.13.2"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "snafu"
|
||||||
|
version = "0.8.5"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "223891c85e2a29c3fe8fb900c1fae5e69c2e42415e3177752e8718475efa5019"
|
||||||
|
dependencies = [
|
||||||
|
"snafu-derive",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "snafu-derive"
|
||||||
|
version = "0.8.5"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "03c3c6b7927ffe7ecaa769ee0e3994da3b8cafc8f444578982c83ecb161af917"
|
||||||
|
dependencies = [
|
||||||
|
"heck",
|
||||||
|
"proc-macro2",
|
||||||
|
"quote",
|
||||||
|
"syn",
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "strsim"
|
name = "strsim"
|
||||||
version = "0.11.1"
|
version = "0.11.1"
|
||||||
@@ -149,15 +784,102 @@ checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f"
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "syn"
|
name = "syn"
|
||||||
version = "2.0.77"
|
version = "2.0.79"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "9f35bcdf61fd8e7be6caf75f429fdca8beb3ed76584befb503b1569faee373ed"
|
checksum = "89132cd0bf050864e1d38dc3bbc07a0eb8e7530af26344d3d2bbbef83499f590"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"proc-macro2",
|
"proc-macro2",
|
||||||
"quote",
|
"quote",
|
||||||
"unicode-ident",
|
"unicode-ident",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "thiserror"
|
||||||
|
version = "1.0.64"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "d50af8abc119fb8bb6dbabcfa89656f46f84aa0ac7688088608076ad2b459a84"
|
||||||
|
dependencies = [
|
||||||
|
"thiserror-impl",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "thiserror-impl"
|
||||||
|
version = "1.0.64"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "08904e7672f5eb876eaaf87e0ce17857500934f4981c4a0ab2b4aa98baac7fc3"
|
||||||
|
dependencies = [
|
||||||
|
"proc-macro2",
|
||||||
|
"quote",
|
||||||
|
"syn",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "thread_local"
|
||||||
|
version = "1.1.8"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "8b9ef9bad013ada3808854ceac7b46812a6465ba368859a37e2100283d2d719c"
|
||||||
|
dependencies = [
|
||||||
|
"cfg-if",
|
||||||
|
"once_cell",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "tracing"
|
||||||
|
version = "0.1.40"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef"
|
||||||
|
dependencies = [
|
||||||
|
"pin-project-lite",
|
||||||
|
"tracing-attributes",
|
||||||
|
"tracing-core",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "tracing-attributes"
|
||||||
|
version = "0.1.27"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7"
|
||||||
|
dependencies = [
|
||||||
|
"proc-macro2",
|
||||||
|
"quote",
|
||||||
|
"syn",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "tracing-core"
|
||||||
|
version = "0.1.32"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54"
|
||||||
|
dependencies = [
|
||||||
|
"once_cell",
|
||||||
|
"valuable",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "tracing-log"
|
||||||
|
version = "0.2.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "ee855f1f400bd0e5c02d150ae5de3840039a3f54b025156404e34c23c03f47c3"
|
||||||
|
dependencies = [
|
||||||
|
"log",
|
||||||
|
"once_cell",
|
||||||
|
"tracing-core",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "tracing-subscriber"
|
||||||
|
version = "0.3.18"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "ad0f048c97dbd9faa9b7df56362b8ebcaa52adb06b498c050d2f4e32f90a7a8b"
|
||||||
|
dependencies = [
|
||||||
|
"nu-ansi-term",
|
||||||
|
"sharded-slab",
|
||||||
|
"smallvec",
|
||||||
|
"thread_local",
|
||||||
|
"tracing-core",
|
||||||
|
"tracing-log",
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "unicode-ident"
|
name = "unicode-ident"
|
||||||
version = "1.0.13"
|
version = "1.0.13"
|
||||||
@@ -170,6 +892,107 @@ version = "0.2.2"
|
|||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821"
|
checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "valuable"
|
||||||
|
version = "0.1.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "wasi"
|
||||||
|
version = "0.11.0+wasi-snapshot-preview1"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "wasm-bindgen"
|
||||||
|
version = "0.2.95"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "128d1e363af62632b8eb57219c8fd7877144af57558fb2ef0368d0087bddeb2e"
|
||||||
|
dependencies = [
|
||||||
|
"cfg-if",
|
||||||
|
"once_cell",
|
||||||
|
"wasm-bindgen-macro",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "wasm-bindgen-backend"
|
||||||
|
version = "0.2.95"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "cb6dd4d3ca0ddffd1dd1c9c04f94b868c37ff5fac97c30b97cff2d74fce3a358"
|
||||||
|
dependencies = [
|
||||||
|
"bumpalo",
|
||||||
|
"log",
|
||||||
|
"once_cell",
|
||||||
|
"proc-macro2",
|
||||||
|
"quote",
|
||||||
|
"syn",
|
||||||
|
"wasm-bindgen-shared",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "wasm-bindgen-macro"
|
||||||
|
version = "0.2.95"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "e79384be7f8f5a9dd5d7167216f022090cf1f9ec128e6e6a482a2cb5c5422c56"
|
||||||
|
dependencies = [
|
||||||
|
"quote",
|
||||||
|
"wasm-bindgen-macro-support",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "wasm-bindgen-macro-support"
|
||||||
|
version = "0.2.95"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "26c6ab57572f7a24a4985830b120de1594465e5d500f24afe89e16b4e833ef68"
|
||||||
|
dependencies = [
|
||||||
|
"proc-macro2",
|
||||||
|
"quote",
|
||||||
|
"syn",
|
||||||
|
"wasm-bindgen-backend",
|
||||||
|
"wasm-bindgen-shared",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "wasm-bindgen-shared"
|
||||||
|
version = "0.2.95"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "65fc09f10666a9f147042251e0dda9c18f166ff7de300607007e96bdebc1068d"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "which"
|
||||||
|
version = "4.4.2"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "87ba24419a2078cd2b0f2ede2691b6c66d8e47836da3b6db8265ebad47afbfc7"
|
||||||
|
dependencies = [
|
||||||
|
"either",
|
||||||
|
"home",
|
||||||
|
"once_cell",
|
||||||
|
"rustix",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "winapi"
|
||||||
|
version = "0.3.9"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419"
|
||||||
|
dependencies = [
|
||||||
|
"winapi-i686-pc-windows-gnu",
|
||||||
|
"winapi-x86_64-pc-windows-gnu",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "winapi-i686-pc-windows-gnu"
|
||||||
|
version = "0.4.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "winapi-x86_64-pc-windows-gnu"
|
||||||
|
version = "0.4.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "windows-sys"
|
name = "windows-sys"
|
||||||
version = "0.52.0"
|
version = "0.52.0"
|
||||||
|
@@ -1,11 +1,13 @@
|
|||||||
[workspace]
|
[workspace]
|
||||||
members = ["cli-clap", "multibinary"]
|
members = ["core", "cli-clap", "gui-eframe", "tui-ratatui", "multibinary"]
|
||||||
resolver = "2"
|
resolver = "2"
|
||||||
|
|
||||||
[workspace.package]
|
[workspace.package]
|
||||||
authors = ["J / Jacob Babich <jacobbabichpublic+git@gmail.com>"]
|
authors = ["J / Jacob Babich <jacobbabichpublic+git@gmail.com>"]
|
||||||
license = "MIT OR Apache-2.0"
|
license = "Apache-2.0 OR MIT OR Unlicense"
|
||||||
repository = "https://github.com/babichjacob/ac-qu-ai-nt"
|
repository = "https://github.com/babichjacob/ac-qu-ai-nt"
|
||||||
|
|
||||||
[workspace.dependencies]
|
[workspace.dependencies]
|
||||||
clap = "4"
|
clap = "4"
|
||||||
|
snafu = "0.8"
|
||||||
|
tracing = "0.1.23"
|
||||||
|
24
LICENSE-UNLICENSE
Normal file
24
LICENSE-UNLICENSE
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
This is free and unencumbered software released into the public domain.
|
||||||
|
|
||||||
|
Anyone is free to copy, modify, publish, use, compile, sell, or
|
||||||
|
distribute this software, either in source code form or as a compiled
|
||||||
|
binary, for any purpose, commercial or non-commercial, and by any
|
||||||
|
means.
|
||||||
|
|
||||||
|
In jurisdictions that recognize copyright laws, the author or authors
|
||||||
|
of this software dedicate any and all copyright interest in the
|
||||||
|
software to the public domain. We make this dedication for the benefit
|
||||||
|
of the public at large and to the detriment of our heirs and
|
||||||
|
successors. We intend this dedication to be an overt act of
|
||||||
|
relinquishment in perpetuity of all present and future rights to this
|
||||||
|
software under copyright law.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||||
|
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||||
|
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
||||||
|
IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR
|
||||||
|
OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
|
||||||
|
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
|
||||||
|
OTHER DEALINGS IN THE SOFTWARE.
|
||||||
|
|
||||||
|
For more information, please refer to <http://unlicense.org/>
|
119
README.md
119
README.md
@@ -1,4 +1,121 @@
|
|||||||
# ac-qu-ai-nt
|
|
||||||
`ac-qu-ai-nt` is a project I'm working on, using artificial intelligence to break down the user's query, acquire knowledge, and transfer insights to the user('s mind).
|
`ac-qu-ai-nt` is a project I'm working on, using artificial intelligence to break down the user's query, acquire knowledge, and transfer insights to the user('s mind).
|
||||||
|
|
||||||
This is a placeholder while I take small steps to build out the project.
|
This is a placeholder while I take small steps to build out the project.
|
||||||
|
|
||||||
|
# Installation
|
||||||
|
|
||||||
|
## Automatically Updatable
|
||||||
|
|
||||||
|
You won't find it very useful yet, because it doesn't really do much of anything, but you can install the multibinary with [Binstall](https://github.com/cargo-bins/cargo-binstall). This means you don't need to have the same development environment (which will require the Vulkan SDK and CUDA Toolkit in the future) in order to use the program, because you'll just download a precompiled executable.
|
||||||
|
|
||||||
|
```sh
|
||||||
|
cargo-binstall -y ac-qu-ai-nt
|
||||||
|
```
|
||||||
|
|
||||||
|
Install [`cargo-update`](https://github.com/nabijaczleweli/cargo-update) and periodically run
|
||||||
|
|
||||||
|
```sh
|
||||||
|
cargo install-update --all
|
||||||
|
```
|
||||||
|
|
||||||
|
in order to keep this program up to date.
|
||||||
|
|
||||||
|
I'm not sure if you need a Rust compiler installed for either or if they can work standalone.
|
||||||
|
|
||||||
|
## Just the Executable
|
||||||
|
|
||||||
|
Head to [the Releases page](https://github.com/babichjacob/ac-qu-ai-nt/releases) and download the asset corresponding to your computer architecture and operating system.
|
||||||
|
|
||||||
|
Decompress the archive and place the executable contained within it somewhere useful to you (e.g. in a directory in [your `PATH` variable](https://superuser.com/a/284351)).
|
||||||
|
|
||||||
|
# Usage
|
||||||
|
|
||||||
|
If it's your preference, you should be able to double click the executable in the folder to be able to run it (defaulting to launching a graphical interface (once I actually make one lol)).
|
||||||
|
|
||||||
|
You could also type
|
||||||
|
|
||||||
|
```sh
|
||||||
|
ac-qu-ai-nt
|
||||||
|
```
|
||||||
|
|
||||||
|
on the command line to run it. This is also a way to launch a GUI (once there actually is one) for the application.
|
||||||
|
|
||||||
|
## Command Line Interface
|
||||||
|
|
||||||
|
It's going to be a goal of this project for there to be feature parity between the GUI, CLI, and TUI.
|
||||||
|
|
||||||
|
If you want to use its command line interface, start with
|
||||||
|
|
||||||
|
```sh
|
||||||
|
ac-qu-ai-nt cli
|
||||||
|
```
|
||||||
|
|
||||||
|
to see what capabilities are available.
|
||||||
|
|
||||||
|
(This is an alias for `ac-qu-ai-nt cli-clap` to allow the possibility of experimenting with different implementations of the same type of interface.)
|
||||||
|
|
||||||
|
# Contributing
|
||||||
|
|
||||||
|
## Issues and Pull Requests
|
||||||
|
|
||||||
|
Please create an issue before working on a pull request. It's helpful for you to know if the idea you have in mind will for sure be incorporated into the project, and won't require you to _acquaint_ yourself with the project internals. It even opens the floor for someone else to do the work implementing it for you.
|
||||||
|
|
||||||
|
Some [existing issues are labeled `straightforward`](https://github.com/babichjacob/ac-qu-ai-nt/issues?q=is%3Aissue+is%3Aopen+label%3Astraightforward) and expected to be the easiest to work on, if you'd like to try.
|
||||||
|
|
||||||
|
## Project Breakdown
|
||||||
|
|
||||||
|
This is a summary of the crates in this project and how they are used:
|
||||||
|
|
||||||
|
```mermaid
|
||||||
|
flowchart TD
|
||||||
|
core --> cli-clap
|
||||||
|
core --> gui-eframe
|
||||||
|
core --> tui-ratatui
|
||||||
|
cli-clap --> multibinary
|
||||||
|
gui-eframe --> multibinary
|
||||||
|
tui-ratatui --> multibinary
|
||||||
|
```
|
||||||
|
|
||||||
|
### `core`
|
||||||
|
|
||||||
|
The core of the project, where code for large language model and embedding model inference using [`llama-cpp-2`](https://crates.io/crates/llama-cpp-2) will be (because it's not started yet at the time of writing), where ingesting data will be done, and where public APIs that the other crates (`cli-clap`, `gui-eframe`, and `tui-ratatui`) use will be.
|
||||||
|
|
||||||
|
Each of the interface crates are expected to have feature parity (as in capability, not as in a Cargo feature) where possible, but we'll see how that goes.
|
||||||
|
|
||||||
|
### `cli-clap`
|
||||||
|
|
||||||
|
A command line interface (CLI) for the project written with [`clap`](https://crates.io/crates/clap).
|
||||||
|
|
||||||
|
### `gui-eframe`
|
||||||
|
|
||||||
|
A graphical user interface (GUI) for the project written with [`eframe`](https://crates.io/crates/eframe) for [`egui`](https://crates.io/crates/egui).
|
||||||
|
|
||||||
|
As of right now, it isn't started yet.
|
||||||
|
|
||||||
|
### `tui-ratatui`
|
||||||
|
|
||||||
|
A terminal user interface (TUI) for the project written with [`ratatui`](https://crates.io/crates/ratatui).
|
||||||
|
|
||||||
|
As of right now, it isn't started yet.
|
||||||
|
|
||||||
|
## Versioning
|
||||||
|
|
||||||
|
This project aims to adhere to [semantic versioning](https://semver.org/) using [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/#summary), conducted by [Release-plz](https://release-plz.ieni.dev/).
|
||||||
|
|
||||||
|
To be more specific about what a breaking change _could_ entail:
|
||||||
|
|
||||||
|
- a previously successful compilation now failing
|
||||||
|
- the program (wrongly) exiting, panicking, reporting an error, etc, where it didn't previously
|
||||||
|
- changing the expected result of an existing integration test (not sure if unit tests would count)
|
||||||
|
|
||||||
|
All the crates in this project have a [minimum supported Rust version (MSRV)](https://rust-lang.github.io/rfcs/2495-min-rust-version.html) of 1.76, the release succeeding [the one that stabilized `async fn` in traits](https://blog.rust-lang.org/2023/12/28/Rust-1.75.0.html) (which the `core` crate of this project is expected to make use of). I [intend to test this in CI (GitHub Actions) in the future](https://github.com/babichjacob/ac-qu-ai-nt/issues/5) to identify if it ever gets raised by changes but I have not set this up yet. Raising the MSRV will be considered a breaking change --- my justification is that it [seems more appropriate for an application like this](https://github.com/matklad/once_cell/issues/201#issuecomment-1257213601). This may be reconsidered if [Cargo's MSRV-aware resolver](https://rust-lang.github.io/rfcs/3537-msrv-resolver.html) is stabilized.
|
||||||
|
|
||||||
|
## License
|
||||||
|
|
||||||
|
All contents of this repository are licensed under either the
|
||||||
|
|
||||||
|
- [MIT license](LICENSE-MIT), or
|
||||||
|
- [Apache 2.0 license](LICENSE-APACHE), or
|
||||||
|
- [Unlicense](LICENSE-UNLICENSE)
|
||||||
|
|
||||||
|
at your option.
|
||||||
|
@@ -7,6 +7,57 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|||||||
|
|
||||||
## [Unreleased]
|
## [Unreleased]
|
||||||
|
|
||||||
|
## [0.0.9](https://github.com/babichjacob/ac-qu-ai-nt/compare/ac-qu-ai-nt-cli-clap-v0.0.8...ac-qu-ai-nt-cli-clap-v0.0.9) - 2024-10-15
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
|
||||||
|
- *(ac-qu-ai-nt-cli-clap)* write a `main` function instead of re-exporting so that the declared MSRV can be met
|
||||||
|
|
||||||
|
### Other
|
||||||
|
|
||||||
|
- *(cli-clap)* ignore the `Args` argument because it doesn't get used yet (to satisfy Clippy)
|
||||||
|
- build out the infrastructure for commands to be passed to the clap CLI
|
||||||
|
|
||||||
|
## [0.0.8](https://github.com/babichjacob/ac-qu-ai-nt/compare/ac-qu-ai-nt-cli-clap-v0.0.7...ac-qu-ai-nt-cli-clap-v0.0.8) - 2024-10-07
|
||||||
|
|
||||||
|
### Other
|
||||||
|
|
||||||
|
- update Cargo.toml dependencies
|
||||||
|
|
||||||
|
## [0.0.7](https://github.com/babichjacob/ac-qu-ai-nt/compare/ac-qu-ai-nt-cli-clap-v0.0.6...ac-qu-ai-nt-cli-clap-v0.0.7) - 2024-10-06
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
|
||||||
|
- move the Binstall configuration to the right spot
|
||||||
|
|
||||||
|
## [0.0.6](https://github.com/babichjacob/ac-qu-ai-nt/compare/ac-qu-ai-nt-cli-clap-v0.0.5...ac-qu-ai-nt-cli-clap-v0.0.6) - 2024-10-06
|
||||||
|
|
||||||
|
### Other
|
||||||
|
|
||||||
|
- specify the correct download URLs for Binstall to work correctly
|
||||||
|
|
||||||
|
## [0.0.5](https://github.com/babichjacob/ac-qu-ai-nt/compare/ac-qu-ai-nt-cli-clap-v0.0.4...ac-qu-ai-nt-cli-clap-v0.0.5) - 2024-10-05
|
||||||
|
|
||||||
|
### Other
|
||||||
|
|
||||||
|
- change `Hello, world!` to `What's up world?` to allow me to cut a release
|
||||||
|
|
||||||
|
## [0.0.4](https://github.com/babichjacob/ac-qu-ai-nt/compare/ac-qu-ai-nt-cli-clap-v0.0.3...ac-qu-ai-nt-cli-clap-v0.0.4) - 2024-09-30
|
||||||
|
|
||||||
|
### Added
|
||||||
|
|
||||||
|
- make `tracing` a crate feature and make it a default feature of the current crates
|
||||||
|
|
||||||
|
### Other
|
||||||
|
|
||||||
|
- *(cli-clap)* or at least I hope chore is the right conventional commit type to use - switch `println!` to a `tracing` invocation (to verify that the tracing infrastructure works)
|
||||||
|
|
||||||
|
## [0.0.3](https://github.com/babichjacob/ac-qu-ai-nt/compare/ac-qu-ai-nt-cli-clap-v0.0.2...ac-qu-ai-nt-cli-clap-v0.0.3) - 2024-09-30
|
||||||
|
|
||||||
|
### Other
|
||||||
|
|
||||||
|
- add `tracing` and `tracing-subscriber` as dependencies
|
||||||
|
|
||||||
## [0.0.2](https://github.com/babichjacob/ac-qu-ai-nt/compare/ac-qu-ai-nt-cli-clap-v0.0.1...ac-qu-ai-nt-cli-clap-v0.0.2) - 2024-09-25
|
## [0.0.2](https://github.com/babichjacob/ac-qu-ai-nt/compare/ac-qu-ai-nt-cli-clap-v0.0.1...ac-qu-ai-nt-cli-clap-v0.0.2) - 2024-09-25
|
||||||
|
|
||||||
### Other
|
### Other
|
||||||
|
@@ -1,7 +1,7 @@
|
|||||||
[package]
|
[package]
|
||||||
name = "ac-qu-ai-nt-cli-clap"
|
name = "ac-qu-ai-nt-cli-clap"
|
||||||
description = "A CLI (written with clap) for ac-qu-ai-nt"
|
description = "A CLI (written with clap) for ac-qu-ai-nt"
|
||||||
version = "0.0.2"
|
version = "0.0.9"
|
||||||
edition = "2021"
|
edition = "2021"
|
||||||
rust-version = "1.76"
|
rust-version = "1.76"
|
||||||
|
|
||||||
@@ -9,5 +9,13 @@ authors = { workspace = true }
|
|||||||
license = { workspace = true }
|
license = { workspace = true }
|
||||||
repository = { workspace = true }
|
repository = { workspace = true }
|
||||||
|
|
||||||
|
[package.metadata.binstall]
|
||||||
|
pkg-url = "{ repo }/releases/download/{ name }-v{ version }/{ name }-{ target }{ archive-suffix }"
|
||||||
|
|
||||||
|
[features]
|
||||||
|
default = ["tracing"]
|
||||||
|
tracing = ["dep:tracing"]
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
clap = { workspace = true, features = ["derive", "env"] }
|
clap = { workspace = true, features = ["derive", "env"] }
|
||||||
|
tracing = { workspace = true, optional = true }
|
||||||
|
@@ -1,3 +1,15 @@
|
|||||||
pub fn main() {
|
use clap::{Parser, Subcommand};
|
||||||
println!("Hello, world!");
|
|
||||||
|
#[derive(Debug, Subcommand)]
|
||||||
|
enum Command {}
|
||||||
|
|
||||||
|
#[derive(Debug, Parser)]
|
||||||
|
pub struct Args {
|
||||||
|
#[command(subcommand)]
|
||||||
|
command: Command,
|
||||||
|
}
|
||||||
|
|
||||||
|
pub fn main(_args: Args) {
|
||||||
|
#[cfg(feature = "tracing")]
|
||||||
|
tracing::info!("What's up, world?");
|
||||||
}
|
}
|
||||||
|
@@ -1 +1,7 @@
|
|||||||
use ac_qu_ai_nt_cli_clap::main;
|
use clap::Parser;
|
||||||
|
|
||||||
|
fn main() {
|
||||||
|
let args = ac_qu_ai_nt_cli_clap::Args::parse();
|
||||||
|
|
||||||
|
ac_qu_ai_nt_cli_clap::main(args);
|
||||||
|
}
|
||||||
|
74
core/CHANGELOG.md
Normal file
74
core/CHANGELOG.md
Normal file
@@ -0,0 +1,74 @@
|
|||||||
|
# Changelog
|
||||||
|
|
||||||
|
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.0.0/),
|
||||||
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
||||||
|
|
||||||
|
## [Unreleased]
|
||||||
|
|
||||||
|
## [0.0.5](https://github.com/babichjacob/ac-qu-ai-nt/compare/ac-qu-ai-nt-core-v0.0.4...ac-qu-ai-nt-core-v0.0.5) - 2024-10-17
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
|
||||||
|
- *(ac-qu-ai-nt-core)* raise the minimum acceptable version of `rten` to `0.13.1`
|
||||||
|
|
||||||
|
### Other
|
||||||
|
|
||||||
|
- *(ac-qu-ai-nt-core)* remove `surrealdb` as a dependency because the BUSL doesn't fit what I want this project to be. sorry. we'll see if I feel inclined to give it another chance
|
||||||
|
- *(ac-qu-ai-nt-core)* upgrade `surrealdb` to `2` and I'm not sure why it defaulted to an old version
|
||||||
|
- *(ac-qu-ai-nt-core)* add `ocrs`, `rten`, and `surrealdb` as dependencies because I expect to use them in the future and this will allow GitHub Actions to build cache for them or to report back to me that they're incompatible with the currently `supporteds`
|
||||||
|
- *(ac-qu-ai-nt-core)* [**breaking**] make `tracing` no longer a default feature
|
||||||
|
|
||||||
|
## [0.0.4](https://github.com/babichjacob/ac-qu-ai-nt/compare/ac-qu-ai-nt-core-v0.0.3...ac-qu-ai-nt-core-v0.0.4) - 2024-10-15
|
||||||
|
|
||||||
|
### Other
|
||||||
|
|
||||||
|
- update `llama-cpp-2` and other packages
|
||||||
|
- *(ac-qu-ai-nt-core)* update `llama-cpp-2`
|
||||||
|
- *(core)* add `snafu` as a dependency
|
||||||
|
|
||||||
|
## [0.0.3](https://github.com/babichjacob/ac-qu-ai-nt/compare/ac-qu-ai-nt-core-v0.0.2...ac-qu-ai-nt-core-v0.0.3) - 2024-10-07
|
||||||
|
|
||||||
|
### Other
|
||||||
|
|
||||||
|
- [**breaking**] add `llama-cpp-2` as a dependency (because it will get used in the future), possibly breaking portability (but we'll see what the GitHub Actions workflows say back)
|
||||||
|
|
||||||
|
## [0.0.2](https://github.com/babichjacob/ac-qu-ai-nt/compare/ac-qu-ai-nt-core-v0.0.1...ac-qu-ai-nt-core-v0.0.2) - 2024-10-06
|
||||||
|
|
||||||
|
### Other
|
||||||
|
|
||||||
|
- release
|
||||||
|
|
||||||
|
## [0.0.1](https://github.com/babichjacob/ac-qu-ai-nt/releases/tag/ac-qu-ai-nt-core-v0.0.1) - 2024-10-06
|
||||||
|
|
||||||
|
### Added
|
||||||
|
|
||||||
|
- initialize `core`, `gui-eframe`, and `tui-ratatui` crates and use them in the `multibinary`
|
||||||
|
|
||||||
|
### Other
|
||||||
|
|
||||||
|
- add package `description`s so that they can actually be published
|
||||||
|
- release
|
||||||
|
- run cargo fmt
|
||||||
|
|
||||||
|
## [0.0.1](https://github.com/babichjacob/ac-qu-ai-nt/releases/tag/ac-qu-ai-nt-core-v0.0.1) - 2024-10-06
|
||||||
|
|
||||||
|
### Added
|
||||||
|
|
||||||
|
- initialize `core`, `gui-eframe`, and `tui-ratatui` crates and use them in the `multibinary`
|
||||||
|
|
||||||
|
### Other
|
||||||
|
|
||||||
|
- release
|
||||||
|
- run cargo fmt
|
||||||
|
|
||||||
|
## [0.0.1](https://github.com/babichjacob/ac-qu-ai-nt/releases/tag/ac-qu-ai-nt-core-v0.0.1) - 2024-10-06
|
||||||
|
|
||||||
|
### Added
|
||||||
|
|
||||||
|
- initialize `core`, `gui-eframe`, and `tui-ratatui` crates and use them in the `multibinary`
|
||||||
|
|
||||||
|
### Other
|
||||||
|
|
||||||
|
- run cargo fmt
|
22
core/Cargo.toml
Normal file
22
core/Cargo.toml
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
[package]
|
||||||
|
name = "ac-qu-ai-nt-core"
|
||||||
|
description = "The core library of ac-qu-ai-nt. If you're looking for the application, see cli-clap or gui-eframe or tui-ratatui or the multibinary"
|
||||||
|
version = "0.0.5"
|
||||||
|
edition = "2021"
|
||||||
|
rust-version = "1.76"
|
||||||
|
|
||||||
|
authors = { workspace = true }
|
||||||
|
license = { workspace = true }
|
||||||
|
repository = { workspace = true }
|
||||||
|
|
||||||
|
[features]
|
||||||
|
default = []
|
||||||
|
tracing = ["dep:tracing"]
|
||||||
|
|
||||||
|
[dependencies]
|
||||||
|
llama-cpp-2 = "0.1.82"
|
||||||
|
ocrs = "0.9"
|
||||||
|
rten = "0.13.1"
|
||||||
|
snafu = { workspace = true }
|
||||||
|
|
||||||
|
tracing = { workspace = true, optional = true }
|
1
core/src/lib.rs
Normal file
1
core/src/lib.rs
Normal file
@@ -0,0 +1 @@
|
|||||||
|
|
238
deny.toml
Normal file
238
deny.toml
Normal file
@@ -0,0 +1,238 @@
|
|||||||
|
# This template contains all of the possible sections and their default values
|
||||||
|
|
||||||
|
# Note that all fields that take a lint level have these possible values:
|
||||||
|
# * deny - An error will be produced and the check will fail
|
||||||
|
# * warn - A warning will be produced, but the check will not fail
|
||||||
|
# * allow - No warning or error will be produced, though in some cases a note
|
||||||
|
# will be
|
||||||
|
|
||||||
|
# The values provided in this template are the default values that will be used
|
||||||
|
# when any section or field is not specified in your own configuration
|
||||||
|
|
||||||
|
# Root options
|
||||||
|
|
||||||
|
# The graph table configures how the dependency graph is constructed and thus
|
||||||
|
# which crates the checks are performed against
|
||||||
|
[graph]
|
||||||
|
# If 1 or more target triples (and optionally, target_features) are specified,
|
||||||
|
# only the specified targets will be checked when running `cargo deny check`.
|
||||||
|
# This means, if a particular package is only ever used as a target specific
|
||||||
|
# dependency, such as, for example, the `nix` crate only being used via the
|
||||||
|
# `target_family = "unix"` configuration, that only having windows targets in
|
||||||
|
# this list would mean the nix crate, as well as any of its exclusive
|
||||||
|
# dependencies not shared by any other crates, would be ignored, as the target
|
||||||
|
# list here is effectively saying which targets you are building for.
|
||||||
|
targets = [
|
||||||
|
# The triple can be any string, but only the target triples built in to
|
||||||
|
# rustc (as of 1.40) can be checked against actual config expressions
|
||||||
|
#"x86_64-unknown-linux-musl",
|
||||||
|
# You can also specify which target_features you promise are enabled for a
|
||||||
|
# particular target. target_features are currently not validated against
|
||||||
|
# the actual valid features supported by the target architecture.
|
||||||
|
#{ triple = "wasm32-unknown-unknown", features = ["atomics"] },
|
||||||
|
]
|
||||||
|
# When creating the dependency graph used as the source of truth when checks are
|
||||||
|
# executed, this field can be used to prune crates from the graph, removing them
|
||||||
|
# from the view of cargo-deny. This is an extremely heavy hammer, as if a crate
|
||||||
|
# is pruned from the graph, all of its dependencies will also be pruned unless
|
||||||
|
# they are connected to another crate in the graph that hasn't been pruned,
|
||||||
|
# so it should be used with care. The identifiers are [Package ID Specifications]
|
||||||
|
# (https://doc.rust-lang.org/cargo/reference/pkgid-spec.html)
|
||||||
|
#exclude = []
|
||||||
|
# If true, metadata will be collected with `--all-features`. Note that this can't
|
||||||
|
# be toggled off if true, if you want to conditionally enable `--all-features` it
|
||||||
|
# is recommended to pass `--all-features` on the cmd line instead
|
||||||
|
all-features = false
|
||||||
|
# If true, metadata will be collected with `--no-default-features`. The same
|
||||||
|
# caveat with `all-features` applies
|
||||||
|
no-default-features = false
|
||||||
|
# If set, these feature will be enabled when collecting metadata. If `--features`
|
||||||
|
# is specified on the cmd line they will take precedence over this option.
|
||||||
|
#features = []
|
||||||
|
|
||||||
|
# The output table provides options for how/if diagnostics are outputted
|
||||||
|
[output]
|
||||||
|
# When outputting inclusion graphs in diagnostics that include features, this
|
||||||
|
# option can be used to specify the depth at which feature edges will be added.
|
||||||
|
# This option is included since the graphs can be quite large and the addition
|
||||||
|
# of features from the crate(s) to all of the graph roots can be far too verbose.
|
||||||
|
# This option can be overridden via `--feature-depth` on the cmd line
|
||||||
|
feature-depth = 1
|
||||||
|
|
||||||
|
# This section is considered when running `cargo deny check advisories`
|
||||||
|
# More documentation for the advisories section can be found here:
|
||||||
|
# https://embarkstudios.github.io/cargo-deny/checks/advisories/cfg.html
|
||||||
|
[advisories]
|
||||||
|
# The path where the advisory databases are cloned/fetched into
|
||||||
|
#db-path = "$CARGO_HOME/advisory-dbs"
|
||||||
|
# The url(s) of the advisory databases to use
|
||||||
|
#db-urls = ["https://github.com/rustsec/advisory-db"]
|
||||||
|
# A list of advisory IDs to ignore. Note that ignored advisories will still
|
||||||
|
# output a note when they are encountered.
|
||||||
|
ignore = [
|
||||||
|
#"RUSTSEC-0000-0000",
|
||||||
|
#{ id = "RUSTSEC-0000-0000", reason = "you can specify a reason the advisory is ignored" },
|
||||||
|
#"a-crate-that-is-yanked@0.1.1", # you can also ignore yanked crate versions if you wish
|
||||||
|
#{ crate = "a-crate-that-is-yanked@0.1.1", reason = "you can specify why you are ignoring the yanked crate" },
|
||||||
|
]
|
||||||
|
# If this is true, then cargo deny will use the git executable to fetch advisory database.
|
||||||
|
# If this is false, then it uses a built-in git library.
|
||||||
|
# Setting this to true can be helpful if you have special authentication requirements that cargo-deny does not support.
|
||||||
|
# See Git Authentication for more information about setting up git authentication.
|
||||||
|
#git-fetch-with-cli = true
|
||||||
|
|
||||||
|
# This section is considered when running `cargo deny check licenses`
|
||||||
|
# More documentation for the licenses section can be found here:
|
||||||
|
# https://embarkstudios.github.io/cargo-deny/checks/licenses/cfg.html
|
||||||
|
[licenses]
|
||||||
|
# List of explicitly allowed licenses
|
||||||
|
# See https://spdx.org/licenses/ for list of possible licenses
|
||||||
|
# [possible values: any SPDX 3.11 short identifier (+ optional exception)].
|
||||||
|
allow = [
|
||||||
|
"Apache-2.0",
|
||||||
|
"BSD-3-Clause",
|
||||||
|
"ISC",
|
||||||
|
"MIT",
|
||||||
|
"Unicode-DFS-2016",
|
||||||
|
"Unlicense",
|
||||||
|
]
|
||||||
|
# The confidence threshold for detecting a license from license text.
|
||||||
|
# The higher the value, the more closely the license text must be to the
|
||||||
|
# canonical license text of a valid SPDX license file.
|
||||||
|
# [possible values: any between 0.0 and 1.0].
|
||||||
|
confidence-threshold = 0.8
|
||||||
|
# Allow 1 or more licenses on a per-crate basis, so that particular licenses
|
||||||
|
# aren't accepted for every possible crate as with the normal allow list
|
||||||
|
exceptions = [
|
||||||
|
# Each entry is the crate and version constraint, and its specific allow
|
||||||
|
# list
|
||||||
|
#{ allow = ["Zlib"], crate = "adler32" },
|
||||||
|
]
|
||||||
|
|
||||||
|
# Some crates don't have (easily) machine readable licensing information,
|
||||||
|
# adding a clarification entry for it allows you to manually specify the
|
||||||
|
# licensing information
|
||||||
|
#[[licenses.clarify]]
|
||||||
|
# The package spec the clarification applies to
|
||||||
|
#crate = "ring"
|
||||||
|
# The SPDX expression for the license requirements of the crate
|
||||||
|
#expression = "MIT AND ISC AND OpenSSL"
|
||||||
|
# One or more files in the crate's source used as the "source of truth" for
|
||||||
|
# the license expression. If the contents match, the clarification will be used
|
||||||
|
# when running the license check, otherwise the clarification will be ignored
|
||||||
|
# and the crate will be checked normally, which may produce warnings or errors
|
||||||
|
# depending on the rest of your configuration
|
||||||
|
#license-files = [
|
||||||
|
# Each entry is a crate relative path, and the (opaque) hash of its contents
|
||||||
|
#{ path = "LICENSE", hash = 0xbd0eed23 }
|
||||||
|
#]
|
||||||
|
|
||||||
|
[licenses.private]
|
||||||
|
# If true, ignores workspace crates that aren't published, or are only
|
||||||
|
# published to private registries.
|
||||||
|
# To see how to mark a crate as unpublished (to the official registry),
|
||||||
|
# visit https://doc.rust-lang.org/cargo/reference/manifest.html#the-publish-field.
|
||||||
|
ignore = false
|
||||||
|
# One or more private registries that you might publish crates to, if a crate
|
||||||
|
# is only published to private registries, and ignore is true, the crate will
|
||||||
|
# not have its license(s) checked
|
||||||
|
registries = [
|
||||||
|
#"https://sekretz.com/registry
|
||||||
|
]
|
||||||
|
|
||||||
|
# This section is considered when running `cargo deny check bans`.
|
||||||
|
# More documentation about the 'bans' section can be found here:
|
||||||
|
# https://embarkstudios.github.io/cargo-deny/checks/bans/cfg.html
|
||||||
|
[bans]
|
||||||
|
# Lint level for when multiple versions of the same crate are detected
|
||||||
|
multiple-versions = "warn"
|
||||||
|
# Lint level for when a crate version requirement is `*`
|
||||||
|
wildcards = "allow"
|
||||||
|
# The graph highlighting used when creating dotgraphs for crates
|
||||||
|
# with multiple versions
|
||||||
|
# * lowest-version - The path to the lowest versioned duplicate is highlighted
|
||||||
|
# * simplest-path - The path to the version with the fewest edges is highlighted
|
||||||
|
# * all - Both lowest-version and simplest-path are used
|
||||||
|
highlight = "all"
|
||||||
|
# The default lint level for `default` features for crates that are members of
|
||||||
|
# the workspace that is being checked. This can be overridden by allowing/denying
|
||||||
|
# `default` on a crate-by-crate basis if desired.
|
||||||
|
workspace-default-features = "allow"
|
||||||
|
# The default lint level for `default` features for external crates that are not
|
||||||
|
# members of the workspace. This can be overridden by allowing/denying `default`
|
||||||
|
# on a crate-by-crate basis if desired.
|
||||||
|
external-default-features = "allow"
|
||||||
|
# List of crates that are allowed. Use with care!
|
||||||
|
allow = [
|
||||||
|
#"ansi_term@0.11.0",
|
||||||
|
#{ crate = "ansi_term@0.11.0", reason = "you can specify a reason it is allowed" },
|
||||||
|
]
|
||||||
|
# List of crates to deny
|
||||||
|
deny = [
|
||||||
|
#"ansi_term@0.11.0",
|
||||||
|
#{ crate = "ansi_term@0.11.0", reason = "you can specify a reason it is banned" },
|
||||||
|
# Wrapper crates can optionally be specified to allow the crate when it
|
||||||
|
# is a direct dependency of the otherwise banned crate
|
||||||
|
#{ crate = "ansi_term@0.11.0", wrappers = ["this-crate-directly-depends-on-ansi_term"] },
|
||||||
|
]
|
||||||
|
|
||||||
|
# List of features to allow/deny
|
||||||
|
# Each entry the name of a crate and a version range. If version is
|
||||||
|
# not specified, all versions will be matched.
|
||||||
|
#[[bans.features]]
|
||||||
|
#crate = "reqwest"
|
||||||
|
# Features to not allow
|
||||||
|
#deny = ["json"]
|
||||||
|
# Features to allow
|
||||||
|
#allow = [
|
||||||
|
# "rustls",
|
||||||
|
# "__rustls",
|
||||||
|
# "__tls",
|
||||||
|
# "hyper-rustls",
|
||||||
|
# "rustls",
|
||||||
|
# "rustls-pemfile",
|
||||||
|
# "rustls-tls-webpki-roots",
|
||||||
|
# "tokio-rustls",
|
||||||
|
# "webpki-roots",
|
||||||
|
#]
|
||||||
|
# If true, the allowed features must exactly match the enabled feature set. If
|
||||||
|
# this is set there is no point setting `deny`
|
||||||
|
#exact = true
|
||||||
|
|
||||||
|
# Certain crates/versions that will be skipped when doing duplicate detection.
|
||||||
|
skip = [
|
||||||
|
#"ansi_term@0.11.0",
|
||||||
|
#{ crate = "ansi_term@0.11.0", reason = "you can specify a reason why it can't be updated/removed" },
|
||||||
|
]
|
||||||
|
# Similarly to `skip` allows you to skip certain crates during duplicate
|
||||||
|
# detection. Unlike skip, it also includes the entire tree of transitive
|
||||||
|
# dependencies starting at the specified crate, up to a certain depth, which is
|
||||||
|
# by default infinite.
|
||||||
|
skip-tree = [
|
||||||
|
#"ansi_term@0.11.0", # will be skipped along with _all_ of its direct and transitive dependencies
|
||||||
|
#{ crate = "ansi_term@0.11.0", depth = 20 },
|
||||||
|
]
|
||||||
|
|
||||||
|
# This section is considered when running `cargo deny check sources`.
|
||||||
|
# More documentation about the 'sources' section can be found here:
|
||||||
|
# https://embarkstudios.github.io/cargo-deny/checks/sources/cfg.html
|
||||||
|
[sources]
|
||||||
|
# Lint level for what to happen when a crate from a crate registry that is not
|
||||||
|
# in the allow list is encountered
|
||||||
|
unknown-registry = "warn"
|
||||||
|
# Lint level for what to happen when a crate from a git repository that is not
|
||||||
|
# in the allow list is encountered
|
||||||
|
unknown-git = "warn"
|
||||||
|
# List of URLs for allowed crate registries. Defaults to the crates.io index
|
||||||
|
# if not specified. If it is specified but empty, no registries are allowed.
|
||||||
|
allow-registry = ["https://github.com/rust-lang/crates.io-index"]
|
||||||
|
# List of URLs for allowed Git repositories
|
||||||
|
allow-git = []
|
||||||
|
|
||||||
|
[sources.allow-org]
|
||||||
|
# github.com organizations to allow git sources for
|
||||||
|
github = []
|
||||||
|
# gitlab.com organizations to allow git sources for
|
||||||
|
gitlab = []
|
||||||
|
# bitbucket.org organizations to allow git sources for
|
||||||
|
bitbucket = []
|
65
gui-eframe/CHANGELOG.md
Normal file
65
gui-eframe/CHANGELOG.md
Normal file
@@ -0,0 +1,65 @@
|
|||||||
|
# Changelog
|
||||||
|
|
||||||
|
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.0.0/),
|
||||||
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
||||||
|
|
||||||
|
## [Unreleased]
|
||||||
|
|
||||||
|
## [0.0.6](https://github.com/babichjacob/ac-qu-ai-nt/compare/ac-qu-ai-nt-gui-eframe-v0.0.5...ac-qu-ai-nt-gui-eframe-v0.0.6) - 2024-10-15
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
|
||||||
|
- *(ac-qu-ai-nt-gui-eframe)* write a `main` function instead of re-exporting so that the declared MSRV can be met
|
||||||
|
|
||||||
|
## [0.0.5](https://github.com/babichjacob/ac-qu-ai-nt/compare/ac-qu-ai-nt-gui-eframe-v0.0.4...ac-qu-ai-nt-gui-eframe-v0.0.5) - 2024-10-07
|
||||||
|
|
||||||
|
### Other
|
||||||
|
|
||||||
|
- update Cargo.toml dependencies
|
||||||
|
|
||||||
|
## [0.0.4](https://github.com/babichjacob/ac-qu-ai-nt/compare/ac-qu-ai-nt-gui-eframe-v0.0.3...ac-qu-ai-nt-gui-eframe-v0.0.4) - 2024-10-06
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
|
||||||
|
- move the Binstall configuration to the right spot
|
||||||
|
|
||||||
|
## [0.0.3](https://github.com/babichjacob/ac-qu-ai-nt/compare/ac-qu-ai-nt-gui-eframe-v0.0.2...ac-qu-ai-nt-gui-eframe-v0.0.3) - 2024-10-06
|
||||||
|
|
||||||
|
### Other
|
||||||
|
|
||||||
|
- specify the correct download URLs for Binstall to work correctly
|
||||||
|
|
||||||
|
## [0.0.2](https://github.com/babichjacob/ac-qu-ai-nt/compare/ac-qu-ai-nt-gui-eframe-v0.0.1...ac-qu-ai-nt-gui-eframe-v0.0.2) - 2024-10-06
|
||||||
|
|
||||||
|
### Other
|
||||||
|
|
||||||
|
- release
|
||||||
|
|
||||||
|
## [0.0.1](https://github.com/babichjacob/ac-qu-ai-nt/releases/tag/ac-qu-ai-nt-gui-eframe-v0.0.1) - 2024-10-06
|
||||||
|
|
||||||
|
### Added
|
||||||
|
|
||||||
|
- initialize `core`, `gui-eframe`, and `tui-ratatui` crates and use them in the `multibinary`
|
||||||
|
|
||||||
|
### Other
|
||||||
|
|
||||||
|
- add package `description`s so that they can actually be published
|
||||||
|
- release
|
||||||
|
|
||||||
|
## [0.0.1](https://github.com/babichjacob/ac-qu-ai-nt/releases/tag/ac-qu-ai-nt-gui-eframe-v0.0.1) - 2024-10-06
|
||||||
|
|
||||||
|
### Added
|
||||||
|
|
||||||
|
- initialize `core`, `gui-eframe`, and `tui-ratatui` crates and use them in the `multibinary`
|
||||||
|
|
||||||
|
### Other
|
||||||
|
|
||||||
|
- release
|
||||||
|
|
||||||
|
## [0.0.1](https://github.com/babichjacob/ac-qu-ai-nt/releases/tag/ac-qu-ai-nt-gui-eframe-v0.0.1) - 2024-10-06
|
||||||
|
|
||||||
|
### Added
|
||||||
|
|
||||||
|
- initialize `core`, `gui-eframe`, and `tui-ratatui` crates and use them in the `multibinary`
|
20
gui-eframe/Cargo.toml
Normal file
20
gui-eframe/Cargo.toml
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
[package]
|
||||||
|
name = "ac-qu-ai-nt-gui-eframe"
|
||||||
|
description = "A GUI (written with egui / eframe) for ac-qu-ai-nt"
|
||||||
|
version = "0.0.6"
|
||||||
|
edition = "2021"
|
||||||
|
rust-version = "1.76"
|
||||||
|
|
||||||
|
authors = { workspace = true }
|
||||||
|
license = { workspace = true }
|
||||||
|
repository = { workspace = true }
|
||||||
|
|
||||||
|
[package.metadata.binstall]
|
||||||
|
pkg-url = "{ repo }/releases/download/{ name }-v{ version }/{ name }-{ target }{ archive-suffix }"
|
||||||
|
|
||||||
|
[features]
|
||||||
|
default = ["tracing"]
|
||||||
|
tracing = ["dep:tracing"]
|
||||||
|
|
||||||
|
[dependencies]
|
||||||
|
tracing = { workspace = true, optional = true }
|
4
gui-eframe/src/lib.rs
Normal file
4
gui-eframe/src/lib.rs
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
pub fn main() {
|
||||||
|
#[cfg(feature = "tracing")]
|
||||||
|
tracing::info!("Hello from the eframe-based GUI!");
|
||||||
|
}
|
3
gui-eframe/src/main.rs
Normal file
3
gui-eframe/src/main.rs
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
fn main() {
|
||||||
|
ac_qu_ai_nt_gui_eframe::main();
|
||||||
|
}
|
@@ -7,6 +7,95 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|||||||
|
|
||||||
## [Unreleased]
|
## [Unreleased]
|
||||||
|
|
||||||
|
## [0.0.14](https://github.com/babichjacob/ac-qu-ai-nt/compare/ac-qu-ai-nt-v0.0.13...ac-qu-ai-nt-v0.0.14) - 2024-10-16
|
||||||
|
|
||||||
|
### Added
|
||||||
|
|
||||||
|
- *(multibinary)* support running the binary without arguments (using a sensible user interface as the default), and improve error reporting by using `snafu`
|
||||||
|
|
||||||
|
### Other
|
||||||
|
|
||||||
|
- *(multibinary)* mark the Clippy lint against manually implementing `Default` for `Command` as allowed
|
||||||
|
- *(multibinary)* add `cfg-if` and `snafu` as dependencies
|
||||||
|
|
||||||
|
## [0.0.13](https://github.com/babichjacob/ac-qu-ai-nt/compare/ac-qu-ai-nt-v0.0.12...ac-qu-ai-nt-v0.0.13) - 2024-10-15
|
||||||
|
|
||||||
|
### Other
|
||||||
|
|
||||||
|
- build out the infrastructure for commands to be passed to the clap CLI
|
||||||
|
|
||||||
|
## [0.0.12](https://github.com/babichjacob/ac-qu-ai-nt/compare/ac-qu-ai-nt-v0.0.11...ac-qu-ai-nt-v0.0.12) - 2024-10-07
|
||||||
|
|
||||||
|
### Other
|
||||||
|
|
||||||
|
- updated the following local packages: ac-qu-ai-nt-cli-clap, ac-qu-ai-nt-gui-eframe, ac-qu-ai-nt-tui-ratatui
|
||||||
|
|
||||||
|
## [0.0.11](https://github.com/babichjacob/ac-qu-ai-nt/compare/ac-qu-ai-nt-v0.0.10...ac-qu-ai-nt-v0.0.11) - 2024-10-06
|
||||||
|
|
||||||
|
### Other
|
||||||
|
|
||||||
|
- add Binstall configuration for the multibinary
|
||||||
|
|
||||||
|
## [0.0.10](https://github.com/babichjacob/ac-qu-ai-nt/compare/ac-qu-ai-nt-v0.0.9...ac-qu-ai-nt-v0.0.10) - 2024-10-06
|
||||||
|
|
||||||
|
### Other
|
||||||
|
|
||||||
|
- updated the following local packages: ac-qu-ai-nt-cli-clap, ac-qu-ai-nt-gui-eframe, ac-qu-ai-nt-tui-ratatui
|
||||||
|
|
||||||
|
## [0.0.9](https://github.com/babichjacob/ac-qu-ai-nt/compare/ac-qu-ai-nt-v0.0.8...ac-qu-ai-nt-v0.0.9) - 2024-10-06
|
||||||
|
|
||||||
|
### Other
|
||||||
|
|
||||||
|
- updated the following local packages: ac-qu-ai-nt-gui-eframe, ac-qu-ai-nt-tui-ratatui
|
||||||
|
|
||||||
|
## [0.0.8](https://github.com/babichjacob/ac-qu-ai-nt/compare/ac-qu-ai-nt-v0.0.7...ac-qu-ai-nt-v0.0.8) - 2024-10-06
|
||||||
|
|
||||||
|
### Added
|
||||||
|
|
||||||
|
- initialize `core`, `gui-eframe`, and `tui-ratatui` crates and use them in the `multibinary`
|
||||||
|
|
||||||
|
## [0.0.7](https://github.com/babichjacob/ac-qu-ai-nt/compare/ac-qu-ai-nt-v0.0.6...ac-qu-ai-nt-v0.0.7) - 2024-10-05
|
||||||
|
|
||||||
|
### Other
|
||||||
|
|
||||||
|
- updated the following local packages: ac-qu-ai-nt-cli-clap
|
||||||
|
|
||||||
|
## [0.0.6](https://github.com/babichjacob/ac-qu-ai-nt/compare/ac-qu-ai-nt-v0.0.5...ac-qu-ai-nt-v0.0.6) - 2024-10-05
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
|
||||||
|
- cover the new cases of `Command` for `GuiEframe` and `TuiRatatui`
|
||||||
|
|
||||||
|
### Other
|
||||||
|
|
||||||
|
- correctly add `gui-eframe` and `tui-ratatui` as features this time around
|
||||||
|
- add `gui-eframe` and `tui-ratatui` as subcommands with aliases `gui` and `tui` respectively
|
||||||
|
- add `gui-eframe` and `tui-ratatui` as features
|
||||||
|
|
||||||
|
## [0.0.5](https://github.com/babichjacob/ac-qu-ai-nt/compare/ac-qu-ai-nt-v0.0.4...ac-qu-ai-nt-v0.0.5) - 2024-10-05
|
||||||
|
|
||||||
|
### Other
|
||||||
|
|
||||||
|
- [**breaking**] put accessing the cli under a subcommand like the README suggests it would be
|
||||||
|
|
||||||
|
## [0.0.4](https://github.com/babichjacob/ac-qu-ai-nt/compare/ac-qu-ai-nt-v0.0.3...ac-qu-ai-nt-v0.0.4) - 2024-09-30
|
||||||
|
|
||||||
|
### Added
|
||||||
|
|
||||||
|
- *(multibinary)* initialize a basic tracing subscriber until this is changed to a directory one using `tracing-appender` at a later time
|
||||||
|
- make `tracing` a crate feature and make it a default feature of the current crates
|
||||||
|
|
||||||
|
## [0.0.3](https://github.com/babichjacob/ac-qu-ai-nt/compare/ac-qu-ai-nt-v0.0.2...ac-qu-ai-nt-v0.0.3) - 2024-09-30
|
||||||
|
|
||||||
|
### Added
|
||||||
|
|
||||||
|
- [**breaking**] this is the correct way to format a breaking change unlike my previous commit - ensure the application data directory, and the tracing directory within it, exists
|
||||||
|
|
||||||
|
### Other
|
||||||
|
|
||||||
|
- add `tracing` and `tracing-subscriber` as dependencies
|
||||||
|
- reserve a data directory for the application
|
||||||
|
|
||||||
## [0.0.2](https://github.com/babichjacob/ac-qu-ai-nt/compare/ac-qu-ai-nt-v0.0.1...ac-qu-ai-nt-v0.0.2) - 2024-09-25
|
## [0.0.2](https://github.com/babichjacob/ac-qu-ai-nt/compare/ac-qu-ai-nt-v0.0.1...ac-qu-ai-nt-v0.0.2) - 2024-09-25
|
||||||
|
|
||||||
### Other
|
### Other
|
||||||
|
@@ -1,7 +1,7 @@
|
|||||||
[package]
|
[package]
|
||||||
name = "ac-qu-ai-nt"
|
name = "ac-qu-ai-nt"
|
||||||
description = "A WIP project using AI to break down a user's query, acquire the knowledge to answer it, then transfer those insights to the user"
|
description = "A WIP project using AI to break down a user's query, acquire the knowledge to answer it, then transfer those insights to the user"
|
||||||
version = "0.0.2"
|
version = "0.0.14"
|
||||||
edition = "2021"
|
edition = "2021"
|
||||||
rust-version = "1.76"
|
rust-version = "1.76"
|
||||||
|
|
||||||
@@ -9,9 +9,31 @@ authors = { workspace = true }
|
|||||||
license = { workspace = true }
|
license = { workspace = true }
|
||||||
repository = { workspace = true }
|
repository = { workspace = true }
|
||||||
|
|
||||||
|
[package.metadata.binstall]
|
||||||
|
pkg-url = "{ repo }/releases/download/{ name }-v{ version }/{ name }-{ target }{ archive-suffix }"
|
||||||
|
|
||||||
[features]
|
[features]
|
||||||
default = ["cli-clap"]
|
default = ["cli-clap", "gui-eframe", "tui-ratatui", "tracing"]
|
||||||
|
|
||||||
cli-clap = ["dep:ac-qu-ai-nt-cli-clap"]
|
cli-clap = ["dep:ac-qu-ai-nt-cli-clap"]
|
||||||
|
gui-eframe = ["dep:ac-qu-ai-nt-gui-eframe"]
|
||||||
|
tui-ratatui = ["dep:ac-qu-ai-nt-tui-ratatui"]
|
||||||
|
|
||||||
|
tracing = [
|
||||||
|
"dep:tracing-subscriber",
|
||||||
|
"ac-qu-ai-nt-cli-clap?/tracing",
|
||||||
|
"ac-qu-ai-nt-gui-eframe?/tracing",
|
||||||
|
"ac-qu-ai-nt-tui-ratatui?/tracing",
|
||||||
|
]
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
ac-qu-ai-nt-cli-clap = { version = "0.0.2", path = "../cli-clap", optional = true }
|
ac-qu-ai-nt-cli-clap = { version = "0.0.9", path = "../cli-clap", optional = true }
|
||||||
|
ac-qu-ai-nt-gui-eframe = { version = "0.0.6", path = "../gui-eframe", optional = true }
|
||||||
|
ac-qu-ai-nt-tui-ratatui = { version = "0.0.6", path = "../tui-ratatui", optional = true }
|
||||||
|
|
||||||
|
cfg-if = "1.0.0"
|
||||||
|
clap = { workspace = true, features = ["derive", "env"] }
|
||||||
|
dirs-next = "2.0.0"
|
||||||
|
snafu = { workspace = true }
|
||||||
|
|
||||||
|
tracing-subscriber = { version = "0.3.18", optional = true }
|
||||||
|
@@ -1,4 +1,139 @@
|
|||||||
fn main() {
|
use std::{
|
||||||
#[cfg(feature = "cli-clap")]
|
fs::create_dir_all,
|
||||||
ac_qu_ai_nt_cli_clap::main();
|
io::ErrorKind,
|
||||||
|
path::{Path, PathBuf},
|
||||||
|
};
|
||||||
|
|
||||||
|
use cfg_if::cfg_if;
|
||||||
|
use clap::{Parser, Subcommand};
|
||||||
|
use snafu::{ResultExt, Snafu};
|
||||||
|
|
||||||
|
#[derive(Debug, Parser)]
|
||||||
|
struct Args {
|
||||||
|
#[arg(
|
||||||
|
long,
|
||||||
|
env,
|
||||||
|
default_value_os_t = dirs_next::data_local_dir().expect("sorry but you're on a platform where dirs_next::data_local_dir() returned None, so please specify a data directory for the application").join("ac-qu-ai-nt")
|
||||||
|
)]
|
||||||
|
application_data_directory: PathBuf,
|
||||||
|
|
||||||
|
// If there is a GUI or TUI available from this binary,
|
||||||
|
// then calling this program without arguments
|
||||||
|
// is acceptable: it will launch a user interface
|
||||||
|
#[cfg(any(feature = "gui-eframe", feature = "tui-ratatui"))]
|
||||||
|
#[command(subcommand)]
|
||||||
|
command: Option<Command>,
|
||||||
|
|
||||||
|
#[cfg(not(any(feature = "gui-eframe", feature = "tui-ratatui")))]
|
||||||
|
#[command(subcommand)]
|
||||||
|
command: Command,
|
||||||
|
}
|
||||||
|
|
||||||
|
#[derive(Debug, Subcommand)]
|
||||||
|
enum Command {
|
||||||
|
#[cfg(feature = "gui-eframe")]
|
||||||
|
#[command(alias = "gui")]
|
||||||
|
GuiEframe,
|
||||||
|
|
||||||
|
#[cfg(feature = "tui-ratatui")]
|
||||||
|
#[command(alias = "tui")]
|
||||||
|
TuiRatatui,
|
||||||
|
|
||||||
|
#[cfg(feature = "cli-clap")]
|
||||||
|
#[command(alias = "cli")]
|
||||||
|
CliClap(ac_qu_ai_nt_cli_clap::Args),
|
||||||
|
}
|
||||||
|
|
||||||
|
// When this program is run without arguments,
|
||||||
|
// it will launch a user interface
|
||||||
|
cfg_if!(
|
||||||
|
// with the GUI (made with eframe)
|
||||||
|
// being considered more appealing (made the default)
|
||||||
|
if #[cfg(feature = "gui-eframe")] {
|
||||||
|
#[allow(clippy::derivable_impls)]
|
||||||
|
impl Default for Command {
|
||||||
|
fn default() -> Self {
|
||||||
|
Command::GuiEframe
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// than the TUI (made with Ratatui)
|
||||||
|
else if #[cfg(feature = "tui-ratatui")] {
|
||||||
|
#[allow(clippy::derivable_impls)]
|
||||||
|
impl Default for Command {
|
||||||
|
fn default() -> Self {
|
||||||
|
Command::TuiRatatui
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// with it not being logical to specify
|
||||||
|
// the CLI (made with clap)
|
||||||
|
// as an option,
|
||||||
|
// because if `ac-qu-ai-nt ask "why is the sky blue?"`
|
||||||
|
// were accepted and worked when `cli-clap` was the only
|
||||||
|
// interface enabled, then when another interface
|
||||||
|
// like `gui-eframe` were enabled, it would stop working
|
||||||
|
// (only able to work as `ac-qu-ai-nt cli-clap ask "why is the sky blue?"`)
|
||||||
|
// so it should be required to do it the way that would work
|
||||||
|
// in both cases from the beginning
|
||||||
|
);
|
||||||
|
|
||||||
|
#[derive(Debug, Snafu)]
|
||||||
|
enum ApplicationError {
|
||||||
|
#[snafu(display("failed to create the {path:?} directory"))]
|
||||||
|
DirectoryCreationError {
|
||||||
|
path: PathBuf,
|
||||||
|
source: std::io::Error,
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
/// Create the directory and its parents,
|
||||||
|
/// but don't return an error if it already exists and is a directory
|
||||||
|
fn create_dir_all_exist_ok(path: impl AsRef<Path>) -> Result<(), std::io::Error> {
|
||||||
|
match create_dir_all(&path) {
|
||||||
|
Ok(()) => Ok(()),
|
||||||
|
Err(e) => {
|
||||||
|
if e.kind() == ErrorKind::AlreadyExists && path.as_ref().is_dir() {
|
||||||
|
Ok(())
|
||||||
|
} else {
|
||||||
|
Err(e)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#[snafu::report]
|
||||||
|
fn main() -> Result<(), ApplicationError> {
|
||||||
|
let Args {
|
||||||
|
application_data_directory,
|
||||||
|
command,
|
||||||
|
} = Args::parse();
|
||||||
|
|
||||||
|
#[cfg(feature = "tracing")]
|
||||||
|
tracing_subscriber::fmt::init();
|
||||||
|
|
||||||
|
create_dir_all_exist_ok(&application_data_directory).with_context(|_| {
|
||||||
|
DirectoryCreationSnafu {
|
||||||
|
path: application_data_directory.clone(),
|
||||||
|
}
|
||||||
|
})?;
|
||||||
|
|
||||||
|
let tracing_directory = application_data_directory.join("logs");
|
||||||
|
create_dir_all_exist_ok(&tracing_directory).with_context(|_| DirectoryCreationSnafu {
|
||||||
|
path: tracing_directory.clone(),
|
||||||
|
})?;
|
||||||
|
|
||||||
|
#[cfg(any(feature = "gui-eframe", feature = "tui-ratatui"))]
|
||||||
|
let command = command.unwrap_or_default();
|
||||||
|
|
||||||
|
match command {
|
||||||
|
#[cfg(feature = "cli-clap")]
|
||||||
|
Command::CliClap(args) => ac_qu_ai_nt_cli_clap::main(args),
|
||||||
|
#[cfg(feature = "gui-eframe")]
|
||||||
|
Command::GuiEframe => ac_qu_ai_nt_gui_eframe::main(),
|
||||||
|
#[cfg(feature = "tui-ratatui")]
|
||||||
|
Command::TuiRatatui => ac_qu_ai_nt_tui_ratatui::main(),
|
||||||
|
}
|
||||||
|
|
||||||
|
Ok(())
|
||||||
}
|
}
|
||||||
|
65
tui-ratatui/CHANGELOG.md
Normal file
65
tui-ratatui/CHANGELOG.md
Normal file
@@ -0,0 +1,65 @@
|
|||||||
|
# Changelog
|
||||||
|
|
||||||
|
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.0.0/),
|
||||||
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
||||||
|
|
||||||
|
## [Unreleased]
|
||||||
|
|
||||||
|
## [0.0.6](https://github.com/babichjacob/ac-qu-ai-nt/compare/ac-qu-ai-nt-tui-ratatui-v0.0.5...ac-qu-ai-nt-tui-ratatui-v0.0.6) - 2024-10-15
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
|
||||||
|
- *(ac-qu-ai-nt-tui-ratatui)* write a `main` function instead of re-exporting so that the declared MSRV can be met
|
||||||
|
|
||||||
|
## [0.0.5](https://github.com/babichjacob/ac-qu-ai-nt/compare/ac-qu-ai-nt-tui-ratatui-v0.0.4...ac-qu-ai-nt-tui-ratatui-v0.0.5) - 2024-10-07
|
||||||
|
|
||||||
|
### Other
|
||||||
|
|
||||||
|
- update Cargo.toml dependencies
|
||||||
|
|
||||||
|
## [0.0.4](https://github.com/babichjacob/ac-qu-ai-nt/compare/ac-qu-ai-nt-tui-ratatui-v0.0.3...ac-qu-ai-nt-tui-ratatui-v0.0.4) - 2024-10-06
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
|
||||||
|
- move the Binstall configuration to the right spot
|
||||||
|
|
||||||
|
## [0.0.3](https://github.com/babichjacob/ac-qu-ai-nt/compare/ac-qu-ai-nt-tui-ratatui-v0.0.2...ac-qu-ai-nt-tui-ratatui-v0.0.3) - 2024-10-06
|
||||||
|
|
||||||
|
### Other
|
||||||
|
|
||||||
|
- specify the correct download URLs for Binstall to work correctly
|
||||||
|
|
||||||
|
## [0.0.2](https://github.com/babichjacob/ac-qu-ai-nt/compare/ac-qu-ai-nt-tui-ratatui-v0.0.1...ac-qu-ai-nt-tui-ratatui-v0.0.2) - 2024-10-06
|
||||||
|
|
||||||
|
### Other
|
||||||
|
|
||||||
|
- release
|
||||||
|
|
||||||
|
## [0.0.1](https://github.com/babichjacob/ac-qu-ai-nt/releases/tag/ac-qu-ai-nt-tui-ratatui-v0.0.1) - 2024-10-06
|
||||||
|
|
||||||
|
### Added
|
||||||
|
|
||||||
|
- initialize `core`, `gui-eframe`, and `tui-ratatui` crates and use them in the `multibinary`
|
||||||
|
|
||||||
|
### Other
|
||||||
|
|
||||||
|
- add package `description`s so that they can actually be published
|
||||||
|
- release
|
||||||
|
|
||||||
|
## [0.0.1](https://github.com/babichjacob/ac-qu-ai-nt/releases/tag/ac-qu-ai-nt-tui-ratatui-v0.0.1) - 2024-10-06
|
||||||
|
|
||||||
|
### Added
|
||||||
|
|
||||||
|
- initialize `core`, `gui-eframe`, and `tui-ratatui` crates and use them in the `multibinary`
|
||||||
|
|
||||||
|
### Other
|
||||||
|
|
||||||
|
- release
|
||||||
|
|
||||||
|
## [0.0.1](https://github.com/babichjacob/ac-qu-ai-nt/releases/tag/ac-qu-ai-nt-tui-ratatui-v0.0.1) - 2024-10-06
|
||||||
|
|
||||||
|
### Added
|
||||||
|
|
||||||
|
- initialize `core`, `gui-eframe`, and `tui-ratatui` crates and use them in the `multibinary`
|
20
tui-ratatui/Cargo.toml
Normal file
20
tui-ratatui/Cargo.toml
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
[package]
|
||||||
|
name = "ac-qu-ai-nt-tui-ratatui"
|
||||||
|
description = "A TUI (written with Ratatui) for ac-qu-ai-nt"
|
||||||
|
version = "0.0.6"
|
||||||
|
edition = "2021"
|
||||||
|
rust-version = "1.76"
|
||||||
|
|
||||||
|
authors = { workspace = true }
|
||||||
|
license = { workspace = true }
|
||||||
|
repository = { workspace = true }
|
||||||
|
|
||||||
|
[package.metadata.binstall]
|
||||||
|
pkg-url = "{ repo }/releases/download/{ name }-v{ version }/{ name }-{ target }{ archive-suffix }"
|
||||||
|
|
||||||
|
[features]
|
||||||
|
default = ["tracing"]
|
||||||
|
tracing = ["dep:tracing"]
|
||||||
|
|
||||||
|
[dependencies]
|
||||||
|
tracing = { workspace = true, optional = true }
|
4
tui-ratatui/src/lib.rs
Normal file
4
tui-ratatui/src/lib.rs
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
pub fn main() {
|
||||||
|
#[cfg(feature = "tracing")]
|
||||||
|
tracing::info!("This is from the TUI based on Ratatui.");
|
||||||
|
}
|
3
tui-ratatui/src/main.rs
Normal file
3
tui-ratatui/src/main.rs
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
fn main() {
|
||||||
|
ac_qu_ai_nt_tui_ratatui::main();
|
||||||
|
}
|
Reference in New Issue
Block a user