Chris Coutinho
0f7e87a91c
feat(astrolabe): add OAuth token refresh and webhook presets
...
Implement automatic token refresh and pre-configured webhook bundles
to simplify vector sync configuration.
Changes:
- Add IdpTokenRefresher service for automatic OAuth token renewal
- Works with both Nextcloud OIDC and external IdPs (Keycloak)
- Uses OIDC discovery for automatic endpoint detection
- Supports confidential clients with client_secret
- Add WebhookPresets service with pre-configured bundles:
- Notes sync (file created/written/deleted in Notes folder)
- Calendar sync (calendar object created/updated/deleted)
- Tables sync (row added/updated/deleted, Nextcloud 30+)
- Forms sync (form submitted, Nextcloud 30+)
- Update ApiController to use automatic token refresh
- Pass refresh callback to McpTokenStorage
- Add getWebhookPresets endpoint (admin-only)
- Add configureWebhooks endpoint for bulk setup
- Update OAuthController for webhook management
- Add new API routes for webhook configuration
Benefits:
- Eliminates manual token refresh
- Simplifies webhook setup with one-click presets
- Provides app-aware filtering (only shows presets for installed apps)
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com >
2025-12-18 00:01:35 +01:00
Chris Coutinho
4cce4f6392
feat(astrolabe): add admin search settings and enhanced UI
...
Add comprehensive admin controls for the unified search provider and enhance the frontend UI with filtering and visualization improvements.
**Admin Settings:**
- Configure default search algorithm (hybrid, semantic, bm25)
- Set fusion method for hybrid search (rrf, dbsf)
- Adjust minimum score threshold (0-100%)
- Set result limit (1-100 results)
**Frontend Enhancements:**
- Add score-based result filtering with slider control
- Add expandable excerpts for search results
- Improve result visualization and formatting
- Add algorithm badge to show search method used
**API Changes:**
- Add `/api/admin/search-settings` POST endpoint
- Add `searchForUnifiedSearch()` method to McpServerClient
- Load and apply admin settings in SemanticSearchProvider
**Technical Details:**
- Settings stored in app config table
- Defaults: hybrid algorithm, rrf fusion, 0% threshold, 20 results
- SemanticSearchProvider respects admin-configured limits
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com >
2025-12-18 00:01:19 +01:00
Chris Coutinho
21817543ad
feat(astrolabe): add Nextcloud PHP app for MCP server management
...
Adds a native Nextcloud app "Astroglobe" that provides:
- Personal settings: OAuth authorization for background MCP access
- Admin settings: Server status and vector sync monitoring
- API endpoints for MCP server communication
The app uses PKCE OAuth flow to obtain tokens for the MCP server,
enabling features like background vector sync per ADR-018.
Includes:
- PHP app structure (controllers, services, settings)
- Vue.js frontend components
- Docker compose mount configuration
- Installation hook for development testing
- ADR-018 documentation
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2025-12-18 00:00:40 +01:00