Skip to content

rulvar API reference


rulvar API reference / @rulvar/core / ToolEvents

Type Alias: ToolEvents

ts
type ToolEvents = 
  | {
  risk?: Json;
  toolName: string;
  type: "tool:start";
}
  | {
  advisory?: Json;
  decidedBy?: string;
  durationMs: number;
  outcome: "ok" | "error" | "denied";
  rule?: Json;
  toolName: string;
  type: "tool:end";
  verdict?: "allow" | "deny" | "ask";
};

Defined in: packages/core/src/l0/events.ts:63

Tool lifecycle (emitters arrive with the tool system, M3).

Union Members

Type Literal

ts
{
  risk?: Json;
  toolName: string;
  type: "tool:start";
}

Type Literal

ts
{
  advisory?: Json;
  decidedBy?: string;
  durationMs: number;
  outcome: "ok" | "error" | "denied";
  rule?: Json;
  toolName: string;
  type: "tool:end";
  verdict?: "allow" | "deny" | "ask";
}
NameTypeDescriptionDefined in
advisory?Json-packages/core/src/l0/events.ts:79
decidedBy?string-packages/core/src/l0/events.ts:77
durationMsnumber-packages/core/src/l0/events.ts:69
outcome"ok" | "error" | "denied"-packages/core/src/l0/events.ts:68
rule?Json-packages/core/src/l0/events.ts:78
toolNamestring-packages/core/src/l0/events.ts:67
type"tool:end"-packages/core/src/l0/events.ts:66
verdict?"allow" | "deny" | "ask"Audit fields (M5-T05): the chain verdict, the deciding layer, the matched rule, and advisory domain-rule matches. Telemetry, never identity; ask verdicts additionally journal as suspended approvals.packages/core/src/l0/events.ts:76