diff --git a/src/cli/commands/logs/command.tsx b/src/cli/commands/logs/command.tsx index 39a50f33b..d3b209c63 100644 --- a/src/cli/commands/logs/command.tsx +++ b/src/cli/commands/logs/command.tsx @@ -2,6 +2,7 @@ import { COMMAND_DESCRIPTIONS } from '../../constants'; import { getErrorMessage } from '../../errors'; import { handleLogsEval } from '../../operations/eval'; import type { LogsEvalOptions } from '../../operations/eval'; +import { withCommandRunTelemetry } from '../../telemetry/cli-command-run.js'; import { requireProject } from '../../tui/guards'; import { handleLogs } from './action'; import type { LogsOptions } from './types'; @@ -31,7 +32,11 @@ export const registerLogs = (program: Command) => { requireProject(); try { - const result = await handleLogs(cliOptions); + const result = await withCommandRunTelemetry( + 'logs', + { has_query: !!cliOptions.query, has_level_filter: !!cliOptions.level }, + () => handleLogs(cliOptions) + ); if (!result.success) { render({result.error.message}); @@ -56,7 +61,9 @@ export const registerLogs = (program: Command) => { requireProject(); try { - const result = await handleLogsEval(cliOptions); + const result = await withCommandRunTelemetry('logs.evals', { has_follow: !!cliOptions.follow }, () => + handleLogsEval(cliOptions) + ); if (!result.success) { render({result.error.message}); diff --git a/src/cli/tui/screens/logs/useLogsFlow.ts b/src/cli/tui/screens/logs/useLogsFlow.ts index fb8392d8b..262db152a 100644 --- a/src/cli/tui/screens/logs/useLogsFlow.ts +++ b/src/cli/tui/screens/logs/useLogsFlow.ts @@ -1,4 +1,4 @@ -import { toError } from '../../../../lib'; +import { ValidationError, toError } from '../../../../lib'; import type { AgentContext } from '../../../commands/logs/action'; import { resolveAgentContext } from '../../../commands/logs/action'; import { loadDeployedProjectConfig } from '../../../operations/resolve-agent'; @@ -40,7 +40,7 @@ export function useLogsFlow(): UseLogsFlowResult { const runtimeNames = context.project.runtimes.map(r => r.name); if (runtimeNames.length === 0) { - return { success: false as const, error: new Error('No runtimes defined in agentcore.json') }; + return { success: false as const, error: new ValidationError('No runtimes defined in agentcore.json') }; } const resolved: AgentContext[] = []; @@ -54,7 +54,7 @@ export function useLogsFlow(): UseLogsFlowResult { if (resolved.length === 0) { return { success: false as const, - error: new Error('No deployed agents found. Run `agentcore deploy` first.'), + error: new ValidationError('No deployed agents found. Run `agentcore deploy` first.'), }; }