From 26ddf8133011984618d152a9fa2b0294c57e37d0 Mon Sep 17 00:00:00 2001 From: Harrison Weinstock Date: Wed, 3 Jun 2026 23:20:03 +0000 Subject: [PATCH 1/2] fix(logs): throw modeled exceptions --- src/cli/tui/screens/logs/useLogsFlow.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) 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.'), }; } From 838e043d33c47ecff2a8be0f5bd32768827f35aa Mon Sep 17 00:00:00 2001 From: Harrison Weinstock Date: Wed, 3 Jun 2026 23:25:17 +0000 Subject: [PATCH 2/2] feat(cli): wire up logs telemetry --- src/cli/commands/logs/command.tsx | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) 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});