agentfootprint
Version:
The explainable agent framework — backtrack a wrong answer to the exact context that caused it (evidence, not guesses). Built on footprintjs.
341 lines (340 loc) • 31.4 kB
TypeScript
/**
* Event registry — every typed `agentfootprint.*` event (see ALL_EVENT_TYPES;
* the event/domain counts in the docs are asserted against this file by
* test/events/unit/registry.test.ts, so don't hardcode counts here).
*
* Pattern: Discriminated Union + Typed Factory (Gang of Four adapted for TS).
* Role: The stable public event contract — the "ports" of the hexagonal
* architecture (Cockburn, 2005).
* Emits: N/A — this file DEFINES event types and factory helpers.
*
* Consumers subscribe via `.on(type, listener)`. Emitters construct events
* via typed helpers (e.g. `makeContextInjected(payload)`) rather than raw
* strings — compile-time safety prevents typos and payload drift.
*
* Events are additive within a major version; breaking changes require a
* major bump. See agentfootprint_v2_detailed_design.md for rules.
*/
import type { AgentfootprintEventEnvelope } from './types.js';
import type { AgentHandoffPayload, AgentIterationEndPayload, AgentIterationStartPayload, AgentBudgetExhaustedPayload, AgentRouteDecidedPayload, AgentTurnEndPayload, AgentTurnStartPayload, CompositionEnterPayload, CompositionExitPayload, ConditionalRouteDecidedPayload, ContextBudgetPressurePayload, ContextEvaluatedPayload, ContextEvictedPayload, ContextInjectedPayload, ContextSlotComposedPayload, CostLimitHitPayload, CostTickPayload, EmbeddingGeneratedPayload, ErrorCircuitChangedPayload, ErrorFatalPayload, ErrorRecoveredPayload, ErrorRetriedPayload, EvalScorePayload, EvalThresholdCrossedPayload, AgentOutputSchemaValidationFailedPayload, AgentOutputContractUnmetPayload, AgentOutputSchemaRetryPayload, AgentEvidenceCheckedPayload, AgentGroundingNudgedPayload, AgentRunConfiguredPayload, AgentThinkingParseFailedPayload, AgentThinkingOmittedPayload, StreamThinkingDeltaPayload, StreamThinkingEndPayload, FallbackTriggeredPayload, LLMEndPayload, LLMStartPayload, LLMTokenPayload, LoopIterationExitPayload, LoopIterationStartPayload, MemoryAttachedPayload, MemoryDetachedPayload, MemoryRetrievedPayload, MemoryStrategyAppliedPayload, MemoryWrittenPayload, ParallelBranchCompletePayload, ParallelForkStartPayload, ParallelMergeEndPayload, PauseRequestPayload, PauseResumePayload, CheckInRequestPayload, CheckInDecisionPayload, PermissionCheckPayload, PermissionGateClosedPayload, PermissionHaltPayload, PermissionGateOpenedPayload, CredentialRequestedPayload, CredentialAcquiredPayload, CredentialAuthorizationRequiredPayload, CredentialFailedPayload, ReliabilityFailFastPayload, ReliabilityRetriedPayload, ReliabilityRecoveredPayload, ResilienceOutputFallbackTriggeredPayload, ResilienceOutputCannedUsedPayload, SkillActivatedPayload, SkillDeactivatedPayload, SkillEscalatedPayload, SkillGraphDeclaredPayload, SkillRejectedPayload, SkillRerouteSupersededPayload, SkillRouteConflictPayload, SkillStepAdvancedPayload, SkillStepSkippedPayload, SkillStepsUnfinishedPayload, SkillTurnRoutedPayload, ToolAbsentPayload, ToolCoverageDeclaredPayload, ToolSemanticsDeclaredPayload, ToolsCodeRunPayload, ToolsRequestAttemptsPayload, ToolsMcpClientPayload, ToolEffectPayload, ToolRepeatedCallPayload, ToolResultRefusedPayload, ToolEndPayload, ToolsActivatedPayload, ToolsDeactivatedPayload, ToolsDiscoveryStartedPayload, ToolsDiscoveryCompletedPayload, ToolsDiscoveryFailedPayload, ToolsShadowedPayload, ToolsClaimSwallowedPayload, ToolsAnsweredOffWirePayload, ToolsSessionStartedPayload, ToolsSessionReusedPayload, ToolsSessionClosedPayload, ToolsSessionCloseFailedPayload, ToolsOfferedPayload, ToolProgressPayload, ToolStartPayload, ValidationArgsInvalidPayload, MiddlewareDecisionPayload, FindingsDeclaredPayload, FindingsStandingPayload, FindingsJudgedPayload, FindingsJudgeFailedPayload, FindingsContingentPayload, FindingsArgumentPayload, FindingsPeriodPayload, FindingsNegativeClaimPayload, ToolChoicePickedPayload, ToolChoiceOutcomePayload, ToolChoiceFailedPayload, OntologyServedPayload, AnswerAssessedPayload, ArtifactMintedPayload, ArtifactResolvedPayload, ArtifactExpiredPayload, ArtifactRefusedPayload, ArtifactHandOverFailedPayload, ArtifactPresentedPayload, MapEngagedPayload, MapParkedPayload, IntegrityContextErrorPayload, IntegrityDispositionPayload, IntegrityExternalGroundUsedPayload } from './payloads.js';
export declare const EVENT_NAMES: {
readonly composition: {
readonly enter: "agentfootprint.composition.enter";
readonly exit: "agentfootprint.composition.exit";
readonly forkStart: "agentfootprint.composition.fork_start";
readonly branchComplete: "agentfootprint.composition.branch_complete";
readonly mergeEnd: "agentfootprint.composition.merge_end";
readonly routeDecided: "agentfootprint.composition.route_decided";
readonly iterationStart: "agentfootprint.composition.iteration_start";
readonly iterationExit: "agentfootprint.composition.iteration_exit";
};
readonly agent: {
readonly turnStart: "agentfootprint.agent.turn_start";
readonly turnEnd: "agentfootprint.agent.turn_end";
readonly iterationStart: "agentfootprint.agent.iteration_start";
readonly iterationEnd: "agentfootprint.agent.iteration_end";
readonly routeDecided: "agentfootprint.agent.route_decided";
readonly handoff: "agentfootprint.agent.handoff";
readonly outputSchemaValidationFailed: "agentfootprint.agent.output_schema_validation_failed";
readonly outputSchemaRetry: "agentfootprint.agent.output_schema_retry";
readonly outputContractUnmet: "agentfootprint.agent.output_contract_unmet";
readonly evidenceChecked: "agentfootprint.agent.evidence_checked";
readonly groundingNudged: "agentfootprint.agent.grounding_nudged";
readonly runConfigured: "agentfootprint.agent.run_configured";
readonly thinkingParseFailed: "agentfootprint.agent.thinking_parse_failed";
readonly thinkingOmitted: "agentfootprint.agent.thinking_omitted";
readonly budgetExhausted: "agentfootprint.agent.budget_exhausted";
};
readonly stream: {
readonly llmStart: "agentfootprint.stream.llm_start";
readonly llmEnd: "agentfootprint.stream.llm_end";
readonly token: "agentfootprint.stream.token";
readonly toolStart: "agentfootprint.stream.tool_start";
readonly toolProgress: "agentfootprint.stream.tool_progress";
readonly toolEnd: "agentfootprint.stream.tool_end";
readonly thinkingDelta: "agentfootprint.stream.thinking_delta";
readonly thinkingEnd: "agentfootprint.stream.thinking_end";
};
readonly context: {
readonly injected: "agentfootprint.context.injected";
readonly evicted: "agentfootprint.context.evicted";
readonly slotComposed: "agentfootprint.context.slot_composed";
readonly budgetPressure: "agentfootprint.context.budget_pressure";
readonly evaluated: "agentfootprint.context.evaluated";
};
readonly memory: {
readonly strategyApplied: "agentfootprint.memory.strategy_applied";
readonly attached: "agentfootprint.memory.attached";
readonly retrieved: "agentfootprint.memory.retrieved";
readonly detached: "agentfootprint.memory.detached";
readonly written: "agentfootprint.memory.written";
};
readonly tools: {
readonly offered: "agentfootprint.tools.offered";
readonly activated: "agentfootprint.tools.activated";
readonly deactivated: "agentfootprint.tools.deactivated";
readonly discoveryStarted: "agentfootprint.tools.discovery_started";
readonly discoveryCompleted: "agentfootprint.tools.discovery_completed";
readonly discoveryFailed: "agentfootprint.tools.discovery_failed";
readonly shadowed: "agentfootprint.tools.shadowed";
readonly claimSwallowed: "agentfootprint.tools.claim_swallowed";
readonly answeredOffWire: "agentfootprint.tools.answered_off_wire";
readonly sessionStarted: "agentfootprint.tools.session_started";
readonly sessionReused: "agentfootprint.tools.session_reused";
readonly sessionClosed: "agentfootprint.tools.session_closed";
readonly sessionCloseFailed: "agentfootprint.tools.session_close_failed";
readonly effect: "agentfootprint.tools.effect";
readonly resultRefused: "agentfootprint.tools.result_refused";
readonly repeatedCall: "agentfootprint.tools.repeated_call";
readonly absent: "agentfootprint.tools.absent";
readonly coverageDeclared: "agentfootprint.tools.coverage_declared";
readonly semanticsDeclared: "agentfootprint.tools.semantics_declared";
readonly codeRun: "agentfootprint.tools.code_run";
readonly requestAttempts: "agentfootprint.tools.request_attempts";
readonly mcpClient: "agentfootprint.tools.mcp_client";
};
readonly skill: {
readonly activated: "agentfootprint.skill.activated";
readonly graphDeclared: "agentfootprint.skill.graph_declared";
readonly deactivated: "agentfootprint.skill.deactivated";
readonly rejected: "agentfootprint.skill.rejected";
readonly rerouteSuperseded: "agentfootprint.skill.reroute_superseded";
readonly routeConflict: "agentfootprint.skill.route_conflict";
readonly turnRouted: "agentfootprint.skill.turn_routed";
readonly stepAdvanced: "agentfootprint.skill.step_advanced";
readonly stepSkipped: "agentfootprint.skill.step_skipped";
readonly stepsUnfinished: "agentfootprint.skill.steps_unfinished";
readonly escalated: "agentfootprint.skill.escalated";
};
readonly map: {
readonly engaged: "agentfootprint.map.engaged";
readonly parked: "agentfootprint.map.parked";
};
readonly integrity: {
readonly contextError: "agentfootprint.integrity.context_error";
readonly disposition: "agentfootprint.integrity.disposition";
readonly externalGroundUsed: "agentfootprint.integrity.external_ground_used";
};
readonly validation: {
readonly argsInvalid: "agentfootprint.validation.args_invalid";
};
readonly permission: {
readonly check: "agentfootprint.permission.check";
readonly gateOpened: "agentfootprint.permission.gate_opened";
readonly gateClosed: "agentfootprint.permission.gate_closed";
readonly halt: "agentfootprint.permission.halt";
};
readonly credential: {
readonly requested: "agentfootprint.credential.requested";
readonly acquired: "agentfootprint.credential.acquired";
readonly authorizationRequired: "agentfootprint.credential.authorization_required";
readonly failed: "agentfootprint.credential.failed";
};
readonly fallback: {
readonly triggered: "agentfootprint.fallback.triggered";
};
readonly cost: {
readonly tick: "agentfootprint.cost.tick";
readonly limitHit: "agentfootprint.cost.limit_hit";
};
readonly eval: {
readonly score: "agentfootprint.eval.score";
readonly thresholdCrossed: "agentfootprint.eval.threshold_crossed";
};
readonly error: {
readonly retried: "agentfootprint.error.retried";
readonly recovered: "agentfootprint.error.recovered";
readonly fatal: "agentfootprint.error.fatal";
readonly circuitChanged: "agentfootprint.error.circuit_changed";
};
readonly reliability: {
readonly failFast: "agentfootprint.reliability.fail_fast";
readonly retried: "agentfootprint.reliability.retried";
readonly recovered: "agentfootprint.reliability.recovered";
};
readonly resilience: {
readonly outputFallbackTriggered: "agentfootprint.resilience.output_fallback_triggered";
readonly outputCannedUsed: "agentfootprint.resilience.output_canned_used";
};
readonly pause: {
readonly request: "agentfootprint.pause.request";
readonly resume: "agentfootprint.pause.resume";
};
readonly checkin: {
readonly request: "agentfootprint.checkin.request";
readonly decision: "agentfootprint.checkin.decision";
};
readonly middleware: {
readonly decision: "agentfootprint.middleware.decision";
};
readonly findings: {
readonly declared: "agentfootprint.findings.declared";
readonly standing: "agentfootprint.findings.standing";
readonly judged: "agentfootprint.findings.judged";
readonly judge_failed: "agentfootprint.findings.judge_failed";
readonly contingent: "agentfootprint.findings.contingent";
readonly argument: "agentfootprint.findings.argument";
readonly period: "agentfootprint.findings.period";
readonly negative_claim: "agentfootprint.findings.negative_claim";
};
readonly tool_choice: {
readonly picked: "agentfootprint.tool_choice.picked";
readonly outcome: "agentfootprint.tool_choice.outcome";
readonly failed: "agentfootprint.tool_choice.failed";
};
readonly ontology: {
readonly served: "agentfootprint.ontology.served";
};
readonly answer: {
readonly assessed: "agentfootprint.answer.assessed";
};
readonly embedding: {
readonly generated: "agentfootprint.embedding.generated";
};
readonly artifacts: {
readonly minted: "agentfootprint.artifacts.minted";
readonly resolved: "agentfootprint.artifacts.resolved";
readonly expired: "agentfootprint.artifacts.expired";
readonly refused: "agentfootprint.artifacts.refused";
readonly presented: "agentfootprint.artifacts.presented";
readonly handOverFailed: "agentfootprint.artifacts.hand_over_failed";
};
};
export interface AgentfootprintEventMap {
'agentfootprint.composition.enter': AgentfootprintEventEnvelope<'agentfootprint.composition.enter', CompositionEnterPayload>;
'agentfootprint.composition.exit': AgentfootprintEventEnvelope<'agentfootprint.composition.exit', CompositionExitPayload>;
'agentfootprint.composition.fork_start': AgentfootprintEventEnvelope<'agentfootprint.composition.fork_start', ParallelForkStartPayload>;
'agentfootprint.composition.branch_complete': AgentfootprintEventEnvelope<'agentfootprint.composition.branch_complete', ParallelBranchCompletePayload>;
'agentfootprint.composition.merge_end': AgentfootprintEventEnvelope<'agentfootprint.composition.merge_end', ParallelMergeEndPayload>;
'agentfootprint.composition.route_decided': AgentfootprintEventEnvelope<'agentfootprint.composition.route_decided', ConditionalRouteDecidedPayload>;
'agentfootprint.composition.iteration_start': AgentfootprintEventEnvelope<'agentfootprint.composition.iteration_start', LoopIterationStartPayload>;
'agentfootprint.composition.iteration_exit': AgentfootprintEventEnvelope<'agentfootprint.composition.iteration_exit', LoopIterationExitPayload>;
'agentfootprint.agent.turn_start': AgentfootprintEventEnvelope<'agentfootprint.agent.turn_start', AgentTurnStartPayload>;
'agentfootprint.agent.turn_end': AgentfootprintEventEnvelope<'agentfootprint.agent.turn_end', AgentTurnEndPayload>;
'agentfootprint.agent.iteration_start': AgentfootprintEventEnvelope<'agentfootprint.agent.iteration_start', AgentIterationStartPayload>;
'agentfootprint.agent.iteration_end': AgentfootprintEventEnvelope<'agentfootprint.agent.iteration_end', AgentIterationEndPayload>;
'agentfootprint.agent.route_decided': AgentfootprintEventEnvelope<'agentfootprint.agent.route_decided', AgentRouteDecidedPayload>;
'agentfootprint.agent.handoff': AgentfootprintEventEnvelope<'agentfootprint.agent.handoff', AgentHandoffPayload>;
'agentfootprint.agent.output_schema_validation_failed': AgentfootprintEventEnvelope<'agentfootprint.agent.output_schema_validation_failed', AgentOutputSchemaValidationFailedPayload>;
'agentfootprint.agent.output_contract_unmet': AgentfootprintEventEnvelope<'agentfootprint.agent.output_contract_unmet', AgentOutputContractUnmetPayload>;
'agentfootprint.agent.output_schema_retry': AgentfootprintEventEnvelope<'agentfootprint.agent.output_schema_retry', AgentOutputSchemaRetryPayload>;
'agentfootprint.agent.evidence_checked': AgentfootprintEventEnvelope<'agentfootprint.agent.evidence_checked', AgentEvidenceCheckedPayload>;
'agentfootprint.agent.grounding_nudged': AgentfootprintEventEnvelope<'agentfootprint.agent.grounding_nudged', AgentGroundingNudgedPayload>;
'agentfootprint.agent.run_configured': AgentfootprintEventEnvelope<'agentfootprint.agent.run_configured', AgentRunConfiguredPayload>;
'agentfootprint.agent.thinking_parse_failed': AgentfootprintEventEnvelope<'agentfootprint.agent.thinking_parse_failed', AgentThinkingParseFailedPayload>;
'agentfootprint.agent.thinking_omitted': AgentfootprintEventEnvelope<'agentfootprint.agent.thinking_omitted', AgentThinkingOmittedPayload>;
'agentfootprint.agent.budget_exhausted': AgentfootprintEventEnvelope<'agentfootprint.agent.budget_exhausted', AgentBudgetExhaustedPayload>;
'agentfootprint.stream.llm_start': AgentfootprintEventEnvelope<'agentfootprint.stream.llm_start', LLMStartPayload>;
'agentfootprint.stream.llm_end': AgentfootprintEventEnvelope<'agentfootprint.stream.llm_end', LLMEndPayload>;
'agentfootprint.stream.token': AgentfootprintEventEnvelope<'agentfootprint.stream.token', LLMTokenPayload>;
'agentfootprint.stream.tool_start': AgentfootprintEventEnvelope<'agentfootprint.stream.tool_start', ToolStartPayload>;
'agentfootprint.stream.tool_progress': AgentfootprintEventEnvelope<'agentfootprint.stream.tool_progress', ToolProgressPayload>;
'agentfootprint.stream.tool_end': AgentfootprintEventEnvelope<'agentfootprint.stream.tool_end', ToolEndPayload>;
'agentfootprint.stream.thinking_delta': AgentfootprintEventEnvelope<'agentfootprint.stream.thinking_delta', StreamThinkingDeltaPayload>;
'agentfootprint.stream.thinking_end': AgentfootprintEventEnvelope<'agentfootprint.stream.thinking_end', StreamThinkingEndPayload>;
'agentfootprint.context.injected': AgentfootprintEventEnvelope<'agentfootprint.context.injected', ContextInjectedPayload>;
'agentfootprint.context.evicted': AgentfootprintEventEnvelope<'agentfootprint.context.evicted', ContextEvictedPayload>;
'agentfootprint.context.slot_composed': AgentfootprintEventEnvelope<'agentfootprint.context.slot_composed', ContextSlotComposedPayload>;
'agentfootprint.context.budget_pressure': AgentfootprintEventEnvelope<'agentfootprint.context.budget_pressure', ContextBudgetPressurePayload>;
'agentfootprint.context.evaluated': AgentfootprintEventEnvelope<'agentfootprint.context.evaluated', ContextEvaluatedPayload>;
'agentfootprint.memory.strategy_applied': AgentfootprintEventEnvelope<'agentfootprint.memory.strategy_applied', MemoryStrategyAppliedPayload>;
'agentfootprint.memory.attached': AgentfootprintEventEnvelope<'agentfootprint.memory.attached', MemoryAttachedPayload>;
'agentfootprint.memory.retrieved': AgentfootprintEventEnvelope<'agentfootprint.memory.retrieved', MemoryRetrievedPayload>;
'agentfootprint.memory.detached': AgentfootprintEventEnvelope<'agentfootprint.memory.detached', MemoryDetachedPayload>;
'agentfootprint.memory.written': AgentfootprintEventEnvelope<'agentfootprint.memory.written', MemoryWrittenPayload>;
'agentfootprint.tools.offered': AgentfootprintEventEnvelope<'agentfootprint.tools.offered', ToolsOfferedPayload>;
'agentfootprint.tools.activated': AgentfootprintEventEnvelope<'agentfootprint.tools.activated', ToolsActivatedPayload>;
'agentfootprint.tools.deactivated': AgentfootprintEventEnvelope<'agentfootprint.tools.deactivated', ToolsDeactivatedPayload>;
'agentfootprint.tools.discovery_started': AgentfootprintEventEnvelope<'agentfootprint.tools.discovery_started', ToolsDiscoveryStartedPayload>;
'agentfootprint.tools.discovery_completed': AgentfootprintEventEnvelope<'agentfootprint.tools.discovery_completed', ToolsDiscoveryCompletedPayload>;
'agentfootprint.tools.discovery_failed': AgentfootprintEventEnvelope<'agentfootprint.tools.discovery_failed', ToolsDiscoveryFailedPayload>;
'agentfootprint.tools.shadowed': AgentfootprintEventEnvelope<'agentfootprint.tools.shadowed', ToolsShadowedPayload>;
'agentfootprint.tools.claim_swallowed': AgentfootprintEventEnvelope<'agentfootprint.tools.claim_swallowed', ToolsClaimSwallowedPayload>;
'agentfootprint.tools.answered_off_wire': AgentfootprintEventEnvelope<'agentfootprint.tools.answered_off_wire', ToolsAnsweredOffWirePayload>;
'agentfootprint.tools.session_started': AgentfootprintEventEnvelope<'agentfootprint.tools.session_started', ToolsSessionStartedPayload>;
'agentfootprint.tools.session_reused': AgentfootprintEventEnvelope<'agentfootprint.tools.session_reused', ToolsSessionReusedPayload>;
'agentfootprint.tools.session_closed': AgentfootprintEventEnvelope<'agentfootprint.tools.session_closed', ToolsSessionClosedPayload>;
'agentfootprint.tools.effect': AgentfootprintEventEnvelope<'agentfootprint.tools.effect', ToolEffectPayload>;
'agentfootprint.tools.result_refused': AgentfootprintEventEnvelope<'agentfootprint.tools.result_refused', ToolResultRefusedPayload>;
'agentfootprint.tools.repeated_call': AgentfootprintEventEnvelope<'agentfootprint.tools.repeated_call', ToolRepeatedCallPayload>;
'agentfootprint.tools.absent': AgentfootprintEventEnvelope<'agentfootprint.tools.absent', ToolAbsentPayload>;
'agentfootprint.tools.code_run': AgentfootprintEventEnvelope<'agentfootprint.tools.code_run', ToolsCodeRunPayload>;
'agentfootprint.tools.request_attempts': AgentfootprintEventEnvelope<'agentfootprint.tools.request_attempts', ToolsRequestAttemptsPayload>;
'agentfootprint.tools.mcp_client': AgentfootprintEventEnvelope<'agentfootprint.tools.mcp_client', ToolsMcpClientPayload>;
'agentfootprint.tools.coverage_declared': AgentfootprintEventEnvelope<'agentfootprint.tools.coverage_declared', ToolCoverageDeclaredPayload>;
'agentfootprint.tools.semantics_declared': AgentfootprintEventEnvelope<'agentfootprint.tools.semantics_declared', ToolSemanticsDeclaredPayload>;
'agentfootprint.tools.session_close_failed': AgentfootprintEventEnvelope<'agentfootprint.tools.session_close_failed', ToolsSessionCloseFailedPayload>;
'agentfootprint.skill.activated': AgentfootprintEventEnvelope<'agentfootprint.skill.activated', SkillActivatedPayload>;
'agentfootprint.skill.graph_declared': AgentfootprintEventEnvelope<'agentfootprint.skill.graph_declared', SkillGraphDeclaredPayload>;
'agentfootprint.skill.deactivated': AgentfootprintEventEnvelope<'agentfootprint.skill.deactivated', SkillDeactivatedPayload>;
'agentfootprint.skill.rejected': AgentfootprintEventEnvelope<'agentfootprint.skill.rejected', SkillRejectedPayload>;
'agentfootprint.skill.reroute_superseded': AgentfootprintEventEnvelope<'agentfootprint.skill.reroute_superseded', SkillRerouteSupersededPayload>;
'agentfootprint.skill.route_conflict': AgentfootprintEventEnvelope<'agentfootprint.skill.route_conflict', SkillRouteConflictPayload>;
'agentfootprint.skill.turn_routed': AgentfootprintEventEnvelope<'agentfootprint.skill.turn_routed', SkillTurnRoutedPayload>;
'agentfootprint.skill.step_advanced': AgentfootprintEventEnvelope<'agentfootprint.skill.step_advanced', SkillStepAdvancedPayload>;
'agentfootprint.skill.step_skipped': AgentfootprintEventEnvelope<'agentfootprint.skill.step_skipped', SkillStepSkippedPayload>;
'agentfootprint.skill.steps_unfinished': AgentfootprintEventEnvelope<'agentfootprint.skill.steps_unfinished', SkillStepsUnfinishedPayload>;
'agentfootprint.skill.escalated': AgentfootprintEventEnvelope<'agentfootprint.skill.escalated', SkillEscalatedPayload>;
'agentfootprint.validation.args_invalid': AgentfootprintEventEnvelope<'agentfootprint.validation.args_invalid', ValidationArgsInvalidPayload>;
'agentfootprint.permission.check': AgentfootprintEventEnvelope<'agentfootprint.permission.check', PermissionCheckPayload>;
'agentfootprint.permission.gate_opened': AgentfootprintEventEnvelope<'agentfootprint.permission.gate_opened', PermissionGateOpenedPayload>;
'agentfootprint.permission.gate_closed': AgentfootprintEventEnvelope<'agentfootprint.permission.gate_closed', PermissionGateClosedPayload>;
'agentfootprint.permission.halt': AgentfootprintEventEnvelope<'agentfootprint.permission.halt', PermissionHaltPayload>;
'agentfootprint.credential.requested': AgentfootprintEventEnvelope<'agentfootprint.credential.requested', CredentialRequestedPayload>;
'agentfootprint.credential.acquired': AgentfootprintEventEnvelope<'agentfootprint.credential.acquired', CredentialAcquiredPayload>;
'agentfootprint.credential.authorization_required': AgentfootprintEventEnvelope<'agentfootprint.credential.authorization_required', CredentialAuthorizationRequiredPayload>;
'agentfootprint.credential.failed': AgentfootprintEventEnvelope<'agentfootprint.credential.failed', CredentialFailedPayload>;
'agentfootprint.fallback.triggered': AgentfootprintEventEnvelope<'agentfootprint.fallback.triggered', FallbackTriggeredPayload>;
'agentfootprint.cost.tick': AgentfootprintEventEnvelope<'agentfootprint.cost.tick', CostTickPayload>;
'agentfootprint.cost.limit_hit': AgentfootprintEventEnvelope<'agentfootprint.cost.limit_hit', CostLimitHitPayload>;
'agentfootprint.eval.score': AgentfootprintEventEnvelope<'agentfootprint.eval.score', EvalScorePayload>;
'agentfootprint.eval.threshold_crossed': AgentfootprintEventEnvelope<'agentfootprint.eval.threshold_crossed', EvalThresholdCrossedPayload>;
'agentfootprint.error.retried': AgentfootprintEventEnvelope<'agentfootprint.error.retried', ErrorRetriedPayload>;
'agentfootprint.error.recovered': AgentfootprintEventEnvelope<'agentfootprint.error.recovered', ErrorRecoveredPayload>;
'agentfootprint.error.fatal': AgentfootprintEventEnvelope<'agentfootprint.error.fatal', ErrorFatalPayload>;
'agentfootprint.error.circuit_changed': AgentfootprintEventEnvelope<'agentfootprint.error.circuit_changed', ErrorCircuitChangedPayload>;
'agentfootprint.reliability.fail_fast': AgentfootprintEventEnvelope<'agentfootprint.reliability.fail_fast', ReliabilityFailFastPayload>;
'agentfootprint.reliability.retried': AgentfootprintEventEnvelope<'agentfootprint.reliability.retried', ReliabilityRetriedPayload>;
'agentfootprint.reliability.recovered': AgentfootprintEventEnvelope<'agentfootprint.reliability.recovered', ReliabilityRecoveredPayload>;
'agentfootprint.resilience.output_fallback_triggered': AgentfootprintEventEnvelope<'agentfootprint.resilience.output_fallback_triggered', ResilienceOutputFallbackTriggeredPayload>;
'agentfootprint.resilience.output_canned_used': AgentfootprintEventEnvelope<'agentfootprint.resilience.output_canned_used', ResilienceOutputCannedUsedPayload>;
'agentfootprint.pause.request': AgentfootprintEventEnvelope<'agentfootprint.pause.request', PauseRequestPayload>;
'agentfootprint.pause.resume': AgentfootprintEventEnvelope<'agentfootprint.pause.resume', PauseResumePayload>;
'agentfootprint.checkin.request': AgentfootprintEventEnvelope<'agentfootprint.checkin.request', CheckInRequestPayload>;
'agentfootprint.checkin.decision': AgentfootprintEventEnvelope<'agentfootprint.checkin.decision', CheckInDecisionPayload>;
'agentfootprint.middleware.decision': AgentfootprintEventEnvelope<'agentfootprint.middleware.decision', MiddlewareDecisionPayload>;
'agentfootprint.findings.declared': AgentfootprintEventEnvelope<'agentfootprint.findings.declared', FindingsDeclaredPayload>;
'agentfootprint.findings.standing': AgentfootprintEventEnvelope<'agentfootprint.findings.standing', FindingsStandingPayload>;
'agentfootprint.findings.judged': AgentfootprintEventEnvelope<'agentfootprint.findings.judged', FindingsJudgedPayload>;
'agentfootprint.findings.judge_failed': AgentfootprintEventEnvelope<'agentfootprint.findings.judge_failed', FindingsJudgeFailedPayload>;
'agentfootprint.findings.contingent': AgentfootprintEventEnvelope<'agentfootprint.findings.contingent', FindingsContingentPayload>;
'agentfootprint.findings.argument': AgentfootprintEventEnvelope<'agentfootprint.findings.argument', FindingsArgumentPayload>;
'agentfootprint.findings.period': AgentfootprintEventEnvelope<'agentfootprint.findings.period', FindingsPeriodPayload>;
'agentfootprint.findings.negative_claim': AgentfootprintEventEnvelope<'agentfootprint.findings.negative_claim', FindingsNegativeClaimPayload>;
'agentfootprint.tool_choice.picked': AgentfootprintEventEnvelope<'agentfootprint.tool_choice.picked', ToolChoicePickedPayload>;
'agentfootprint.tool_choice.outcome': AgentfootprintEventEnvelope<'agentfootprint.tool_choice.outcome', ToolChoiceOutcomePayload>;
'agentfootprint.tool_choice.failed': AgentfootprintEventEnvelope<'agentfootprint.tool_choice.failed', ToolChoiceFailedPayload>;
'agentfootprint.ontology.served': AgentfootprintEventEnvelope<'agentfootprint.ontology.served', OntologyServedPayload>;
'agentfootprint.answer.assessed': AgentfootprintEventEnvelope<'agentfootprint.answer.assessed', AnswerAssessedPayload>;
'agentfootprint.embedding.generated': AgentfootprintEventEnvelope<'agentfootprint.embedding.generated', EmbeddingGeneratedPayload>;
'agentfootprint.artifacts.minted': AgentfootprintEventEnvelope<'agentfootprint.artifacts.minted', ArtifactMintedPayload>;
'agentfootprint.artifacts.resolved': AgentfootprintEventEnvelope<'agentfootprint.artifacts.resolved', ArtifactResolvedPayload>;
'agentfootprint.artifacts.expired': AgentfootprintEventEnvelope<'agentfootprint.artifacts.expired', ArtifactExpiredPayload>;
'agentfootprint.artifacts.refused': AgentfootprintEventEnvelope<'agentfootprint.artifacts.refused', ArtifactRefusedPayload>;
'agentfootprint.artifacts.presented': AgentfootprintEventEnvelope<'agentfootprint.artifacts.presented', ArtifactPresentedPayload>;
'agentfootprint.artifacts.hand_over_failed': AgentfootprintEventEnvelope<'agentfootprint.artifacts.hand_over_failed', ArtifactHandOverFailedPayload>;
'agentfootprint.map.engaged': AgentfootprintEventEnvelope<'agentfootprint.map.engaged', MapEngagedPayload>;
'agentfootprint.map.parked': AgentfootprintEventEnvelope<'agentfootprint.map.parked', MapParkedPayload>;
'agentfootprint.integrity.context_error': AgentfootprintEventEnvelope<'agentfootprint.integrity.context_error', IntegrityContextErrorPayload>;
'agentfootprint.integrity.disposition': AgentfootprintEventEnvelope<'agentfootprint.integrity.disposition', IntegrityDispositionPayload>;
'agentfootprint.integrity.external_ground_used': AgentfootprintEventEnvelope<'agentfootprint.integrity.external_ground_used', IntegrityExternalGroundUsedPayload>;
}
/** Union of every typed event. Consumers use this for exhaustive `switch`. */
export type AgentfootprintEvent = AgentfootprintEventMap[keyof AgentfootprintEventMap];
/** Every known event-type string, useful for runtime lookups / lints. */
export type AgentfootprintEventType = keyof AgentfootprintEventMap;
/**
* Complete list of every registered event type, for lint / runtime validation.
* A new event MUST be added here or the exhaustiveness tests fail.
*/
export declare const ALL_EVENT_TYPES: readonly AgentfootprintEventType[];