Branch: refs/heads/main Home: https://github.com/xwiki-contrib/ai-llm Commit: 92d18aac3a8a49c5ee021886211696e8ce26ff75 https://github.com/xwiki-contrib/ai-llm/commit/92d18aac3a8a49c5ee02188621169... Author: Paul Pantiru <[email protected]> Date: 2026-08-28 (Fri, 28 Aug 2026) Changed paths: M application-ai-llm-mcp/application-ai-llm-mcp-server/pom.xml M application-ai-llm-mcp/application-ai-llm-mcp-server/src/main/java/org/xwiki/contrib/llm/mcp/internal/tool/MCPDeleteAttachmentTool.java M application-ai-llm-mcp/application-ai-llm-mcp-server/src/main/java/org/xwiki/contrib/llm/mcp/internal/tool/MCPDeleteDocumentTool.java M application-ai-llm-mcp/application-ai-llm-mcp-server/src/main/java/org/xwiki/contrib/llm/mcp/internal/tool/MCPDeleteObjectTool.java M application-ai-llm-mcp/application-ai-llm-mcp-server/src/main/java/org/xwiki/contrib/llm/mcp/internal/tool/MCPEditDocumentTool.java M application-ai-llm-mcp/application-ai-llm-mcp-server/src/main/java/org/xwiki/contrib/llm/mcp/internal/tool/MCPGetDocumentTool.java A application-ai-llm-mcp/application-ai-llm-mcp-server/src/main/java/org/xwiki/contrib/llm/mcp/internal/tool/MCPGetHistoryTool.java A application-ai-llm-mcp/application-ai-llm-mcp-server/src/main/java/org/xwiki/contrib/llm/mcp/internal/tool/MCPHistorySupport.java M application-ai-llm-mcp/application-ai-llm-mcp-server/src/main/java/org/xwiki/contrib/llm/mcp/internal/tool/MCPWriteDocumentTool.java M application-ai-llm-mcp/application-ai-llm-mcp-server/src/main/java/org/xwiki/contrib/llm/mcp/internal/tool/MCPWriteSupport.java M application-ai-llm-mcp/application-ai-llm-mcp-server/src/main/resources/META-INF/components.txt A application-ai-llm-mcp/application-ai-llm-mcp-server/src/test/java/org/xwiki/contrib/llm/mcp/internal/tool/MCPGetHistoryToolDiffFailureTest.java A application-ai-llm-mcp/application-ai-llm-mcp-server/src/test/java/org/xwiki/contrib/llm/mcp/internal/tool/MCPGetHistoryToolTest.java M application-ai-llm-mcp/application-ai-llm-mcp-server/src/test/java/org/xwiki/contrib/llm/mcp/internal/tool/MCPWriteDocumentToolTest.java Log Message: ----------- LLMAI-144: Add get_history tool * Revision history for a document in three modes: paged list (newest first, minor edits included - the server's own writes are minor), version="x.y" historical source behind a snapshot banner with get_document-style content windowing, and from/to unified diff (to defaults to current) via commons diff-display, with a title-change note and budget-bounded hunk truncation * Version strings are gated to major.minor before reaching DocumentRevisionProvider, so deleted:/xar: provider prefixes cannot be smuggled; authorization is resolveAndAuthorize(VIEW) on the locale-free reference; locale addresses a translation's own history with the usual exact-match semantics * The shared version-conflict message now points at get_history (from=base_version) so the recovery loop closes at the moment it is needed, and neutralizes the agent-supplied base_version echo; man Conflict notes and SEE ALSO chains updated across the write/delete tools * Revision comments, authors and titles go through the shared neutralize-and-clamp guard; the list body is output-budgeted; inapplicable limit/offset params are refused per mode * New deps xwiki-commons-diff-api + diff-display; MCPHistorySupport seam keeps the tool under the fan-out cap * mcp-server 1051 tests, checkstyle 0, jacoco met Commit: 685724a688b37daf2e6f435f8102c24a0288566b https://github.com/xwiki-contrib/ai-llm/commit/685724a688b37daf2e6f435f8102c... Author: Paul Pantiru <[email protected]> Date: 2026-08-28 (Fri, 28 Aug 2026) Changed paths: M application-ai-llm-mcp/application-ai-llm-mcp-server/pom.xml M application-ai-llm-mcp/application-ai-llm-mcp-server/src/main/java/org/xwiki/contrib/llm/mcp/internal/tool/MCPGetDocumentTool.java M application-ai-llm-mcp/application-ai-llm-mcp-server/src/main/java/org/xwiki/contrib/llm/mcp/internal/tool/MCPGetHistoryTool.java A application-ai-llm-mcp/application-ai-llm-mcp-server/src/main/java/org/xwiki/contrib/llm/mcp/internal/tool/MCPGetLinksTool.java M application-ai-llm-mcp/application-ai-llm-mcp-server/src/main/java/org/xwiki/contrib/llm/mcp/internal/tool/MCPGetTreeTool.java A application-ai-llm-mcp/application-ai-llm-mcp-server/src/main/java/org/xwiki/contrib/llm/mcp/internal/tool/MCPLinksSupport.java M application-ai-llm-mcp/application-ai-llm-mcp-server/src/main/resources/META-INF/components.txt A application-ai-llm-mcp/application-ai-llm-mcp-server/src/test/java/org/xwiki/contrib/llm/mcp/internal/tool/MCPGetLinksToolTest.java Log Message: ----------- LLMAI-145: Add get_links tool * The link graph around a document: direction=in (default) lists backlinks via the Solr-backed LinkStore, out lists the document's own resolved static links via live extraction (the indexer's own getUniqueLinkedEntities call - no index lag, includes links in wiki-content xobject fields), both shows both sections * Backlink results are raw farm-wide index hits, so the pipeline reach-filters before any authorization, checks view right and the space filter per reference, drops stale entries and counts hidden pages instead of listing them, dedupes translation locales, and reports authorized-only totals with a 2000-reference ceiling (N+); hidden/stale filtering is a chunked bound query (500 names per bind) * direction=in works on nonexistent targets (broken-link repair); outgoing targets are unfiltered source-content data and PAGE-family references convert to document form mirroring the platform's own LinkStore conversion; locale addresses a translation's outgoing links, exact-match * Empty backlink results teach the index-lag and static-links-only caveats; man NOTES cover both plus the macro-parameter exception; SEE ALSO chains updated on get_document, get_tree and get_history * New dependency xwiki-platform-link * mcp-server 1088 tests, checkstyle 0, jacoco met Commit: e613490f1c8e12452477bee01208f9598adc2618 https://github.com/xwiki-contrib/ai-llm/commit/e613490f1c8e12452477bee01208f... Author: Paul Pantiru <[email protected]> Date: 2026-08-28 (Fri, 28 Aug 2026) Changed paths: A application-ai-llm-mcp/application-ai-llm-mcp-server/src/main/java/org/xwiki/contrib/llm/mcp/internal/tool/MCPContentWindow.java M application-ai-llm-mcp/application-ai-llm-mcp-server/src/main/java/org/xwiki/contrib/llm/mcp/internal/tool/MCPGetDocumentTool.java M application-ai-llm-mcp/application-ai-llm-mcp-server/src/main/java/org/xwiki/contrib/llm/mcp/internal/tool/MCPGetHistoryTool.java M application-ai-llm-mcp/application-ai-llm-mcp-server/src/main/java/org/xwiki/contrib/llm/mcp/internal/tool/MCPLinksSupport.java M application-ai-llm-mcp/application-ai-llm-mcp-server/src/main/java/org/xwiki/contrib/llm/mcp/internal/tool/MCPRenderedHtmlResponses.java A application-ai-llm-mcp/application-ai-llm-mcp-server/src/main/java/org/xwiki/contrib/llm/mcp/internal/tool/MCPTranslationSupport.java M application-ai-llm-mcp/application-ai-llm-mcp-server/src/main/java/org/xwiki/contrib/llm/mcp/internal/tool/MCPWriteSupport.java M application-ai-llm-mcp/application-ai-llm-mcp-server/src/main/resources/META-INF/components.txt M application-ai-llm-mcp/application-ai-llm-mcp-server/src/test/java/org/xwiki/contrib/llm/mcp/internal/tool/MCPGetDocumentToolTest.java M application-ai-llm-mcp/application-ai-llm-mcp-server/src/test/java/org/xwiki/contrib/llm/mcp/internal/tool/MCPGetHistoryToolTest.java M application-ai-llm-mcp/application-ai-llm-mcp-server/src/test/java/org/xwiki/contrib/llm/mcp/internal/tool/MCPGetLinksToolTest.java Log Message: ----------- [Misc] Consolidate the windowing and translation-miss seams * MCPContentWindow (static holder) now owns the range-read window grammar shared by get_document and get_history - the capped-end budget loop, the Showing-lines footer and the continuation hint - ending the token-identical duplication; the attachment windower stays separate deliberately (streaming, skip offsets, mid-line cuts are a different documented contract) * MCPTranslationSupport component now owns the exact-match translation resolution shared by get_document, get_history and get_links - existence probe, translation reload, locale listing and the miss message; default-language routing still delegates to MCPWriteSupport.isDefaultLanguageRequest (write paths keep using it statically), whose javadoc now states the shared scope * The get_history and get_links translation-miss errors gain the "The default language is X." sentence, converging on get_document's richer form - the only agent-visible change, both pinned by new tests * mcp-server 1090 tests (1088 pre-existing unchanged), checkstyle 0, jacoco 0.96 vs 0.81 floor Commit: 9e1f69c19e49daca4b2acabbc8f72fea124a857c https://github.com/xwiki-contrib/ai-llm/commit/9e1f69c19e49daca4b2acabbc8f72... Author: Paul Pantiru <[email protected]> Date: 2026-08-28 (Fri, 28 Aug 2026) Changed paths: M application-ai-llm-mcp/application-ai-llm-mcp-server/src/main/java/org/xwiki/contrib/llm/mcp/internal/tool/MCPGetLinksTool.java M application-ai-llm-mcp/application-ai-llm-mcp-server/src/main/java/org/xwiki/contrib/llm/mcp/internal/tool/MCPLinksSupport.java M application-ai-llm-mcp/application-ai-llm-mcp-server/src/test/java/org/xwiki/contrib/llm/mcp/internal/tool/MCPGetLinksToolTest.java Log Message: ----------- LLMAI-145: Add showHidden to get_links * Boolean param (default false) merging authorized hidden backlinks into the sorted, paged list with a per-row (hidden) marker; the count line swaps (+N hidden) for get_tree's ", hidden included" suffix; the hidden flag rides the existing batched visibility query - no new queries, authorization/reach/ceiling order unchanged * Only meaningful for the backlink list, so sending it with direction=out is refused like the other inapplicable params; man NOTES teach that hidden pages are counted by default and listable with showHidden, independent of any user preference * mcp-server 1095 tests, checkstyle 0, jacoco met Commit: 990125037d8349139bb51fecdfa51b056eb14a70 https://github.com/xwiki-contrib/ai-llm/commit/990125037d8349139bb51fecdfa51... Author: Paul Pantiru <[email protected]> Date: 2026-08-28 (Fri, 28 Aug 2026) Changed paths: M application-ai-llm-mcp/application-ai-llm-mcp-server/src/main/java/org/xwiki/contrib/llm/mcp/internal/tool/MCPGetLinksTool.java M application-ai-llm-mcp/application-ai-llm-mcp-server/src/main/java/org/xwiki/contrib/llm/mcp/internal/tool/MCPGetTreeTool.java Log Message: ----------- [Misc] Post-review polish on the hidden-links wave * get_links' ", hidden included" suffix now references get_tree's constant (single definition, the two headers cannot drift) * zeroNote javadoc updated: hidden-only backlinks are a count only when hidden pages are not requested * mcp-server 1095 tests, checkstyle 0, jacoco met Compare: https://github.com/xwiki-contrib/ai-llm/compare/d4733419ed46...990125037d83 To unsubscribe from these emails, change your notification settings at https://github.com/xwiki-contrib/ai-llm/settings/notifications