Commit Graph

36 Commits

Author SHA1 Message Date
3c5f723d22 Isolate per-item Radarr failures in RecommendationPipeline.autoRequest
Matches the Go original's behavior: a lookup/addMovie failure for one
recommendation is logged and skipped rather than aborting the whole
auto-request batch.
2026-08-12 21:18:33 +02:00
62848f6ecd Add RecommendationPipeline 2026-08-12 21:15:21 +02:00
5edeb0ebb9 Add MovieRecommenderTool and MovieSearchTool 2026-08-12 21:14:10 +02:00
5140bc5a50 Widen loadEnv schema type and allow rest-sibling destructuring in lint
loadEnv's ZodSchema<T> parameter required schema input === output,
which breaks any schema using .transform() (e.g. AppConfigSchema's
boolean coercion). Widen to ZodType<T, ZodTypeDef, unknown>, matching
existing runtime behavior. Also allow ignoreRestSiblings in the
no-unused-vars rule so 'const { X, ...rest } = obj' omission tests
don't trip the linter.
2026-08-12 21:08:21 +02:00
8e908408cd Add RadarrClient 2026-08-12 21:05:58 +02:00
4e483557d7 Add TmdbClient 2026-08-12 21:05:22 +02:00
9683d65a1f Add JellyfinClient 2026-08-12 21:04:47 +02:00
ef037d25fe Add app config schema and shared models 2026-08-12 21:04:15 +02:00
69db1d5558 Harden auth hook and fix eslint config for intentional unused args
- authHook: use crypto.timingSafeEqual for the bearer token comparison
  instead of !==, avoiding a timing side-channel on the secret key.
- .eslintrc.cjs: add argsIgnorePattern for underscore-prefixed unused
  params, fixing false-positive no-unused-vars errors on intentional
  _ctx/_params placeholders used throughout the LlmTool hierarchy.
2026-08-12 21:00:44 +02:00
bb479f7749 Fix LangfusePromptGateway compile() to match langfuse SDK's Record<string,string> variable type 2026-08-12 20:56:39 +02:00
cf3c12774f Add concrete Langfuse tracer and prompt gateway 2026-08-12 20:55:51 +02:00
299375bcd3 Add core server Controller base, auth hook, and buildServer 2026-08-12 20:55:06 +02:00
3f99bce3c6 Add core LlmPipeline base class 2026-08-12 20:54:38 +02:00
8d468903a4 Add SchemaLlmTool and TextLlmTool 2026-08-12 20:54:10 +02:00
ee4aba83e8 Add core Tracer/RunContext types and LlmTool base class 2026-08-12 20:53:27 +02:00
3ca58194e6 Add core LlmClient wrapping OpenAI-compatible chat completions 2026-08-12 20:52:36 +02:00
81e9a20b14 Add cached Langfuse PromptService 2026-08-12 20:52:10 +02:00
580357a130 Add core Endpoint/ApiClient base classes 2026-08-12 20:51:36 +02:00
ca08ed9294 Add core env loader 2026-08-12 20:51:03 +02:00
a9a8fa7c3f Scaffold TypeScript project and add core logger 2026-08-12 20:50:40 +02:00
abfbc1e2da Add implementation plan for TypeScript/OOP rewrite 2026-08-12 20:35:35 +02:00
16e61a77e6 Add design spec for TypeScript/OOP rewrite of sugarr 2026-08-12 19:48:03 +02:00
1167d66585 fix error 2026-04-25 21:27:15 +02:00
58a2b00e3d add version 2026-04-25 21:21:44 +02:00
8e37ff2ed6 add missing env to compose 2026-04-25 21:16:13 +02:00
5dd8902472 retry if no new suggestions 2026-04-25 21:07:15 +02:00
abb228052c remove .env 2026-04-25 15:22:43 +02:00
c5135f3190 update gitignore 2026-04-25 15:22:21 +02:00
b6ad5a5121 secret key to config 2026-04-25 15:21:22 +02:00
846083e230 trigger endpoint and retry suggestions 2026-04-25 15:21:09 +02:00
20ebe5a49f update compose 2026-04-22 20:06:32 +02:00
bc9e92da40 update compose 2026-04-22 20:02:58 +02:00
b8c96066ed update compose 2026-04-22 20:00:58 +02:00
cccdd9b10a update compose 2026-04-22 19:57:28 +02:00
a4515f0332 update compose 2026-04-22 19:52:18 +02:00
e3e85e4a44 init 2026-04-22 18:23:19 +02:00