Bug Description
The SignalAccountSchemaBase in zod-schema.providers-core.ts uses .strict() but is missing the accountUuid field. This field is:
- Defined in the TypeScript type at
types.signal.ts:10 as accountUuid?: string
- Used at runtime for loop protection in
signal/monitor/event-handler.ts:456
- Wired in
signal/monitor.ts:426
- Tested in
event-handler.inbound-contract.test.ts:176
Because the schema is .strict(), any user who sets channels.signal.accountUuid in their config will get a validation error, even though the field is valid and critical for preventing echo loops.
Steps to Reproduce
channels:
signal:
accountUuid: "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
This config is rejected by validateConfigObject() with an unrecognized key error.
Expected Behavior
The config should be accepted, since accountUuid is a valid field used for loop protection.
Root Cause
Type/schema drift introduced in PR #31093 which added accountUuid to types and runtime but not to the Zod schema.
Bug Description
The
SignalAccountSchemaBaseinzod-schema.providers-core.tsuses.strict()but is missing theaccountUuidfield. This field is:types.signal.ts:10asaccountUuid?: stringsignal/monitor/event-handler.ts:456signal/monitor.ts:426event-handler.inbound-contract.test.ts:176Because the schema is
.strict(), any user who setschannels.signal.accountUuidin their config will get a validation error, even though the field is valid and critical for preventing echo loops.Steps to Reproduce
This config is rejected by
validateConfigObject()with an unrecognized key error.Expected Behavior
The config should be accepted, since
accountUuidis a valid field used for loop protection.Root Cause
Type/schema drift introduced in PR #31093 which added
accountUuidto types and runtime but not to the Zod schema.