Compare commits

...

37 Commits

Author SHA1 Message Date
J / Jacob Babich
59cc6b4063 chore(ac-qu-ai-nt-core)!: raise minimum version of llama-cpp-2
Some checks failed
Daily / Test aarch64-apple-darwin with nightly Rust (on macos-latest) (push) Has been cancelled
Daily / Test x86_64-unknown-linux-musl with nightly Rust (on ubuntu-latest) (push) Has been cancelled
Check, build, and test / Verify MSRV for ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) (map[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-… (push) Has been cancelled
Check, build, and test / Verify MSRV for ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) (map[runner:macos-latest target:aarch64-apple-darwin]) (push) Has been cancelled
Check, build, and test / Verify MSRV for ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) (map[runner:macos-latest target:x86_64-apple-darwin]) (push) Has been cancelled
Check, build, and test / Verify MSRV for ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) (map[runner:ubuntu-latest target:x86_64-unknown-linux-gnu]) (push) Has been cancelled
Daily / Check and build ${{ matrix.supporteds.target }} with nightly Rust (on ${{ matrix.supporteds.runner }}) ${{ matrix.minimal_or_latest.job_name_suffix }} (map[runner:macos-latest target:x86_64-apple-darwin]) (push) Has been cancelled
Daily / Check and build ${{ matrix.supporteds.target }} with nightly Rust (on ${{ matrix.supporteds.runner }}) ${{ matrix.minimal_or_latest.job_name_suffix }} (map[runner:ubuntu-latest target:x86_64-unknown-linux-gnu]) (push) Has been cancelled
Daily / Check and build ${{ matrix.supporteds.target }} with nightly Rust (on ${{ matrix.supporteds.runner }}) ${{ matrix.minimal_or_latest.job_name_suffix }} (map[runner:windows-latest target:aarch64-pc-windows-msvc]) (push) Has been cancelled
Daily / Check and build ${{ matrix.supporteds.target }} with nightly Rust (on ${{ matrix.supporteds.runner }}) ${{ matrix.minimal_or_latest.job_name_suffix }} (map[runner:windows-latest target:x86_64-pc-windows-msvc]) (push) Has been cancelled
Daily / Test ${{ matrix.supporteds.target }} with nightly Rust (on ${{ matrix.supporteds.runner }}) (map[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_6… (push) Has been cancelled
Daily / Use `cargo-audit` to create issues for vulnerabilities or other problems (push) Has been cancelled
Daily / Check and build ${{ matrix.supporteds.target }} with nightly Rust (on ${{ matrix.supporteds.runner }}) ${{ matrix.minimal_or_latest.job_name_suffix }} (map[install_prerequisite:sudo apt-get update && sudo apt-get install musl-dev musl-tools && sudo ln … (push) Has been cancelled
Daily / Check and build ${{ matrix.supporteds.target }} with nightly Rust (on ${{ matrix.supporteds.runner }}) ${{ matrix.minimal_or_latest.job_name_suffix }} (map[install_prerequisite:sudo apt-get update && sudo apt-get install musl-dev musl-tools gcc-aarch64… (push) Has been cancelled
Daily / Check and build ${{ matrix.supporteds.target }} with nightly Rust (on ${{ matrix.supporteds.runner }}) ${{ matrix.minimal_or_latest.job_name_suffix }} (map[runner:macos-latest target:aarch64-apple-darwin]) (push) Has been cancelled
Daily / Test ${{ matrix.supporteds.target }} with nightly Rust (on ${{ matrix.supporteds.runner }}) (map[runner:macos-latest target:aarch64-apple-darwin]) (push) Has been cancelled
Daily / Test ${{ matrix.supporteds.target }} with nightly Rust (on ${{ matrix.supporteds.runner }}) (map[runner:macos-latest target:x86_64-apple-darwin]) (push) Has been cancelled
Daily / Test ${{ matrix.supporteds.target }} with nightly Rust (on ${{ matrix.supporteds.runner }}) (map[runner:ubuntu-latest target:x86_64-unknown-linux-gnu]) (push) Has been cancelled
Daily / Test ${{ matrix.supporteds.target }} with nightly Rust (on ${{ matrix.supporteds.runner }}) (map[runner:windows-latest target:x86_64-pc-windows-msvc]) (push) Has been cancelled
Daily / Check and build x86_64-unknown-linux-musl with nightly Rust (on ubuntu-latest) (push) Has been cancelled
Daily / Check and build aarch64-unknown-linux-gnu with nightly Rust (on ubuntu-latest) (push) Has been cancelled
Daily / Check and build aarch64-unknown-linux-musl with nightly Rust (on ubuntu-latest) (push) Has been cancelled
Daily / Check and build aarch64-apple-darwin with nightly Rust (on macos-latest) (push) Has been cancelled
Daily / Check and build x86_64-apple-darwin with nightly Rust (on macos-latest) (push) Has been cancelled
Daily / Check and build x86_64-unknown-linux-gnu with nightly Rust (on ubuntu-latest) (push) Has been cancelled
Daily / Check and build aarch64-pc-windows-msvc with nightly Rust (on windows-latest) (push) Has been cancelled
Daily / Check and build x86_64-pc-windows-msvc with nightly Rust (on windows-latest) (push) Has been cancelled
Daily / Test x86_64-apple-darwin with nightly Rust (on macos-latest) (push) Has been cancelled
Daily / Test x86_64-unknown-linux-gnu with nightly Rust (on ubuntu-latest) (push) Has been cancelled
Daily / Test x86_64-pc-windows-msvc with nightly Rust (on windows-latest) (push) Has been cancelled
2024-12-04 20:01:06 -05:00
J / Jacob Babich
88a6aad136 chore(ac-qu-ai-nt-core): remove rten as a direct dependency 2024-12-04 13:46:55 -05:00
J / Jacob Babich
569d808b5b chore: upgrade dependencies in the lockfile 2024-12-04 13:43:10 -05:00
J / Jacob Babich
f3d18ca86c docs: remove leading ./ in links to the check and build and test workflow and the cargo-deny configuration 2024-12-04 13:41:40 -05:00
J / Jacob Babich
6e1fb6414b docs: brag about being completely freedom software 2024-10-20 16:33:25 -04:00
J
f4e2f696ef Merge pull request #28 from babichjacob/release-plz-2024-10-18T19-31-31Z
Some checks failed
Check, build, and test / Test ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) (map[runner:macos-latest target:x86_64-apple-darwin]) (push) Has been cancelled
Check, build, and test / Check cargo-audit, cargo-deny, clippy, and formatting (push) Has been cancelled
Check, build, and test / Check and build ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) ${{ matrix.minimal_or_latest.job_name_suffix }} (map[build_command:cargo build --verbose cache_key:latest check_command:cargo check --verbose job_name_suffix:(with lat… (push) Has been cancelled
Check, build, and test / Check and build ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) ${{ matrix.minimal_or_latest.job_name_suffix }} (map[build_command:cargo minimal-versions build --direct --verbose cache_key:minimal check_command:cargo minimal-versio… (push) Has been cancelled
Check, build, and test / Test ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) (map[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-mu… (push) Has been cancelled
Check, build, and test / Test ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) (map[runner:macos-latest target:aarch64-apple-darwin]) (push) Has been cancelled
Check, build, and test / Test ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) (map[runner:ubuntu-latest target:x86_64-unknown-linux-gnu]) (push) Has been cancelled
Check, build, and test / Test ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) (map[runner:windows-latest target:x86_64-pc-windows-msvc]) (push) Has been cancelled
Check, build, and test / Verify MSRV for ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) (map[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-unkno… (push) Has been cancelled
Check, build, and test / Verify MSRV for ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) (map[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-… (push) Has been cancelled
Check, build, and test / Verify MSRV for ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) (map[runner:macos-latest target:aarch64-apple-darwin]) (push) Has been cancelled
Check, build, and test / Verify MSRV for ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) (map[runner:macos-latest target:x86_64-apple-darwin]) (push) Has been cancelled
Check, build, and test / Verify MSRV for ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) (map[runner:ubuntu-latest target:x86_64-unknown-linux-gnu]) (push) Has been cancelled
Release-plz / Release-plz (push) Has been cancelled
chore(ac-qu-ai-nt-core): release v0.0.7
2024-10-18 15:45:56 -04:00
release-plz-for-ac-qu-ai-nt[bot]
7b661f4554 chore(ac-qu-ai-nt-core): release v0.0.7 2024-10-18 19:31:31 +00:00
J / Jacob Babich
14321c8b92 chore: accept Zlib as the license of a dependency 2024-10-18 15:27:42 -04:00
J / Jacob Babich
973961f103 chore: accept BSD-2-Clause as the license of a dependency 2024-10-18 15:27:38 -04:00
J / Jacob Babich
08fb098459 chore(ac-qu-ai-nt-core): add cozo as a dependency because I expect to use it and I'd like to make sure everything works out 2024-10-18 15:27:34 -04:00
J
a8812ac17b Merge pull request #27 from babichjacob/release-plz-2024-10-18T07-30-32Z
chore: release
2024-10-18 13:40:54 -04:00
release-plz-for-ac-qu-ai-nt[bot]
fcf90d84af chore(ac-qu-ai-nt-core): release v0.0.6 2024-10-18 17:39:02 +00:00
J / Jacob Babich
5dce8a0381 fix!: raise the minimum version of tracing because there's a rough edge here in the minimal version checking experience and it's easier to just raise this minimum than investigate and identify a workaround 2024-10-18 13:34:51 -04:00
J / Jacob Babich
60c0dbdb6c fix(ac-qu-ai-nt-core): raise the minimum version of the reqwest dependency to the first one that includes the zstd feature 2024-10-18 13:21:19 -04:00
J / Jacob Babich
7997593970 chore: update Cargo.lock
Some checks are pending
Check, build, and test / Check cargo-audit, cargo-deny, clippy, and formatting (push) Waiting to run
Check, build, and test / Check and build ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) ${{ matrix.minimal_or_latest.job_name_suffix }} (map[build_command:cargo build --verbose cache_key:latest check_command:cargo check --verbose job_name_suffix:(with lat… (push) Waiting to run
Check, build, and test / Check and build ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) ${{ matrix.minimal_or_latest.job_name_suffix }} (map[build_command:cargo minimal-versions build --direct --verbose cache_key:minimal check_command:cargo minimal-versio… (push) Waiting to run
Check, build, and test / Test ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) (map[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-mu… (push) Waiting to run
Check, build, and test / Test ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) (map[runner:macos-latest target:aarch64-apple-darwin]) (push) Waiting to run
Check, build, and test / Test ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) (map[runner:macos-latest target:x86_64-apple-darwin]) (push) Waiting to run
Check, build, and test / Test ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) (map[runner:ubuntu-latest target:x86_64-unknown-linux-gnu]) (push) Waiting to run
Check, build, and test / Test ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) (map[runner:windows-latest target:x86_64-pc-windows-msvc]) (push) Waiting to run
Check, build, and test / Verify MSRV for ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) (map[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-unkno… (push) Waiting to run
Check, build, and test / Verify MSRV for ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) (map[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-… (push) Waiting to run
Check, build, and test / Verify MSRV for ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) (map[runner:macos-latest target:aarch64-apple-darwin]) (push) Waiting to run
Check, build, and test / Verify MSRV for ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) (map[runner:macos-latest target:x86_64-apple-darwin]) (push) Waiting to run
Check, build, and test / Verify MSRV for ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) (map[runner:ubuntu-latest target:x86_64-unknown-linux-gnu]) (push) Waiting to run
Release-plz / Release-plz (push) Waiting to run
2024-10-18 03:27:20 -04:00
J / Jacob Babich
a48e78323a chore: accept MPL-2.0 as the license of a dependency 2024-10-18 03:26:25 -04:00
J / Jacob Babich
5fb65e5a62 chore: accept OpenSSL as the license of a dependency 2024-10-18 03:25:58 -04:00
J / Jacob Babich
09f0c52520 chore: clarify the ring license 2024-10-18 03:25:03 -04:00
J / Jacob Babich
3643d97384 chore(ac-qu-ai-nt-core): add reqwest as a dependency because I expect to use it and I'd like to make sure everything works out 2024-10-18 03:20:29 -04:00
J / Jacob Babich
575170bb92 ci(check-and-build-and-test): in the test job, build tests before running them
Signed-off-by: J / Jacob Babich <jacobbabichpublic+git@gmail.com>
2024-10-17 17:57:25 -04:00
J
f4cbe18b73 Merge pull request #25 from babichjacob/release-plz-2024-10-16T19-32-56Z
Some checks are pending
Check, build, and test / Check cargo-audit, cargo-deny, clippy, and formatting (push) Waiting to run
Check, build, and test / Check and build ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) ${{ matrix.minimal_or_latest.job_name_suffix }} (map[build_command:cargo build --verbose cache_key:latest check_command:cargo check --verbose job_name_suffix:(with lat… (push) Waiting to run
Check, build, and test / Check and build ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) ${{ matrix.minimal_or_latest.job_name_suffix }} (map[build_command:cargo minimal-versions build --direct --verbose cache_key:minimal check_command:cargo minimal-versio… (push) Waiting to run
Check, build, and test / Test ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) (map[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-mu… (push) Waiting to run
Check, build, and test / Test ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) (map[runner:macos-latest target:aarch64-apple-darwin]) (push) Waiting to run
Check, build, and test / Test ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) (map[runner:macos-latest target:x86_64-apple-darwin]) (push) Waiting to run
Check, build, and test / Test ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) (map[runner:ubuntu-latest target:x86_64-unknown-linux-gnu]) (push) Waiting to run
Check, build, and test / Test ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) (map[runner:windows-latest target:x86_64-pc-windows-msvc]) (push) Waiting to run
Check, build, and test / Verify MSRV for ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) (map[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-unkno… (push) Waiting to run
Check, build, and test / Verify MSRV for ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) (map[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-… (push) Waiting to run
Check, build, and test / Verify MSRV for ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) (map[runner:macos-latest target:aarch64-apple-darwin]) (push) Waiting to run
Check, build, and test / Verify MSRV for ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) (map[runner:macos-latest target:x86_64-apple-darwin]) (push) Waiting to run
Check, build, and test / Verify MSRV for ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) (map[runner:ubuntu-latest target:x86_64-unknown-linux-gnu]) (push) Waiting to run
Release-plz / Release-plz (push) Waiting to run
chore(ac-qu-ai-nt-core): release v0.0.5
2024-10-17 16:01:16 -04:00
release-plz-for-ac-qu-ai-nt[bot]
6c50f6bd20 chore(ac-qu-ai-nt-core): release v0.0.5 2024-10-17 19:26:29 +00:00
J / Jacob Babich
b5c7dfe667 fix(ac-qu-ai-nt-core): raise the minimum acceptable version of rten to 0.13.1 2024-10-17 15:22:53 -04:00
J / Jacob Babich
72a33524a5 chore(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
Some checks are pending
Check, build, and test / Check cargo-audit, cargo-deny, clippy, and formatting (push) Waiting to run
Check, build, and test / Check and build ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) ${{ matrix.minimal_or_latest.job_name_suffix }} (map[build_command:cargo build --verbose cache_key:latest check_command:cargo check --verbose job_name_suffix:(with lat… (push) Waiting to run
Check, build, and test / Check and build ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) ${{ matrix.minimal_or_latest.job_name_suffix }} (map[build_command:cargo minimal-versions build --direct --verbose cache_key:minimal check_command:cargo minimal-versio… (push) Waiting to run
Check, build, and test / Test ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) (map[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-mu… (push) Waiting to run
Check, build, and test / Test ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) (map[runner:macos-latest target:aarch64-apple-darwin]) (push) Waiting to run
Check, build, and test / Test ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) (map[runner:macos-latest target:x86_64-apple-darwin]) (push) Waiting to run
Check, build, and test / Test ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) (map[runner:ubuntu-latest target:x86_64-unknown-linux-gnu]) (push) Waiting to run
Check, build, and test / Test ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) (map[runner:windows-latest target:x86_64-pc-windows-msvc]) (push) Waiting to run
Check, build, and test / Verify MSRV for ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) (map[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-unkno… (push) Waiting to run
Check, build, and test / Verify MSRV for ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) (map[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-… (push) Waiting to run
Check, build, and test / Verify MSRV for ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) (map[runner:macos-latest target:aarch64-apple-darwin]) (push) Waiting to run
Check, build, and test / Verify MSRV for ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) (map[runner:macos-latest target:x86_64-apple-darwin]) (push) Waiting to run
Check, build, and test / Verify MSRV for ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) (map[runner:ubuntu-latest target:x86_64-unknown-linux-gnu]) (push) Waiting to run
Release-plz / Release-plz (push) Waiting to run
2024-10-17 02:16:42 -04:00
J / Jacob Babich
1d7d24aa07 chore: allow dependencies to use the Unlicense (just like this project does!) 2024-10-17 02:14:31 -04:00
J / Jacob Babich
24f60fbca2 chore(ac-qu-ai-nt-core): upgrade surrealdb to 2 and I'm not sure why it defaulted to an old version
Some checks are pending
Check, build, and test / Verify MSRV for ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) (map[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-… (push) Waiting to run
Check, build, and test / Verify MSRV for ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) (map[runner:macos-latest target:aarch64-apple-darwin]) (push) Waiting to run
Check, build, and test / Verify MSRV for ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) (map[runner:macos-latest target:x86_64-apple-darwin]) (push) Waiting to run
Check, build, and test / Verify MSRV for ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) (map[runner:ubuntu-latest target:x86_64-unknown-linux-gnu]) (push) Waiting to run
Check, build, and test / Check cargo-audit, cargo-deny, clippy, and formatting (push) Waiting to run
Check, build, and test / Check and build ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) ${{ matrix.minimal_or_latest.job_name_suffix }} (map[build_command:cargo build --verbose cache_key:latest check_command:cargo check --verbose job_name_suffix:(with lat… (push) Waiting to run
Check, build, and test / Check and build ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) ${{ matrix.minimal_or_latest.job_name_suffix }} (map[build_command:cargo minimal-versions build --direct --verbose cache_key:minimal check_command:cargo minimal-versio… (push) Waiting to run
Check, build, and test / Test ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) (map[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-mu… (push) Waiting to run
Check, build, and test / Test ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) (map[runner:macos-latest target:aarch64-apple-darwin]) (push) Waiting to run
Check, build, and test / Test ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) (map[runner:macos-latest target:x86_64-apple-darwin]) (push) Waiting to run
Check, build, and test / Test ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) (map[runner:ubuntu-latest target:x86_64-unknown-linux-gnu]) (push) Waiting to run
Check, build, and test / Test ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) (map[runner:windows-latest target:x86_64-pc-windows-msvc]) (push) Waiting to run
Check, build, and test / Verify MSRV for ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) (map[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-unkno… (push) Waiting to run
Release-plz / Release-plz (push) Waiting to run
2024-10-16 15:35:06 -04:00
J / Jacob Babich
0c1af2ba42 chore(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 2024-10-16 15:28:51 -04:00
J / Jacob Babich
7455d2a908 chore(ac-qu-ai-nt-core)!: make tracing no longer a default feature 2024-10-16 15:26:09 -04:00
J / Jacob Babich
7f38eb81c6 ci(compile-and-publish-binaries-to-release): install the correct Rust target instead of leaving it unspecified
Some checks are pending
Check, build, and test / Verify MSRV for ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) (map[runner:macos-latest target:aarch64-apple-darwin]) (push) Waiting to run
Check, build, and test / Verify MSRV for ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) (map[runner:macos-latest target:x86_64-apple-darwin]) (push) Waiting to run
Check, build, and test / Check cargo-audit, cargo-deny, clippy, and formatting (push) Waiting to run
Check, build, and test / Check and build ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) ${{ matrix.minimal_or_latest.job_name_suffix }} (map[build_command:cargo build --verbose cache_key:latest check_command:cargo check --verbose job_name_suffix:(with lat… (push) Waiting to run
Check, build, and test / Check and build ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) ${{ matrix.minimal_or_latest.job_name_suffix }} (map[build_command:cargo minimal-versions build --direct --verbose cache_key:minimal check_command:cargo minimal-versio… (push) Waiting to run
Check, build, and test / Test ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) (map[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-mu… (push) Waiting to run
Check, build, and test / Test ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) (map[runner:macos-latest target:aarch64-apple-darwin]) (push) Waiting to run
Check, build, and test / Test ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) (map[runner:macos-latest target:x86_64-apple-darwin]) (push) Waiting to run
Check, build, and test / Test ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) (map[runner:ubuntu-latest target:x86_64-unknown-linux-gnu]) (push) Waiting to run
Check, build, and test / Test ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) (map[runner:windows-latest target:x86_64-pc-windows-msvc]) (push) Waiting to run
Check, build, and test / Verify MSRV for ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) (map[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-unkno… (push) Waiting to run
Check, build, and test / Verify MSRV for ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) (map[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-… (push) Waiting to run
Check, build, and test / Verify MSRV for ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) (map[runner:ubuntu-latest target:x86_64-unknown-linux-gnu]) (push) Waiting to run
Release-plz / Release-plz (push) Waiting to run
2024-10-16 02:22:52 -04:00
J
1d94489a89 Merge pull request #23 from babichjacob/release-plz-2024-10-16T06-08-39Z
chore(ac-qu-ai-nt): release v0.0.14
2024-10-16 02:18:06 -04:00
release-plz-for-ac-qu-ai-nt[bot]
833cc52252 chore(ac-qu-ai-nt): release v0.0.14 2024-10-16 06:16:45 +00:00
J / Jacob Babich
f392562f81 style(multibinary): mark the Clippy lint against manually implementing Default for Command as allowed 2024-10-16 02:16:22 -04:00
J / Jacob Babich
3169ab4cda ci(daily): change the time it runs to 09:26 UTC 2024-10-16 02:11:37 -04:00
J / Jacob Babich
7480cdcf96 feat(multibinary): support running the binary without arguments (using a sensible user interface as the default), and improve error reporting by using snafu 2024-10-16 02:07:57 -04:00
J / Jacob Babich
aee2678638 chore(multibinary): add cfg-if and snafu as dependencies 2024-10-16 02:06:50 -04:00
J / Jacob Babich
aa0e7481d6 docs: explain the project breakdown and issue and pull request mechanics 2024-10-15 20:05:29 -04:00
J / Jacob Babich
4a31e2311e ci(compile-and-publish-binaries-to-release): specify the target to build for 2024-10-15 20:05:29 -04:00
18 changed files with 3091 additions and 137 deletions

View File

@@ -199,6 +199,8 @@ jobs:
shared-key: ${{ matrix.supporteds.target }}-latest shared-key: ${{ matrix.supporteds.target }}-latest
cache-on-failure: "true" cache-on-failure: "true"
- name: Build tests
run: cargo build --tests --target ${{ matrix.supporteds.target }}
- name: Test - name: Test
run: cargo nextest run --target ${{ matrix.supporteds.target }} run: cargo nextest run --target ${{ matrix.supporteds.target }}

View File

@@ -65,6 +65,8 @@ jobs:
- name: Install stable Rust toolchain - 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: with:
@@ -72,7 +74,7 @@ jobs:
cache-on-failure: "true" 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 }}
# Have to do it like this because of https://github.com/actions/runner/issues/1985 # 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') - if: startsWith(github.event.release.tag_name, 'ac-qu-ai-nt-v')

View File

@@ -2,7 +2,7 @@ name: Daily
on: on:
schedule: schedule:
- cron: "41 23 * * *" - cron: "26 9 * * *"
jobs: jobs:
audit: audit:

2933
Cargo.lock generated

File diff suppressed because it is too large Load Diff

View File

@@ -10,4 +10,4 @@ repository = "https://github.com/babichjacob/ac-qu-ai-nt"
[workspace.dependencies] [workspace.dependencies]
clap = "4" clap = "4"
snafu = "0.8" snafu = "0.8"
tracing = "0.1.23" tracing = "0.1.35"

View File

@@ -5,6 +5,7 @@ This is a placeholder while I take small steps to build out the project.
# Installation # Installation
## Automatically Updatable ## 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. 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 ```sh
@@ -12,28 +13,35 @@ cargo-binstall -y ac-qu-ai-nt
``` ```
Install [`cargo-update`](https://github.com/nabijaczleweli/cargo-update) and periodically run Install [`cargo-update`](https://github.com/nabijaczleweli/cargo-update) and periodically run
```sh ```sh
cargo install-update --all cargo install-update --all
``` ```
in order to keep this program up to date. 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. I'm not sure if you need a Rust compiler installed for either or if they can work standalone.
## Just the Executable ## 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. 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)). 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 # 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)). 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 You could also type
```sh ```sh
ac-qu-ai-nt 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. 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 ## 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. 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 If you want to use its command line interface, start with
@@ -41,13 +49,22 @@ If you want to use its command line interface, start with
```sh ```sh
ac-qu-ai-nt cli ac-qu-ai-nt cli
``` ```
to see what capabilities are available. 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.) (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 # Contributing
This is a summary of the crates I expect to be in this project and how they are used: ## 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 ```mermaid
flowchart TD flowchart TD
@@ -59,6 +76,28 @@ gui-eframe --> multibinary
tui-ratatui --> 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 ## 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/). 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/).
@@ -74,8 +113,11 @@ All the crates in this project have a [minimum supported Rust version (MSRV)](ht
## License ## License
All contents of this repository are licensed under either the All contents of this repository are licensed under either the
* [MIT license](LICENSE-MIT), or
* [Apache 2.0 license](LICENSE-APACHE), or - [MIT license](LICENSE-MIT), or
* [Unlicense](LICENSE-UNLICENSE) - [Apache 2.0 license](LICENSE-APACHE), or
- [Unlicense](LICENSE-UNLICENSE)
at your option. at your option.
All direct and indirect dependencies of this project are free software as defined by the [Free Software Foundation](https://www.gnu.org/licenses/license-list.html) and are licensed under [OSI Approved Licenses](https://opensource.org/licenses). [This is checked](deny.toml) in this project's [continuous integration (CI)](.github/workflows/check-and-build-and-test.yml) with [`cargo-deny`](https://crates.io/crates/cargo-deny).

View File

@@ -7,6 +7,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
## [Unreleased] ## [Unreleased]
## [0.0.10](https://github.com/babichjacob/ac-qu-ai-nt/compare/ac-qu-ai-nt-cli-clap-v0.0.9...ac-qu-ai-nt-cli-clap-v0.0.10) - 2024-10-18
### Other
- update Cargo.toml dependencies
## [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 ## [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 ### Fixed

View File

@@ -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.9" version = "0.0.10"
edition = "2021" edition = "2021"
rust-version = "1.76" rust-version = "1.76"

View File

@@ -7,6 +7,35 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
## [Unreleased] ## [Unreleased]
## [0.0.7](https://github.com/babichjacob/ac-qu-ai-nt/compare/ac-qu-ai-nt-core-v0.0.6...ac-qu-ai-nt-core-v0.0.7) - 2024-10-18
### Other
- *(ac-qu-ai-nt-core)* add `cozo` as a dependency because I expect to use it and I'd like to make sure everything works out
## [0.0.6](https://github.com/babichjacob/ac-qu-ai-nt/compare/ac-qu-ai-nt-core-v0.0.5...ac-qu-ai-nt-core-v0.0.6) - 2024-10-18
### Fixed
- *(ac-qu-ai-nt-core)* raise the minimum version of the `reqwest` dependency to the first one that includes the `zstd` feature
### Other
- *(ac-qu-ai-nt-core)* add `reqwest` as a dependency because I expect to use it and I'd like to make sure everything works out
## [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 ## [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 ### Other

View File

@@ -1,7 +1,7 @@
[package] [package]
name = "ac-qu-ai-nt-core" 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" 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.4" version = "0.0.7"
edition = "2021" edition = "2021"
rust-version = "1.76" rust-version = "1.76"
@@ -10,11 +10,30 @@ license = { workspace = true }
repository = { workspace = true } repository = { workspace = true }
[features] [features]
default = ["tracing"] default = []
tracing = ["dep:tracing"] tracing = ["dep:tracing"]
[dependencies] [dependencies]
llama-cpp-2 = "0.1.82" cozo = { version = "0.7", default-features = false, features = [
"graph-algo",
"storage-sqlite",
] }
llama-cpp-2 = "0.1.85"
ocrs = "0.9"
reqwest = { version = "0.12.4", default-features = false, features = [
"http2",
"macos-system-configuration",
"rustls-tls-webpki-roots",
"json",
"multipart",
"brotli",
"deflate",
"gzip",
"zstd",
] }
snafu = { workspace = true } snafu = { workspace = true }
tracing = { workspace = true, optional = true } tracing = { workspace = true, optional = true }

View File

@@ -90,10 +90,15 @@ ignore = [
# [possible values: any SPDX 3.11 short identifier (+ optional exception)]. # [possible values: any SPDX 3.11 short identifier (+ optional exception)].
allow = [ allow = [
"Apache-2.0", "Apache-2.0",
"BSD-2-Clause",
"BSD-3-Clause", "BSD-3-Clause",
"ISC", "ISC",
"MIT", "MIT",
"Unicode-DFS-2016" "MPL-2.0",
"OpenSSL",
"Unicode-DFS-2016",
"Unlicense",
"Zlib",
] ]
# The confidence threshold for detecting a license from license text. # The confidence threshold for detecting a license from license text.
# The higher the value, the more closely the license text must be to the # The higher the value, the more closely the license text must be to the
@@ -111,20 +116,20 @@ exceptions = [
# Some crates don't have (easily) machine readable licensing information, # Some crates don't have (easily) machine readable licensing information,
# adding a clarification entry for it allows you to manually specify the # adding a clarification entry for it allows you to manually specify the
# licensing information # licensing information
#[[licenses.clarify]] [[licenses.clarify]]
# The package spec the clarification applies to # The package spec the clarification applies to
#crate = "ring" crate = "ring"
# The SPDX expression for the license requirements of the crate # The SPDX expression for the license requirements of the crate
#expression = "MIT AND ISC AND OpenSSL" expression = "MIT AND ISC AND OpenSSL"
# One or more files in the crate's source used as the "source of truth" for # 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 # the license expression. If the contents match, the clarification will be used
# when running the license check, otherwise the clarification will be ignored # when running the license check, otherwise the clarification will be ignored
# and the crate will be checked normally, which may produce warnings or errors # and the crate will be checked normally, which may produce warnings or errors
# depending on the rest of your configuration # depending on the rest of your configuration
#license-files = [ license-files = [
# Each entry is a crate relative path, and the (opaque) hash of its contents # Each entry is a crate relative path, and the (opaque) hash of its contents
#{ path = "LICENSE", hash = 0xbd0eed23 } { path = "LICENSE", hash = 0xbd0eed23 },
#] ]
[licenses.private] [licenses.private]
# If true, ignores workspace crates that aren't published, or are only # If true, ignores workspace crates that aren't published, or are only

View File

@@ -7,6 +7,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
## [Unreleased] ## [Unreleased]
## [0.0.7](https://github.com/babichjacob/ac-qu-ai-nt/compare/ac-qu-ai-nt-gui-eframe-v0.0.6...ac-qu-ai-nt-gui-eframe-v0.0.7) - 2024-10-18
### Other
- update Cargo.toml dependencies
## [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 ## [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 ### Fixed

View File

@@ -1,7 +1,7 @@
[package] [package]
name = "ac-qu-ai-nt-gui-eframe" name = "ac-qu-ai-nt-gui-eframe"
description = "A GUI (written with egui / eframe) for ac-qu-ai-nt" description = "A GUI (written with egui / eframe) for ac-qu-ai-nt"
version = "0.0.6" version = "0.0.7"
edition = "2021" edition = "2021"
rust-version = "1.76" rust-version = "1.76"

View File

@@ -7,6 +7,23 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
## [Unreleased] ## [Unreleased]
## [0.0.15](https://github.com/babichjacob/ac-qu-ai-nt/compare/ac-qu-ai-nt-v0.0.14...ac-qu-ai-nt-v0.0.15) - 2024-10-18
### 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.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 ## [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 ### Other

View File

@@ -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.13" version = "0.0.15"
edition = "2021" edition = "2021"
rust-version = "1.76" rust-version = "1.76"
@@ -27,11 +27,13 @@ tracing = [
] ]
[dependencies] [dependencies]
ac-qu-ai-nt-cli-clap = { version = "0.0.9", path = "../cli-clap", optional = true } ac-qu-ai-nt-cli-clap = { version = "0.0.10", path = "../cli-clap", optional = true }
ac-qu-ai-nt-gui-eframe = { version = "0.0.6", path = "../gui-eframe", optional = true } ac-qu-ai-nt-gui-eframe = { version = "0.0.7", path = "../gui-eframe", optional = true }
ac-qu-ai-nt-tui-ratatui = { version = "0.0.6", path = "../tui-ratatui", optional = true } ac-qu-ai-nt-tui-ratatui = { version = "0.0.7", path = "../tui-ratatui", optional = true }
cfg-if = "1.0.0"
clap = { workspace = true, features = ["derive", "env"] } clap = { workspace = true, features = ["derive", "env"] }
dirs-next = "2.0.0" dirs-next = "2.0.0"
snafu = { workspace = true }
tracing-subscriber = { version = "0.3.18", optional = true } tracing-subscriber = { version = "0.3.18", optional = true }

View File

@@ -1,6 +1,12 @@
use std::{fs::create_dir_all, io::ErrorKind, path::PathBuf}; use std::{
fs::create_dir_all,
io::ErrorKind,
path::{Path, PathBuf},
};
use cfg_if::cfg_if;
use clap::{Parser, Subcommand}; use clap::{Parser, Subcommand};
use snafu::{ResultExt, Snafu};
#[derive(Debug, Parser)] #[derive(Debug, Parser)]
struct Args { struct Args {
@@ -11,24 +17,93 @@ struct Args {
)] )]
application_data_directory: PathBuf, 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(subcommand)]
command: Command, command: Command,
} }
#[derive(Debug, Subcommand)] #[derive(Debug, Subcommand)]
enum Command { enum Command {
#[cfg(feature = "cli-clap")]
#[command(alias = "cli")]
CliClap(ac_qu_ai_nt_cli_clap::Args),
#[cfg(feature = "gui-eframe")] #[cfg(feature = "gui-eframe")]
#[command(alias = "gui")] #[command(alias = "gui")]
GuiEframe, GuiEframe,
#[cfg(feature = "tui-ratatui")] #[cfg(feature = "tui-ratatui")]
#[command(alias = "tui")] #[command(alias = "tui")]
TuiRatatui, TuiRatatui,
#[cfg(feature = "cli-clap")]
#[command(alias = "cli")]
CliClap(ac_qu_ai_nt_cli_clap::Args),
} }
fn main() { // 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 { let Args {
application_data_directory, application_data_directory,
command, command,
@@ -37,23 +112,19 @@ fn main() {
#[cfg(feature = "tracing")] #[cfg(feature = "tracing")]
tracing_subscriber::fmt::init(); tracing_subscriber::fmt::init();
match create_dir_all(&application_data_directory) { create_dir_all_exist_ok(&application_data_directory).with_context(|_| {
Ok(()) => {} DirectoryCreationSnafu {
Err(e) if e.kind() == ErrorKind::AlreadyExists => {} path: application_data_directory.clone(),
Err(e) => {
panic!("{}", e);
} }
} })?;
let tracing_directory = application_data_directory.join("logs"); let tracing_directory = application_data_directory.join("logs");
create_dir_all_exist_ok(&tracing_directory).with_context(|_| DirectoryCreationSnafu {
path: tracing_directory.clone(),
})?;
match create_dir_all(&tracing_directory) { #[cfg(any(feature = "gui-eframe", feature = "tui-ratatui"))]
Ok(()) => {} let command = command.unwrap_or_default();
Err(e) if e.kind() == ErrorKind::AlreadyExists => {}
Err(e) => {
panic!("{}", e);
}
}
match command { match command {
#[cfg(feature = "cli-clap")] #[cfg(feature = "cli-clap")]
@@ -63,4 +134,6 @@ fn main() {
#[cfg(feature = "tui-ratatui")] #[cfg(feature = "tui-ratatui")]
Command::TuiRatatui => ac_qu_ai_nt_tui_ratatui::main(), Command::TuiRatatui => ac_qu_ai_nt_tui_ratatui::main(),
} }
Ok(())
} }

View File

@@ -7,6 +7,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
## [Unreleased] ## [Unreleased]
## [0.0.7](https://github.com/babichjacob/ac-qu-ai-nt/compare/ac-qu-ai-nt-tui-ratatui-v0.0.6...ac-qu-ai-nt-tui-ratatui-v0.0.7) - 2024-10-18
### Other
- update Cargo.toml dependencies
## [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 ## [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 ### Fixed

View File

@@ -1,7 +1,7 @@
[package] [package]
name = "ac-qu-ai-nt-tui-ratatui" name = "ac-qu-ai-nt-tui-ratatui"
description = "A TUI (written with Ratatui) for ac-qu-ai-nt" description = "A TUI (written with Ratatui) for ac-qu-ai-nt"
version = "0.0.6" version = "0.0.7"
edition = "2021" edition = "2021"
rust-version = "1.76" rust-version = "1.76"