diff --git a/packages/agent-core-v2/src/human/test/usage/machine.test.ts b/packages/agent-core-v2/src/human/test/usage/machine.test.ts index 1e5271fd56..2583cc9f2a 100644 --- a/packages/agent-core-v2/src/human/test/usage/machine.test.ts +++ b/packages/agent-core-v2/src/human/test/usage/machine.test.ts @@ -61,7 +61,7 @@ describe('xstate inspection collector', () => { const delivered = envelopes.filter((envelope) => envelope.eventType === 'usage.record'); expect(delivered.length).toBeGreaterThan(0); for (const envelope of delivered) { - expect(typeof envelope.actorSessionId).toBe('string'); + expect(typeof envelope.actorId).toBe('string'); expect(typeof envelope.timestamp).toBe('number'); } expect(delivered.find((envelope) => envelope.type === '@xstate.microstep')?.stateValue).toBeDefined(); diff --git a/packages/agent-core-v2/src/human/xstateInspection.ts b/packages/agent-core-v2/src/human/xstateInspection.ts index 12671e09e4..f51ee93fd0 100644 --- a/packages/agent-core-v2/src/human/xstateInspection.ts +++ b/packages/agent-core-v2/src/human/xstateInspection.ts @@ -5,9 +5,10 @@ export type XstateInspectionEventType = InspectionEvent['type']; export interface XstateInspectionEnvelope { readonly type: XstateInspectionEventType; readonly timestamp: number; - readonly actorSessionId: string; - readonly actorId?: string; + readonly actorId: string; + readonly refId?: string; readonly logicId?: string; + readonly parentActorId?: string; readonly eventType?: string; readonly stateValue?: unknown; } @@ -24,15 +25,17 @@ function scalar(value: unknown): string | undefined { } function toEnvelope(event: InspectionEvent, now: () => number): XstateInspectionEnvelope { - const actorRef = event.actorRef as { id?: unknown; logic?: unknown }; + const actorRef = event.actorRef as { id?: unknown; logic?: unknown; _parent?: unknown }; const logic = actorRef.logic as { id?: unknown } | undefined; + const parent = actorRef._parent as { sessionId?: unknown } | undefined; const snapshot = 'snapshot' in event ? (event.snapshot as { value?: unknown }) : undefined; return { type: event.type, timestamp: now(), - actorSessionId: event.actorRef.sessionId, - actorId: scalar(actorRef.id), + actorId: event.actorRef.sessionId, + refId: scalar(actorRef.id), logicId: scalar(logic?.id), + parentActorId: scalar(parent?.sessionId), eventType: 'event' in event ? event.event.type diff --git a/packages/kap-server/test/wsUpgradeAuth.test.ts b/packages/kap-server/test/wsUpgradeAuth.test.ts index 3cd4c78c2a..f8980ca2de 100644 --- a/packages/kap-server/test/wsUpgradeAuth.test.ts +++ b/packages/kap-server/test/wsUpgradeAuth.test.ts @@ -148,7 +148,7 @@ describe('WS upgrade auth', () => { }); expect(envelope['type']).toBe('@xstate.event'); expect(envelope['logicId']).toBe('debugWsProbe'); - expect(typeof envelope['actorSessionId']).toBe('string'); + expect(typeof envelope['actorId']).toBe('string'); expect(typeof envelope['timestamp']).toBe('number'); } finally { await server.close();