Skip to content
中文

Observation & diagnostics ​

Core · Interfaces & runtime guarantees · Back to layer index

SymbolKindPurpose
CoreDiagnosticRecordinterfacePersisted data is untrusted: normalization checks the current envelope, not arbitrary payloads.
CoreEventtypeA recorded Core fact. Every variant carries the same envelope: a version marker, unique event id, producing span's identity, a per-producer monotonic sequence, the occurrence instant and optional reported sub-steps. subStepsDropped/subStepsTruncated state that reported detail was bounded.
coreEventCatalogconstant
CoreEventDescriptorinterfaceEvent classification used when deciding whether a sink accepts an event. metadata events carry identity, timing and status only; content events may carry user, model or tool content and therefore require an explicit acceptance decision.
CoreEventNametypeUnion of every Core event name; the key set of CoreEventPayloads.
CoreEventPayloadsinterfacePayload of every Core event, keyed by event name. Fields are the event's own facts only.
CoreLogOutputinterfaceDestination for recorded facts; implementations decide filtering and durability.
createDiagnosticsfunctionConfigure the optional log consumer of the shared execution fact source.
CreateDiagnosticsOptionsinterfaceOptions for creating a root diagnostic scope.
DebugStepsOutputinterfaceDebug material a handler contributes to a diagnostic event.
DiagnosticContextinterfaceRecording scope bound to one execution identity. A child scope inherits the sink and observer of its parent; only identity changes.
diagnosticErrorfunctionConvert a thrown value into a plain record suitable as a log payload.
DiagnosticIdentityinterfaceExecution identity only: never message, account or HTTP identity.
DiagnosticSpanFieldstypeIdentity fields a child span may override; the parent supplies run, span and parent span.
NodeReportingContextinterfaceReporting surface handed to a node or tool for the duration of one visit.
normalizeDiagnosticEventfunctionValidate a persisted diagnostic record and return a detached copy. Persisted data is untrusted, so the envelope version, event type, identity, ordering and the bounded sub-step shape are checked; the payload itself is not interpreted. The copy is deep cloned, so a store cannot hand back a record that later shares structure with the caller.
RecordedSubStepinterfaceA step already accepted by a logger, carrying recorder-assigned bookkeeping fields.
ReportedStepinterfaceOne step as reported by a node; fields beyond identity are optional detail.
ReportedStepStatustypeA status a node may report; derived from the catalog, never declared separately.
reportedStepStatusCatalogconstant
reportedStepStatusesconstant
ScopedSubFlowLoggerclassNon-inheriting delegate. Stores only the original logger and its bound subnode identity.
ScopedSubFlowStepInputtypeScoped writes cannot supply or override the identity bound by their delegate.
SubFlowLoginterfaceCommon read/write surface for both independently implemented logger classes.
SubFlowLoggerclassFull execution-owned recorder. Owns its store and may issue restricted delegates.
SubFlowStepFixinterfaceExplicit revision whitelist: identity, grouping and business type are never patchable.
SubFlowStepInputinterfaceInput accepted by write; the logger assigns the step id and sequence.
SubFlowValuetypeJSON-like value accepted in reported payloads; depth and size are bounded by the recorder.
SubStepProgressinterfaceCompact progress notification emitted for each accepted sub-step write or fix.

API reference, usage examples and developer guides.