Commit Graph
12 Commits
Author SHA1 Message Date
Lucas WintherandClaude Opus 5 a28067f61e fix(work-packages): propagate fatal auth/rate-limit errors from candidate fetch
The union candidate fetch wrapped both listWorkPackages() legs in an
unconditional .catch(() => ({ items: [] })), swallowing 401/403/429 and
OpenProjectAuthenticationError along with genuinely transient failures. An
expired token would silently degrade to "0 candidates", and the LLM would
report work packages as not found rather than surfacing the auth failure.

Replace the inline catches with a shared listCandidates() helper that uses
isFatalSearchError (already used by searchPipeline) to rethrow fatal errors
and only swallow non-fatal ones, preserving the property that a bad response
on one leg doesn't kill the other leg's candidates.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-18 11:34:17 +02:00
Lucas WintherandClaude Opus 5 326db0659f feat(work-packages): add ranked search tool over subject, description, and comments
Registers openproject_search_work_packages (readOnly: true), taking the tool
registry from 18 to 19. searchWorkPackages now unions a precise server-side
subject filter with a broad recency-ordered candidate window, ranks via the
shared search pipeline, and deep-enriches top candidates with description and
comment text. Exact-mode requests skip the broad query entirely.

searchWorkPackages's return type changes from a flat PaginatedResult<WorkPackageSummary>
to WorkPackageSearchPage, nesting the summary under `workPackage` alongside
score, matchedFields, and an optional snippet.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-18 11:23:48 +02:00
Lucas Winther d4a905d419 test: add live container tests for meetings, wikis, and activities 2026-09-07 03:01:52 +02:00
Lucas Winther d6e78d8cc3 feat: wire meetings, wikis, and activities tools into server registry (18 tools) 2026-09-07 02:56:00 +02:00
Lucas Winther 03a1f44517 fix: restore strict noUncheckedIndexedAccess and skip redundant docker build in CI 2026-09-06 20:54:12 +02:00
Lucas Winther a57e8ba7df fix(services): encode URI in getProject and improve test assertions 2026-09-06 00:23:58 +02:00
Lucas Winther 78ae79372c feat(services): add live container tests and mark Task 2 complete in TODO.md 2026-09-05 23:12:49 +02:00
Lucas Winther a8e4ce9bc4 feat(services): implement metadata domain service and barrel export 2026-09-05 22:57:31 +02:00
Lucas Winther 8db5a92bc5 feat(services): implement queries domain service 2026-09-05 22:49:18 +02:00
Lucas Winther b1348dbea8 feat(services): implement work packages domain service 2026-09-05 18:17:24 +02:00
Lucas Winther 6e0d3faa61 feat(services): implement projects domain service 2026-09-05 17:49:52 +02:00
Lucas Winther c50ab8989c feat(services): implement shared client resolution helper 2026-09-05 17:45:20 +02:00