Commit graph

36 commits

Author SHA1 Message Date
Ali Khokhar
462a9430bb
Add local live smoke test suite (#148)
## Summary
- add an opt-in local `smoke/` pytest suite for API, auth, providers,
CLI, IDE-shaped requests, messaging, voice, tools, and thinking stream
contracts
- keep smoke tests out of normal CI collection with `testpaths =
["tests"]`
- write sanitized smoke artifacts under `.smoke-results/`

## Verification
- `uv run ruff format`
- `uv run ruff check`
- `uv run ty check`
- `uv run ty check smoke`
- `FCC_LIVE_SMOKE=1 FCC_SMOKE_TARGETS=all FCC_SMOKE_RUN_VOICE=1 uv run
pytest smoke -n 0 -m live -s --tb=short` -> 17 passed, 9 skipped
- `uv run pytest` -> 904 passed

## Notes
- Skipped live checks require local credentials/tools/services, such as
provider models, Telegram/Discord targets, voice backend, or Claude CLI.
- `claude-pick` smoke was intentionally removed.
2026-04-23 19:06:09 -07:00
arssing
2fe15bd2cd
feat: add proxy support for httpx clients (#125)
Add proxy support for providers based on
[doc](https://www.python-httpx.org/advanced/proxies/):

- Add per-provider proxy support (HTTP and SOCKS5) for all 4 providers:
nvidia_nim, open_router, lmstudio, llamacpp
- Each provider gets its own env var (NVIDIA_NIM_PROXY,
OPENROUTER_PROXY, LMSTUDIO_PROXY, LLAMACPP_PROXY) for independent proxy
configuration

---------

Co-authored-by: Alishahryar1 <alishahryar2@gmail.com>
2026-04-22 17:06:16 -07:00
Alishahryar1
ab0d6aca14 added parallel runs for pytest
Some checks are pending
CI / checks (push) Waiting to run
2026-03-27 21:28:45 -07:00
Ali Khokhar
c5341ecbbe
Add option for an installable package (#75) 2026-03-06 22:06:33 -08:00
Alishahryar1
aaa62a2bd7 Relaxed python version requirements 2026-03-01 22:00:34 -08:00
Alishahryar1
2e8b22fa9d Remvoed root insert hack from conftest 2026-03-01 21:57:25 -08:00
Ali Khokhar
0b324e0421
Per claude model mapping (#66) 2026-03-01 21:32:23 -08:00
Mauro Druwel
de70700dde
feat: Use NVIDIA NIM ASR for audio transcription (#53)
## Summary
Added NVIDIA NIM as a second transcription option ( alongside local
Whisper). This lets you transcribe voice notes using NVIDIA's cloud API
instead of running Whisper locally.

## What changed

- **Transcription**: Now supports the two backends

  - Local Whisper: Free, runs on your GPU/CPU (existing)
  - NVIDIA NIM: Cloud API via Riva gRPC (new)

- **Supported models**: 8 NVIDIA NIM models added (Parakeet variants for
different languages, Whisper Large V3)

---------

Co-authored-by: Alishahryar1 <alishahryar2@gmail.com>
2026-02-28 08:48:59 -08:00
Alishahryar1
f66834e402 Add optional voice extra imports for analysis in pyproject.toml
- Updated the pyproject.toml to include allowed unresolved imports for optional voice dependencies: torch, transformers, and librosa.
- This change facilitates smoother integration in CI environments where these packages may not be installed.
2026-02-18 06:22:49 -08:00
Alishahryar1
75e066f17f Refactor voice note transcription to use Hugging Face transformers Whisper pipeline
- Updated transcription logic to utilize Hugging Face's Whisper models instead of faster-whisper.
- Introduced new model mapping and pipeline loading functions.
- Adjusted tests to reflect changes in the transcription process.
- Updated documentation in README, .env.example, and settings to align with the new implementation.
- Ensured compatibility with CUDA 13 and removed unnecessary dependencies.
2026-02-18 06:18:28 -08:00
Alishahryar1
b05d0d2703 new linter rules and fixes 2026-02-18 04:13:41 -08:00
Claude
b57defe61d
Add ruff, ruff format, and ty best-practice rules to pyproject.toml
- [tool.ruff]: target-version=py314 (matches requires-python>=3.14.2), line-length=88
- [tool.ruff.lint]: select E/W/F/I/UP/B/C4/SIM/PERF/RUF; ignore E501 (formatter handles it)
- [tool.ruff.lint.isort]: known-first-party covers all local packages
- [tool.ruff.format]: double quotes, space indent, auto line-ending
- [tool.ty.environment]: python-version=3.14 for type-checking accuracy

https://claude.ai/code/session_01RVyLT88hTnfJZAVLUbWawS
2026-02-18 12:03:04 +00:00
Alishahryar1
d668f6e476 Add voice note transcription feature
- Introduced voice note handling for Discord and Telegram platforms.
- Added configuration options for voice note functionality in settings.py and .env.example.
- Updated README to include voice note instructions and configuration details.
- Implemented audio attachment processing and transcription using faster-whisper.
- Enabled voice note support through message handlers in both platforms.
2026-02-16 20:14:59 -08:00
Alishahryar1
6511542bfe Implement Discord bot support and update README for messaging platform changes 2026-02-16 00:08:09 -08:00
Alishahryar1
1b58160bc9 Removed unused library 2026-02-15 22:12:06 -08:00
Ahmet Kaplan
414781850a
Change requires-python to >=3.14.2
Updated Python version requirement to allow newer versions.
2026-02-15 23:22:44 +03:00
Alishahryar1
ba344f26c9 Revamped logging 2026-02-14 18:55:33 -08:00
Alishahryar1
25b9d9d1e4 Added ruff and ty dependencies and lint 2026-02-14 18:00:21 -08:00
Alishahryar1
89edeaa6ac Migrated telegram rate limiter to sliding window 2026-02-13 22:12:33 -08:00
Alishahryar1
4ee0114891 Implemented /clear command 2026-02-13 16:24:52 -08:00
Alishahryar1
b01a5ba9c9 Updated python version 2026-02-13 15:48:55 -08:00
Alishahryar1
12c9a74b74 adjust project dependencies and metadata in pyproject.toml 2026-02-13 12:33:19 -08:00
Alishahryar1
0cad642e4b Implemented markdownv2 rendering 2026-02-05 17:31:40 -08:00
Alishahryar1
7c54008a95 migrated from httpx client to openai client 2026-01-31 12:45:15 -08:00
Alishahryar1
d958544c3d Migrated from telethon to telegram bot api 2026-01-30 00:38:39 -08:00
Alishahryar1
9fde46a4cc added aiolimiter 2026-01-29 23:20:05 -08:00
Alishahryar1
f0e6dfa52a added cryptg 2026-01-29 23:16:17 -08:00
Alishahryar1
6eca7377ce Revert "Added rate limiter queue for telegram"
This reverts commit 6a4409d625.
2026-01-29 23:16:01 -08:00
Alishahryar1
bd0caee25f Revert "added cryptg library for encryption"
This reverts commit 7d4eaf9a56.
2026-01-29 23:15:53 -08:00
Alishahryar1
7d4eaf9a56 added cryptg library for encryption 2026-01-29 22:32:18 -08:00
Alishahryar1
6a4409d625 Added rate limiter queue for telegram 2026-01-29 22:28:18 -08:00
Alishahryar1
8678a62915 Major refactor done by itself 2026-01-29 14:40:08 -08:00
Alishahryar1
56635433ba Added initial telegram support for cc-nim 2026-01-28 18:47:45 -08:00
Alishahryar1
80b48255d7 switched to tiktoken for token counting 2026-01-28 15:32:21 -08:00
Alishahryar1
b8e0360b37 added tests 2026-01-28 14:37:30 -08:00
Alishahryar1
6c9f0c8a5a initial commit 2026-01-28 11:05:01 -08:00