mirror of
https://github.com/mauriceboe/TREK.git
synced 2026-10-23 23:46:35 +00:00
e510ff25ab
The SDK wraps a raw shape in a plain z.object, which strips an undeclared key and runs the handler as if nothing was wrong: an assistant that wrote stopType for stop_type was told the place was updated while nothing had changed. The registry registers every shape as z.strictObject, so the call answers "Unrecognized key" and tools/list advertises additionalProperties false. The nested objects a tool takes, authored inline or spread from a shared schema (legs, stops, links, transit places), are strict at this boundary for the same reason; the shared schemas themselves stay open for REST. A whole Zod schema, the way a plugin's manifest-built tool arrives, passes through as its author wrote it.
19 lines
892 B
TypeScript
19 lines
892 B
TypeScript
import { Module } from '@nestjs/common';
|
|
import { AdminDefaultUserSettingsController, SettingsController } from './settings.controller';
|
|
import { AuthModule } from '../auth/auth.module';
|
|
import { AuditModule } from '../audit/audit.module';
|
|
import { SettingsService } from './settings.service';
|
|
import { SettingsMcp } from './settings.mcp';
|
|
import { AppConfigModule } from '../app-config/app-config.module';
|
|
|
|
/** Exports SettingsService for in-container consumers (admin, share, llm-parse, journey, roadtrip, trips). */
|
|
@Module({
|
|
// AuthModule for the admin gate on the defaults routes, and for the
|
|
// AuthService that SettingsMcp's demo gate injects.
|
|
imports: [AppConfigModule, AuthModule, AuditModule],
|
|
controllers: [SettingsController, AdminDefaultUserSettingsController],
|
|
providers: [SettingsService, SettingsMcp],
|
|
exports: [SettingsService],
|
|
})
|
|
export class SettingsModule {}
|