OptionalonEvent
onEvent?: (
e:
| {
data: {
births?: number;
category?: string;
crisis?: string;
deaths?: number;
description?: string;
emergent?: boolean;
metrics?: Record<string, number>;
pacing?: unknown;
summary?: string;
title?: string;
totalEvents?: number;
turnSummary?: string;
};
leader: string;
time?: number;
turn?: number;
type: string;
}
| {
data: {
category: string;
description?: string;
emergent?: boolean;
eventIndex: number;
pacing?: unknown;
summary?: string;
title: string;
totalEvents: number;
turnSummary?: string;
};
leader: string;
time?: number;
turn?: number;
type: string;
}
| {
data: { department: string; eventIndex: number; summary?: string };
leader: string;
time?: number;
turn?: number;
type: string;
}
| {
data: {
citationList: { doi?: string; text: string; url: string }[];
citations: number;
department: string;
deptSummary?: string;
eventIndex: number;
forgedTools: unknown[];
recommendedActions?: string[];
risks: string[];
summary?: string;
};
leader: string;
time?: number;
turn?: number;
type: string;
}
| {
data: {
approved: boolean;
confidence: number;
department: string;
description?: string;
errorReason?: string;
eventIndex?: number;
inputFields: string[];
mode?: string;
name: string;
outputFields: string[];
summary?: string;
timestamp: string;
};
leader: string;
time?: number;
turn?: number;
type: string;
}
| {
data: { eventIndex: number; summary?: string };
leader: string;
time?: number;
turn?: number;
type: string;
}
| {
data: {
decision: string;
eventIndex: number;
rationale: string;
reasoning: string;
selectedOptionId?: string;
selectedPolicies: unknown[];
summary?: string;
};
leader: string;
time?: number;
turn?: number;
type: string;
}
| {
data: {
category: string;
emergent: boolean;
eventIndex: number;
outcome: string;
summary?: string;
systemDeltas: Record<string, number>;
};
leader: string;
time?: number;
turn?: number;
type: string;
}
| {
data: {
agents: Record<
string,
{ hexaco: Record<string, number>; name: string },
>;
commander: unknown;
summary?: string;
};
leader: string;
time?: number;
turn?: number;
type: string;
}
| {
data: {
moodSummary?: unknown;
reactions: unknown[];
summary?: string;
};
leader: string;
time?: number;
turn?: number;
type: string;
}
| {
data: { posts: unknown[]; summary?: string };
leader: string;
time?: number;
turn?: number;
type: string;
}
| {
data: {
deathCauses?: Record<string, number>;
environment?: Record<string, string | number | boolean>;
error?: string;
metrics: Record<string, number>;
statuses?: Record<string, string | boolean>;
summary?: string;
toolsForged: number;
totalEvents?: number;
};
leader: string;
time?: number;
turn?: number;
type: string;
}
| {
data: {
agentId: string;
department: string;
reason?: string;
role: string;
summary?: string;
};
leader: string;
time?: number;
turn?: number;
type: string;
}
| {
data: {
agents: unknown[];
births: number;
deaths: number;
foodReserve: number;
morale: number;
population: number;
summary?: string;
};
leader: string;
time?: number;
turn?: number;
type: string;
}
| {
data: {
actionUrl?: string;
kind: "unknown"
| "auth"
| "quota"
| "rate_limit"
| "network";
message: string;
provider: string;
site?: string;
summary?: string;
};
leader: string;
time?: number;
turn?: number;
type: string;
}
| {
data: {
error: string;
rawTextPreview: string;
schemaName?: string;
site: string;
summary?: string;
};
leader: string;
time?: number;
turn?: number;
type: string;
}
| {
data: {
completedTurns: number;
metrics: Record<string, number>;
reason: string;
summary?: string;
toolsForged: number;
};
leader: string;
time?: number;
turn?: number;
type: string;
},
) => void
Options accepted by the top-level
run(prompt, opts)function.