t8y2/dbx · error
parent_schema is required for Xugu type members
Error message
parent_schema is required for Xugu type members
What it means
Raised by completionAssistantSearchTypeMembers after the request-shape check passes: it needs a schema in which to resolve the parent type (via xuguTypeDefinition) but neither parent_schema nor schema was provided. Xugu type names can be schema-qualified, so the schema is mandatory to locate the type definition.
Source
Thrown at agents/drivers/xugu/type_members.go:173
case "package":
return s.completionAssistantSearchPackageMembers(request)
}
// Package members shipped before type members. Keep that request shape
// working for already-running desktop clients that do not send parent_type.
return s.completionAssistantSearchPackageMembers(request)
}
func (s *server) completionAssistantSearchTypeMembers(request completionAssistantRequest) (completionAssistantResponse, error) {
parentName := strings.TrimSpace(request.ParentName)
if parentName == "" || !xuguCompletionRequestsTypeMembers(request.ObjectKinds) {
return completionAssistantResponse{}, errors.New("completion assistant search is not supported for this request")
}
parentSchema := strings.TrimSpace(request.ParentSchema)
if parentSchema == "" {
parentSchema = strings.TrimSpace(request.Schema)
}
if parentSchema == "" {
return completionAssistantResponse{}, errors.New("parent_schema is required for Xugu type members")
}
typeDefinition, err := s.xuguTypeDefinition(parentSchema, parentName)
if err != nil {
return completionAssistantResponse{}, err
}
if typeDefinition.Kind != xuguObjectTypeKind {
return completionAssistantResponse{Candidates: []completionAssistantCandidate{}, FallbackUsed: false}, nil
}
limit := request.MaxResults
if limit <= 0 {
limit = 100
}
if limit > 1000 {
limit = 1000
}
View on GitHub (pinned to c0390bff16)
Solutions
- Set parent_schema in the completion request to the schema owning the parent type
- Alternatively set schema on the request so it is used as the parent schema fallback
- Always send fully qualified type names (schema.type) where the API allows it
Example fix
// before
req := completionAssistantRequest{ParentName: "my_type"}
// after
req := completionAssistantRequest{ParentName: "my_type", ParentSchema: "my_schema"} Defensive patterns
Strategy: validation
Validate before calling
if strings.TrimSpace(req.ParentSchema) == "" && strings.TrimSpace(req.Schema) == "" {
return errors.New("parent_schema (or schema) is required for Xugu type member completion")
} Type guard
func hasParentSchema(r completionAssistantRequest) bool {
return strings.TrimSpace(r.ParentSchema) != "" || strings.TrimSpace(r.Schema) != ""
} Try / catch
resp, err := s.completionAssistantSearchTypeMembers(req)
if err != nil && strings.Contains(err.Error(), "parent_schema is required") {
return nil, fmt.Errorf("client bug: send parent_schema for %q", req.ParentName)
} Prevention
- Send fully qualified type identifiers (schema.type) whenever possible
- Default parent_schema from the connection's current schema on the client side
- Never rely on server-side schema defaults for type resolution
- Validate that both parent_name and parent_schema are present together
When it happens
Trigger: completionAssistantSearchTypeMembers is called with ParentName set and valid ObjectKinds, but both request.ParentSchema and request.Schema are empty after trimming whitespace.
Common situations: Client omits schema because it assumed a default schema; parent_name given unqualified with no schema context; serialization drops empty-string fields.
Understand the failure class
Background: Missing required parameter errors: what 'X is required' and 'the required X param is missing' mean, and how to fix them — this error's family across 27 libraries.
Related errors
- parent_schema is required for Xugu package members
- completion assistant search is not supported for this reques
- completion assistant search is not supported for this reques
- scheduler job name is required
- sequence name is required
AI-assisted analysis of t8y2/dbx@c0390bff16 (2026-09-05).
Data as JSON: /api/errors/39c782977e2a1072.
Report an issue: GitHub.