15 Commits

Author SHA1 Message Date
1088edecd6 ci: retrigger build
Some checks failed
CI / Lint (push) Successful in 3m10s
CI / Test (push) Successful in 3m32s
CI / Release (push) Successful in 1m6s
CI / Docker Build & Push (push) Failing after 5m24s
CI / Notify (push) Successful in 2s
v0.1.5 v0.1.4
2026-02-20 10:05:23 -05:00
b1c1a7bd6e fix: add GOPRIVATE and git auth for private handler-base module
Some checks failed
CI / Lint (push) Successful in 2m33s
CI / Test (push) Successful in 2m33s
CI / Release (push) Successful in 1m1s
CI / Docker Build & Push (push) Failing after 6m16s
CI / Notify (push) Successful in 1s
- Set GOPRIVATE=git.daviestechlabs.io to bypass public Go module proxy
- Configure git URL insteadOf with DISPATCH_TOKEN for private repo access
v0.1.3
2026-02-20 09:22:37 -05:00
cdc551924e fix: rename GITEA_TOKEN to DISPATCH_TOKEN
Some checks failed
CI / Lint (push) Has been cancelled
CI / Test (push) Has been cancelled
CI / Docker Build & Push (push) Has been cancelled
CI / Release (push) Has been cancelled
CI / Notify (push) Has been cancelled
2026-02-20 09:10:22 -05:00
71a480dd80 ci: add handler-base auto-update workflow, remove old Python CI
Some checks failed
CI / Release (push) Has been cancelled
CI / Lint (push) Has been cancelled
CI / Test (push) Has been cancelled
CI / Docker Build & Push (push) Has been cancelled
CI / Notify (push) Has been cancelled
2026-02-20 09:06:01 -05:00
e5a3efc701 fix: use tagged handler-base v0.1.3, remove local replace directive
Some checks failed
CI / Test (push) Failing after 1m19s
CI / Release (push) Has been skipped
CI / Lint (push) Failing after 1m16s
CI / Docker Build & Push (push) Has been cancelled
CI / Notify (push) Has been cancelled
2026-02-20 09:00:47 -05:00
ef52519d4d fix: resolve golangci-lint errcheck warnings
Some checks failed
CI / Test (push) Has been cancelled
CI / Release (push) Has been cancelled
CI / Docker Build & Push (push) Has been cancelled
CI / Notify (push) Has been cancelled
CI / Lint (push) Has been cancelled
- Add error checks for unchecked return values (errcheck)
- Remove unused struct fields (unused)
- Fix gofmt formatting issues
2026-02-20 08:45:42 -05:00
3dff04ad95 Merge pull request 'feature/go-handler-refactor' (#1) from feature/go-handler-refactor into main
Some checks failed
CI / Docker Build & Push (push) Has been skipped
CI / Lint (push) Failing after 58s
CI / Test (push) Failing after 1m25s
CI / Release (push) Has been skipped
CI / Notify (push) Successful in 1s
Reviewed-on: #1
2026-02-20 12:34:19 +00:00
85b481b6c4 feat: migrate to typed messages, drop base64
Some checks failed
CI / Lint (pull_request) Failing after 1m1s
CI / Test (pull_request) Failing after 1m21s
CI / Release (pull_request) Has been skipped
CI / Docker Build & Push (pull_request) Has been skipped
CI / Notify (pull_request) Successful in 1s
- Decode TTSRequest via natsutil.Decode[messages.TTSRequest]
- Stream audio as raw bytes via messages.TTSAudioChunk (no base64)
- Non-stream response uses messages.TTSFullResponse
- Status updates use messages.TTSStatus
- Voice list/refresh use messages.TTSVoiceListResponse/TTSVoiceRefreshResponse
- Registry returns []messages.TTSVoiceInfo (not []map[string]any)
- Remove strVal/boolVal helpers
- Add .dockerignore, GOAMD64=v3 in Dockerfile
- Update tests for typed structs (13 tests pass)
2026-02-20 07:11:13 -05:00
b8d9a277c5 feat: add e2e tests + benchmarks
- e2e_test.go: synthesis pipeline, audio chunking, custom voice registry
- Benchmarks: synthesis 203µs/op, registry refresh 106µs/op, chunking 534µs/op
2026-02-20 06:45:22 -05:00
147b685645 feat: rewrite tts-module in Go
Replace Python streaming TTS service with Go for smaller container images.
- VoiceRegistry: discovers custom voices from model store
- NATS subscriptions: TTS requests, voice list, voice refresh
- JetStream AI_VOICE_TTS stream setup
- Chunked audio streaming over NATS
- Dockerfile: multi-stage golang:1.25-alpine → scratch
- CI: Gitea Actions with lint/test/release/docker/notify
2026-02-19 17:56:06 -05:00
93129d945f fix: use config.json auth for Gitea registry login
Some checks failed
CI / Lint (push) Successful in 32s
CI / Test (push) Successful in 28s
CI / Release (push) Successful in 5s
CI / Docker Build & Push (push) Failing after 1m18s
CI / Notify (push) Successful in 3s
docker login --password-stdin fails on act runner (non-TTY).
Use base64 auth in ~/.docker/config.json instead, matching
the kuberay-images pattern.
v0.1.2
2026-02-14 09:21:48 -05:00
b7340ab72b fix: replace astral-sh/setup-uv action with shell install
Some checks failed
CI / Lint (push) Successful in 26s
CI / Test (push) Successful in 44s
CI / Release (push) Successful in 19s
CI / Docker Build & Push (push) Failing after 28s
CI / Notify (push) Successful in 1s
The JS-based GitHub Action doesn't work on Gitea's act runner.
Use curl installer + GITHUB_PATH instead.
v0.1.1
2026-02-13 19:40:51 -05:00
7b3bfc6812 feat: custom voice support, CI pipeline, and Renovate config
Some checks failed
CI / Test (push) Successful in 43s
CI / Lint (push) Successful in 44s
CI / Docker Build & Push (push) Failing after 24s
CI / Notify (push) Successful in 1s
CI / Release (push) Successful in 6s
- VoiceRegistry for trained voices from Kubeflow pipeline
- Custom voice routing in synthesize()
- NATS subjects for listing/refreshing voices
- pyproject.toml with ruff/pytest config
- Full test suite (26 tests)
- Gitea Actions CI (lint, test, docker, notify)
- Renovate config for automated dependency updates

Ref: ADR-0056, ADR-0057
v0.1.0
2026-02-13 15:33:27 -05:00
d4fafea09b feat: add streaming TTS service with Coqui XTTS
- tts_streaming.py: NATS-based TTS using XTTS HTTP API
- Streaming audio chunks for low-latency playback
- Voice cloning support via reference audio
- Multi-language synthesis
- OpenTelemetry instrumentation with HyperDX support
2026-02-02 06:23:34 -05:00
fddec4585b Initial commit 2026-02-02 11:10:19 +00:00