diff --git a/genkit-tools/cli/src/commands/start.ts b/genkit-tools/cli/src/commands/start.ts index afb6fdb154..151f468f93 100644 --- a/genkit-tools/cli/src/commands/start.ts +++ b/genkit-tools/cli/src/commands/start.ts @@ -26,7 +26,7 @@ interface RunOptions { noui?: boolean; port?: string; open?: boolean; - experimentalRealtimeTelemetry?: boolean; + disableRealtimeTelemetry?: boolean; } /** Command to run code in dev mode and/or the Dev UI. */ @@ -36,8 +36,8 @@ export const start = new Command('start') .option('-p, --port ', 'port for the Dev UI') .option('-o, --open', 'Open the browser on UI start up') .option( - '--experimental-realtime-telemetry', - 'Enable real-time telemetry streaming (experimental)' + '--disable-realtime-telemetry', + 'Disable real-time telemetry streaming' ) .action(async (options: RunOptions) => { const projectRoot = await findProjectRoot(); @@ -55,7 +55,7 @@ export const start = new Command('start') projectRoot, start.args[0], start.args.slice(1), - { enableRealtimeTelemetry: options.experimentalRealtimeTelemetry } + { disableRealtimeTelemetry: options.disableRealtimeTelemetry } ); manager = result.manager; processPromise = result.processPromise; diff --git a/genkit-tools/cli/src/utils/manager-utils.ts b/genkit-tools/cli/src/utils/manager-utils.ts index bb55ef3351..187e32a116 100644 --- a/genkit-tools/cli/src/utils/manager-utils.ts +++ b/genkit-tools/cli/src/utils/manager-utils.ts @@ -67,7 +67,7 @@ export async function startManager( } export interface DevProcessManagerOptions { - enableRealtimeTelemetry?: boolean; + disableRealtimeTelemetry?: boolean; } export async function startDevProcessManager( @@ -77,11 +77,12 @@ export async function startDevProcessManager( options?: DevProcessManagerOptions ): Promise<{ manager: RuntimeManager; processPromise: Promise }> { const telemetryServerUrl = await resolveTelemetryServer(projectRoot); + const disableRealtimeTelemetry = options?.disableRealtimeTelemetry ?? false; const envVars: Record = { GENKIT_TELEMETRY_SERVER: telemetryServerUrl, GENKIT_ENV: 'dev', }; - if (options?.enableRealtimeTelemetry) { + if (!disableRealtimeTelemetry) { envVars.GENKIT_ENABLE_REALTIME_TELEMETRY = 'true'; } const processManager = new ProcessManager(command, args, envVars); @@ -90,7 +91,7 @@ export async function startDevProcessManager( manageHealth: true, projectRoot, processManager, - enableRealtimeTelemetry: options?.enableRealtimeTelemetry, + disableRealtimeTelemetry, }); const processPromise = processManager.start(); return { manager, processPromise }; diff --git a/genkit-tools/common/src/manager/manager.ts b/genkit-tools/common/src/manager/manager.ts index ac1ba913e5..7b20698644 100644 --- a/genkit-tools/common/src/manager/manager.ts +++ b/genkit-tools/common/src/manager/manager.ts @@ -60,13 +60,13 @@ interface RuntimeManagerOptions { projectRoot: string; /** An optional process manager for the main application process. */ processManager?: ProcessManager; - /** Whether realtime telemetry streaming is enabled. */ - enableRealtimeTelemetry?: boolean; + /** Whether to disable realtime telemetry streaming. Defaults to false. */ + disableRealtimeTelemetry?: boolean; } export class RuntimeManager { readonly processManager?: ProcessManager; - readonly enableRealtimeTelemetry: boolean; + readonly disableRealtimeTelemetry: boolean; private filenameToRuntimeMap: Record = {}; private filenameToDevUiMap: Record = {}; private idToFileMap: Record = {}; @@ -79,10 +79,10 @@ export class RuntimeManager { private manageHealth: boolean, readonly projectRoot: string, processManager?: ProcessManager, - enableRealtimeTelemetry?: boolean + disableRealtimeTelemetry?: boolean ) { this.processManager = processManager; - this.enableRealtimeTelemetry = enableRealtimeTelemetry ?? false; + this.disableRealtimeTelemetry = disableRealtimeTelemetry ?? false; } /** @@ -94,7 +94,7 @@ export class RuntimeManager { options.manageHealth ?? true, options.projectRoot, options.processManager, - options.enableRealtimeTelemetry + options.disableRealtimeTelemetry ); await manager.setupRuntimesWatcher(); await manager.setupDevUiWatcher(); diff --git a/genkit-tools/common/src/server/server.ts b/genkit-tools/common/src/server/server.ts index 2d2ec7b539..5ef7caf3ff 100644 --- a/genkit-tools/common/src/server/server.ts +++ b/genkit-tools/common/src/server/server.ts @@ -80,12 +80,12 @@ export function startServer(manager: RuntimeManager, port: number) { // When realtime telemetry is disabled, flush headers immediately. // The trace ID will be available in the response body. - if (!manager.enableRealtimeTelemetry) { + if (manager.disableRealtimeTelemetry) { res.flushHeaders(); } try { - const onTraceIdCallback = manager.enableRealtimeTelemetry + const onTraceIdCallback = !manager.disableRealtimeTelemetry ? (traceId: string) => { // Set trace ID header and flush - this fires before response body res.setHeader('X-Genkit-Trace-Id', traceId); @@ -127,12 +127,12 @@ export function startServer(manager: RuntimeManager, port: number) { // When realtime telemetry is disabled, flush headers immediately. // The trace ID will be available in the response body. - if (!manager.enableRealtimeTelemetry) { + if (manager.disableRealtimeTelemetry) { res.flushHeaders(); } try { - const onTraceIdCallback = manager.enableRealtimeTelemetry + const onTraceIdCallback = !manager.disableRealtimeTelemetry ? (traceId: string) => { // Set trace ID header and flush - this fires before first chunk res.setHeader('X-Genkit-Trace-Id', traceId);