Skip to content
Open
Show file tree
Hide file tree
Changes from 8 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2,655 changes: 1,334 additions & 1,321 deletions api-extractor/reports/mongodb-mcp-server.public.api.md

Large diffs are not rendered by default.

19 changes: 16 additions & 3 deletions api-extractor/reports/web.public.api.md
Original file line number Diff line number Diff line change
Expand Up @@ -798,7 +798,7 @@ export class Session extends EventEmitter<SessionEvents> {
// (undocumented)
readonly keychain: Keychain;
// (undocumented)
logger: CompositeLogger;
readonly logger: CompositeLogger;
// (undocumented)
mcpClient?: {
name?: string;
Expand Down Expand Up @@ -854,11 +854,13 @@ export type StreamsToolMetadata = AtlasMetadata & {
export class Telemetry {
// (undocumented)
close(): Promise<void>;
// (undocumented)
static create(session: Session, userConfig: UserConfig, deviceId: DeviceId, input?: {
// @deprecated (undocumented)
static create(session: Session, userConfig: UserConfig, deviceId: DeviceId, options?: {
commonProperties?: Partial<CommonProperties>;
eventCache?: EventCache;
}): Telemetry;
// (undocumented)
static create(config: TelemetryConfig): Telemetry;
emitEvents(events: BaseEvent[]): void;
// (undocumented)
readonly events: EventEmitter<TelemetryEvents>;
Expand All @@ -870,6 +872,17 @@ export class Telemetry {
// @public (undocumented)
export type TelemetryBoolSet = "true" | "false";

// @public
export interface TelemetryConfig {
apiClient: ApiClient;
deviceId: DeviceId;
enabled: boolean;
eventCache?: EventCache;
getCommonProperties?: () => Partial<CommonProperties>;
keychain?: Keychain;
logger: LoggerBase;
}

// @public
export type TelemetryEvent<T> = {
timestamp: string;
Expand Down
2 changes: 1 addition & 1 deletion src/common/session.ts
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ export class Session extends EventEmitter<SessionEvents> {
title?: string;
};

public logger: CompositeLogger;
public readonly logger: CompositeLogger;

constructor({
userConfig,
Expand Down
7 changes: 1 addition & 6 deletions src/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -86,7 +86,7 @@ async function main(): Promise<void> {
}

if (isSetupRequested) {
await handleSetupRequest(config);
await runSetup(config);
}

if (config.dryRun) {
Expand Down Expand Up @@ -184,11 +184,6 @@ function handleVersionRequest(): never {
process.exit(0);
}

async function handleSetupRequest(config: UserConfig): Promise<never> {
await runSetup(config);
process.exit(0);
}

export async function handleDryRunRequest(config: UserConfig): Promise<never> {
try {
const runner = new DryRunModeRunner({
Expand Down
2 changes: 1 addition & 1 deletion src/lib.ts
Original file line number Diff line number Diff line change
Expand Up @@ -83,7 +83,7 @@ export {
export { ErrorCodes, MongoDBError } from "./common/errors.js";
export { Telemetry } from "./telemetry/telemetry.js";
export { type TelemetryEvent, type CommonProperties, type BaseEvent } from "./telemetry/types.js";
export { type TelemetryEvents } from "./telemetry/telemetry.js";
export type { TelemetryEvents, TelemetryConfig } from "./telemetry/telemetry.js";
export { EventCache } from "./telemetry/eventCache.js";
export { Keychain, registerGlobalSecretToRedact } from "./common/keychain.js";
export type { Secret } from "./common/keychain.js";
Expand Down
7 changes: 6 additions & 1 deletion src/setup/setupAiToolsUtils.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
import os from "os";
import { Keychain } from "../common/keychain.js";
import { redact } from "mongodb-redact";

export type Platform = "mac" | "windows" | "linux";
export const getPlatform = (): Platform | null => {
Expand All @@ -14,4 +16,7 @@ export const getPlatform = (): Platform | null => {
}
};

export const formatError = (error: unknown): string => (error instanceof Error ? error.message : String(error));
export const formatError = (error: unknown): string => {
const message = error instanceof Error ? error.message : String(error);
return redact(message, Keychain.root.allSecrets);
};
Loading
Loading