mirror of
https://github.com/mauriceboe/TREK.git
synced 2026-10-18 21:16:47 +00:00
d203d8cccd
The send() dispatcher (services/notificationService.ts) and the in-app store (services/inAppNotifications.ts) fold together into the DI-native NotificationsService over DatabaseService + RealtimeService; the prefs matrix, transports, channel registry and inAppNotificationActions stay plain infra modules. A 1-export notifications.bridge covers scheduler, legacy adminService/memories and the six lazy fire-and-forget sends; AdminController and the plugin RPC host (24th factory dep) inject. The 5-tool registrar + notifications-in-app resource move to notifications.mcp.ts. Tests move with case IDs preserved (NSVC-*, INOTIF-*, + NSVC-020 bridge pin); ~18 suites repoint path mocks/warm-ups; the module e2e goes DI-native. Also carries the verified-quirk fixes that would normally trail as a separate fix(server) commit (file-overlap with the fold): toUtcIso on all three created_at paths (INOTIF-013/014), respond claims the response CAS before running the action handler with release-on-failure (INOTIF-011/012), synology's fire-and-forget send gains .catch, the dispatch-failure log unwraps Error messages (NSVC-021), and the MCP resource description drops its false 'unread first' claim.
68 lines
3.3 KiB
TypeScript
68 lines
3.3 KiB
TypeScript
import { McpServer } from '@modelcontextprotocol/sdk/server/mcp';
|
|
import { registerJourneyTools } from './tools/journey';
|
|
import { registerMapsWeatherTools } from './tools/mapsWeather';
|
|
import { registerTransportTools } from './tools/transports';
|
|
import { registerMcpPrompts } from './tools/prompts';
|
|
import { getMcpRegistry } from './registry-handoff';
|
|
|
|
export function registerTools(server: McpServer, userId: number, scopes: string[] | null, isStaticToken = false, getDeprecationNotice: () => string | null = () => null): void {
|
|
// The trip tools moved to the DI-discovered src/nest/trips/trips.mcp.ts and
|
|
// the share-link tools to src/nest/share/share.mcp.ts (@McpController,
|
|
// attached via the nest-mcp registry below — getDeprecationNotice rides the
|
|
// attach ctx).
|
|
|
|
// The place tools moved to the DI-discovered src/nest/places/places.mcp.ts
|
|
// (@McpController, attached via the nest-mcp registry below).
|
|
|
|
// The collection tools moved to the DI-discovered src/nest/collections/
|
|
// collections.mcp.ts (@McpController, attached via the nest-mcp registry below).
|
|
|
|
// The budget tools moved to the DI-discovered src/nest/budget/budget.mcp.ts
|
|
// (@McpController, attached via the nest-mcp registry below).
|
|
|
|
// The packing tools moved to the DI-discovered src/nest/packing/packing.mcp.ts
|
|
// (@McpController, attached via the nest-mcp registry below).
|
|
|
|
// The reservation tools moved to the DI-discovered src/nest/reservations/
|
|
// reservations.mcp.ts (@McpController, attached via the nest-mcp registry below).
|
|
|
|
// The day + accommodation tools moved to the DI-discovered src/nest/days/
|
|
// days.mcp.ts (@McpController, attached via the nest-mcp registry below).
|
|
|
|
// The assignment tools moved to the DI-discovered src/nest/assignments/
|
|
// assignments.mcp.ts (@McpController, attached via the nest-mcp registry below).
|
|
|
|
registerMapsWeatherTools(server, userId, scopes);
|
|
|
|
// The notification tools moved to the DI-discovered src/nest/notifications/
|
|
// notifications.mcp.ts (@McpController, attached via the nest-mcp registry below).
|
|
|
|
// The atlas tools moved to the DI-discovered src/nest/atlas/atlas.mcp.ts
|
|
// (@McpController, attached via the nest-mcp registry below).
|
|
|
|
// The collab tools moved to the DI-discovered src/nest/collab/collab.mcp.ts
|
|
// (@McpController, attached via the nest-mcp registry below).
|
|
|
|
registerTransportTools(server, userId, scopes);
|
|
|
|
// The transit tools moved to the DI-discovered src/nest/transit/transit.mcp.ts
|
|
// (@McpController, attached via the nest-mcp registry below).
|
|
|
|
registerJourneyTools(server, userId, scopes);
|
|
|
|
// The vacay tools moved to the DI-discovered src/nest/vacay/vacay.mcp.ts
|
|
// (@McpController, attached via the nest-mcp registry below).
|
|
|
|
// The todo tools moved to the DI-discovered src/nest/todo/todo.mcp.ts
|
|
// (@McpController, attached via the nest-mcp registry below).
|
|
|
|
registerMcpPrompts(server, userId, isStaticToken);
|
|
|
|
// Decorator-registered domains (@trek/nest-mcp) — migrating off the legacy
|
|
// registrar fan-out above, one domain at a time. Unset registry (direct
|
|
// callers without a Nest app, e.g. unit tests) ⇒ skip; the test harness
|
|
// attaches its own via createTestRegistry + setMcpRegistry.
|
|
const registry = getMcpRegistry();
|
|
if (registry) registry.attach(server, { userId, scopes, isStaticToken, getDeprecationNotice });
|
|
}
|