Bug Description
The wideArea schema in zod-schema.ts uses .strict() but is missing the domain field. This field is:
- Defined in the TypeScript type at
types.gateway.ts:21 as domain?: string
- Used across the codebase:
cli/gateway-cli/register.ts:216 — gateway registration
cli/dns-cli.ts:127,131,161 — DNS CLI commands
gateway/server-discovery-runtime.ts:66,79 — runtime discovery
gateway/server.impl.ts:609 — server implementation
commands/gateway-status.ts:42 — status command
commands/onboard-remote.ts:85 — remote onboarding
Because the schema is .strict(), users setting discovery.wideArea.domain get a validation error, blocking unicast DNS-SD configuration.
Steps to Reproduce
discovery:
wideArea:
enabled: true
domain: "openclaw.internal"
This config is rejected by validateConfigObject().
Root Cause
Type/schema drift: domain was added to the type and runtime code but not to the Zod schema.
Bug Description
The
wideAreaschema inzod-schema.tsuses.strict()but is missing thedomainfield. This field is:types.gateway.ts:21asdomain?: stringcli/gateway-cli/register.ts:216— gateway registrationcli/dns-cli.ts:127,131,161— DNS CLI commandsgateway/server-discovery-runtime.ts:66,79— runtime discoverygateway/server.impl.ts:609— server implementationcommands/gateway-status.ts:42— status commandcommands/onboard-remote.ts:85— remote onboardingBecause the schema is
.strict(), users settingdiscovery.wideArea.domainget a validation error, blocking unicast DNS-SD configuration.Steps to Reproduce
This config is rejected by
validateConfigObject().Root Cause
Type/schema drift:
domainwas added to the type and runtime code but not to the Zod schema.