Repository navigation
ThinkWatch v3.8.3
Images
ghcr.io/thinkwatchproject/think-watch-server:3.8.3ghcr.io/thinkwatchproject/think-watch-web:3.8.3
Helm
helm install think-watch ./think-watch-3.8.3.tgz \
--namespace thinkwatch --create-namespaceTool-call inspection in streamed answers now decides only on arguments
that have settled, and a hit that is recorded carries the whole call. The
thinkwatch-core crates move from v0.75.0 to v0.77.0. The web image is
built with Node.js 24.22.0 and pnpm 12.14.0.
No setting, schema or API route changes.
Changed
- The thinkwatch-core crates move from v0.75.0 to v0.77.0.
- Since a recorded hit now waits for the complete call, a streamed tool
call that never completes (the upstream stream breaks off, or the client
leaves, in the middle of it) leaves no tool-inspection row. Such a call
was never whole on the client side either. Rules that cut still check
the arguments while they arrive. - The web image's build stage uses Node.js 24.22.0 and pnpm 12.14.0. The
served image (nginx) is unchanged. - The development compose file (
deploy/docker-compose.dev.yml) runs
Zitadel v4.19.5.
Fixed
- Tool-call inspection no longer judges arguments that are still
arriving. A streamed tool call was checked against its arguments as
far as they had come in. A host cut off in the middle of its name
(http://127before.0.0.1) looked external, and a pattern anchored
at the end could match the half-received tail. A hit now counts only
once it is settled; rules that cut still act as early as possible. - A recorded hit carries the whole call. A hit that is only recorded,
and every hit in observe mode, was recorded with the arguments as they
stood at the first match. It is now recorded once the call is complete.
A Chat Completions call with nofinish_reasonor[DONE]is checked
when the stream ends. -Tis an upload only in curl. The upload rule took any-Tfor
curl -T, sodocker compose exec -Tnext to a URL was recorded as a
file upload.