/** Per-call telemetry emitted from the single tool-registration chokepoint (O1). */ export interface ToolTelemetryEvent { tool: string; /** * Core `@jupiterone/jupiterone-mcp` package version serving the call. `test-connection` already * returns this in its response, but no event carried it — so an ECS-revision to core-version * mapping could not be reconstructed after the fact, which made every release comparison guesswork. */ version: string; outcome: 'success' | 'error'; durationMs: number; /** Constructor name of a thrown error, when the handler threw. */ errorClass?: string; /** Sanitized error message (first 200 chars). Present when outcome = 'error'. */ errorMessage?: string; /** Account the call ran against (env-configured or the per-request account). */ accountId?: string; /** Self-reported agent intent from the optional `reason` arg, when provided (truncated). */ reason?: string; /** Sanitized, allowlisted summary of the call inputs (redacted J1QL, IDs, limits, names). */ input?: Record; /** Result metadata derived from structuredContent (resultCount, hasNextPage, status, isError). */ result?: Record; } /** Sink for tool telemetry. The remote injects a request-scoped logger that ships to New Relic. */ export type ToolTelemetry = (event: ToolTelemetryEvent) => void; /** * Default sink for stdio deployments. Writes to stderr only — stdout is owned by the MCP * stdio transport, so anything written there corrupts the protocol stream. */ export declare const stderrTelemetry: ToolTelemetry; //# sourceMappingURL=telemetry.d.ts.map