Filed unassigned out of #6086 round 3, which was naming the shape on property tables that named none. This table could not be named, and the reason is a source-shape problem rather than a docs one.
The fact
content/docs/plugins/plugin-chatbot.mdx's ## Properties table has 25 rows. No single declared shape carries them. Measured against the three candidates:
| candidate | claimed keys it does NOT declare |
|---|
ChatbotSchema (packages/types/src/complex.ts:534) | 11 — showTimestamp, userAvatarUrl, userAvatarFallback, assistantAvatarUrl, assistantAvatarFallback, maxHeight, autoResponse, autoResponseText, autoResponseDelay, onSend, surface |
ChatbotProps (packages/plugin-chatbot/src/index.tsx:17) | 16 |
ChatbotEnhancedProps (packages/plugin-chatbot/src/ChatbotEnhanced.tsx:434) | 14 |
The reason there is no single shape: the registration types its node inline and anonymously. packages/plugin-chatbot/src/renderer.tsx:62:
ComponentRegistry.register('chatbot',
({ schema, className, disabled: hostDisabled, ...props }: { schema: ChatbotSchema & {
showTimestamp?: boolean;
disabled?: boolean;
userAvatarUrl?: string;
userAvatarFallback?: string;
assistantAvatarUrl?: string;
assistantAvatarFallback?: string;
maxHeight?: string;
autoResponse?: boolean;
autoResponseText?: string;
autoResponseDelay?: number;
onSend?: (content: string, messages: ObjectChatMessage[]) => void;
}; ... })
So eleven authorable keys of the chatbot node are declared only at the registration site, in a type with no name. Nothing outside this file can reference them, nothing can validate against them, and the docs page has no type to point a reader at.
A second, smaller defect on the same table
The table's body row reads "Additional body params for API requests". ChatbotSchema declares no body with that meaning — the node key is requestBody, and the renderer passes it as body: schema.requestBody (renderer.tsx:87). The body a reader would find on the node is BaseSchema.body, the children container. An author following the table writes a key that reaches nothing.
Why it is worth a card
autoResponse / autoResponseText / autoResponseDelay are read by a live consumer (packages/app-shell/src/console/ai/AiChatPage.tsx:1599-1601), so this is not dead surface to delete — it is real authorable surface with no declaration anyone can import. Whether the fix is to lift the inline extension into ChatbotSchema, or to name it and export it, is a contract decision rather than a docs one, which is why #6086 stopped rather than naming something.
Reproduce
sed -n '60,75p' packages/plugin-chatbot/src/renderer.tsx
sed -n '130,160p' content/docs/plugins/plugin-chatbot.mdx
grep -n 'body: schema.requestBody' packages/plugin-chatbot/src/renderer.tsx
Refs: #6086 (the card this came out of) · #6155 (the sibling name-resolution finding).
Filed unassigned out of #6086 round 3, which was naming the shape on property tables that named none. This table could not be named, and the reason is a source-shape problem rather than a docs one.
The fact
content/docs/plugins/plugin-chatbot.mdx's## Propertiestable has 25 rows. No single declared shape carries them. Measured against the three candidates:ChatbotSchema(packages/types/src/complex.ts:534)showTimestamp,userAvatarUrl,userAvatarFallback,assistantAvatarUrl,assistantAvatarFallback,maxHeight,autoResponse,autoResponseText,autoResponseDelay,onSend,surfaceChatbotProps(packages/plugin-chatbot/src/index.tsx:17)ChatbotEnhancedProps(packages/plugin-chatbot/src/ChatbotEnhanced.tsx:434)The reason there is no single shape: the registration types its node inline and anonymously.
packages/plugin-chatbot/src/renderer.tsx:62:So eleven authorable keys of the
chatbotnode are declared only at the registration site, in a type with no name. Nothing outside this file can reference them, nothing can validate against them, and the docs page has no type to point a reader at.A second, smaller defect on the same table
The table's
bodyrow reads "Additional body params for API requests".ChatbotSchemadeclares nobodywith that meaning — the node key isrequestBody, and the renderer passes it asbody: schema.requestBody(renderer.tsx:87). Thebodya reader would find on the node isBaseSchema.body, the children container. An author following the table writes a key that reaches nothing.Why it is worth a card
autoResponse/autoResponseText/autoResponseDelayare read by a live consumer (packages/app-shell/src/console/ai/AiChatPage.tsx:1599-1601), so this is not dead surface to delete — it is real authorable surface with no declaration anyone can import. Whether the fix is to lift the inline extension intoChatbotSchema, or to name it and export it, is a contract decision rather than a docs one, which is why #6086 stopped rather than naming something.Reproduce
Refs: #6086 (the card this came out of) · #6155 (the sibling name-resolution finding).