OBSERVERTC / Observer
Events and issue propagation
Subscribe centrally and retain the entity ancestry.
Subscribe on Observer to receive typed lifecycle, update, issue and analysis events. Payloads include the relevant parent entities so handlers can identify a call and participant without attaching listeners to every node.
observer.on('call-added', ({ observedCall }) => {
console.log('Call:', observedCall.callId);
});
observer.on('client-issue', ({ observedClient, issue }) => {
console.log(observedClient.clientId, issue.type);
});
observer.on('sample-rejected', ({ reason }) => {
console.warn(reason);
});Issue timing
A client issue raise carries client-clock raisedAt and server-clock observedAt. Use the server observation time for cross-client onset comparisons. Keyed resolution records close the corresponding issue; keyless issues are one-shot.
Request context and application state
context passed to accept() is request-scoped. appData belongs to the application and persists on an entity. Neither is a substitute for schema attachments you intend to transmit.