mirror of
https://github.com/davidkaya/aryx.git
synced 2026-08-09 21:28:44 +02:00
fix: clean up hook event labels in Activity panel
Replace raw SDK identifiers with human-friendly labels (e.g. sessionStart → Session start) and drop the meaningless UUID detail. Labels now read like 'Session start hook started' instead of 'Hook sessionStart started'. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This commit is contained in:
@@ -245,6 +245,20 @@ export interface TurnEventEntry {
|
|||||||
export type TurnEventLog = readonly TurnEventEntry[];
|
export type TurnEventLog = readonly TurnEventEntry[];
|
||||||
export type TurnEventLogMap = Record<string, TurnEventLog | undefined>;
|
export type TurnEventLogMap = Record<string, TurnEventLog | undefined>;
|
||||||
|
|
||||||
|
const hookTypeLabels: Record<string, string> = {
|
||||||
|
sessionStart: 'Session start',
|
||||||
|
sessionEnd: 'Session end',
|
||||||
|
userPromptSubmitted: 'Prompt submitted',
|
||||||
|
preToolUse: 'Pre-tool use',
|
||||||
|
postToolUse: 'Post-tool use',
|
||||||
|
errorOccurred: 'Error occurred',
|
||||||
|
};
|
||||||
|
|
||||||
|
function formatHookType(hookType: string | undefined): string {
|
||||||
|
if (!hookType) return 'Unknown';
|
||||||
|
return hookTypeLabels[hookType] ?? hookType;
|
||||||
|
}
|
||||||
|
|
||||||
function formatTurnEventEntry(event: SessionEventRecord): TurnEventEntry | undefined {
|
function formatTurnEventEntry(event: SessionEventRecord): TurnEventEntry | undefined {
|
||||||
switch (event.kind) {
|
switch (event.kind) {
|
||||||
case 'subagent':
|
case 'subagent':
|
||||||
@@ -257,12 +271,12 @@ function formatTurnEventEntry(event: SessionEventRecord): TurnEventEntry | undef
|
|||||||
success: event.subagentEventKind === 'completed' ? true : event.subagentEventKind === 'failed' ? false : undefined,
|
success: event.subagentEventKind === 'completed' ? true : event.subagentEventKind === 'failed' ? false : undefined,
|
||||||
};
|
};
|
||||||
case 'hook-lifecycle': {
|
case 'hook-lifecycle': {
|
||||||
|
const hookLabel = formatHookType(event.hookType);
|
||||||
const phaseLabel = event.hookPhase === 'start' ? 'started' : event.hookPhase === 'end' ? 'completed' : undefined;
|
const phaseLabel = event.hookPhase === 'start' ? 'started' : event.hookPhase === 'end' ? 'completed' : undefined;
|
||||||
return {
|
return {
|
||||||
kind: event.kind,
|
kind: event.kind,
|
||||||
occurredAt: event.occurredAt,
|
occurredAt: event.occurredAt,
|
||||||
label: phaseLabel ? `Hook ${event.hookType ?? 'unknown'} ${phaseLabel}` : `Hook ${event.hookType ?? 'unknown'}`,
|
label: phaseLabel ? `${hookLabel} hook ${phaseLabel}` : `${hookLabel} hook`,
|
||||||
detail: event.hookInvocationId,
|
|
||||||
phase: event.hookPhase,
|
phase: event.hookPhase,
|
||||||
success: event.hookSuccess,
|
success: event.hookSuccess,
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user