From 73b9ae93297ea1067a232926e5666cdca11fbc0c Mon Sep 17 00:00:00 2001 From: Claude Date: Wed, 30 Sep 2026 06:17:42 +0000 Subject: [PATCH 1/2] docs: re-fence 17 plaintext TypeScript blocks as ts across the plugins and core remainder (objectui#5867 batch 6) Every block in content/docs/plugins/** and content/docs/core/report-schema.mdx that triage's classifier reads as code is now fenced ts, so check-doc-snippet-types compiles it. The gate then reddened four blocks, and each is fixed rather than marked: - plugin-gantt.mdx annotated an object-gantt node as ObjectGridSchema, whose type literal is 'object-grid' (TS2322). It now uses ObjectGanttSchema, the type every other example on the page already imports. - report-schema.mdx's ReportSection and scheduling blocks referenced SchemaNode, ChartSchema, ReportField and ReportExportFormat without importing them (TS2304); each block now imports what it names. - the scheduling block declared an interface named ReportSchedule, a name no package exports; the shipped name is ReportScheduleConfig. - the Complete Example annotated ReportComponentSchema without importing it. Claude-Session: https://claude.ai/code/session_01TdiauJaVCHuj45EzZGUxHh Co-authored-by: Claude --- content/docs/core/report-schema.mdx | 22 ++++++++++++++-------- content/docs/plugins/plugin-calendar.mdx | 2 +- content/docs/plugins/plugin-chatbot.mdx | 4 ++-- content/docs/plugins/plugin-dashboard.mdx | 6 +++--- content/docs/plugins/plugin-gantt.mdx | 6 +++--- content/docs/plugins/plugin-kanban.mdx | 2 +- content/docs/plugins/plugin-map.mdx | 2 +- content/docs/plugins/plugin-timeline.mdx | 2 +- 8 files changed, 26 insertions(+), 20 deletions(-) diff --git a/content/docs/core/report-schema.mdx b/content/docs/core/report-schema.mdx index ff33c96bc5..76ffa98a51 100644 --- a/content/docs/core/report-schema.mdx +++ b/content/docs/core/report-schema.mdx @@ -100,7 +100,7 @@ complete list. ### Report Fields -```plaintext +```ts interface ReportField { name: string; // Field name label?: string; // Display label @@ -164,7 +164,7 @@ rendering — a field with no `type` falls back to plain text. ### Filters -```plaintext +```ts interface ReportFilter { field: string; operator: 'equals' | 'not_equals' | 'contains' | 'greater_than' | @@ -176,7 +176,7 @@ interface ReportFilter { ### Group By -```plaintext +```ts interface ReportGroupBy { field: string; label?: string; @@ -188,7 +188,9 @@ interface ReportGroupBy { Define report structure with sections: -```plaintext +```ts +import type { ChartSchema, ReportField, SchemaNode } from '@object-ui/types'; + interface ReportSection { type: 'header' | 'summary' | 'chart' | 'table' | 'text' | 'page-break'; title?: string; @@ -202,7 +204,7 @@ interface ReportSection { ## Export Configuration -```plaintext +```ts interface ReportExportConfig { format: 'pdf' | 'excel' | 'csv' | 'json' | 'html'; filename?: string; @@ -215,8 +217,10 @@ interface ReportExportConfig { ## Scheduling -```plaintext -interface ReportSchedule { +```ts +import type { ReportExportFormat } from '@object-ui/types'; + +interface ReportScheduleConfig { enabled?: boolean; frequency?: 'once' | 'daily' | 'weekly' | 'monthly' | 'quarterly' | 'yearly'; dayOfWeek?: number; // For weekly (0-6) @@ -232,7 +236,9 @@ interface ReportSchedule { ## Complete Example -```plaintext +```ts +import type { ReportComponentSchema } from '@object-ui/types'; + const comprehensiveReport: ReportComponentSchema = { type: 'report', title: 'Quarterly Sales Analysis', diff --git a/content/docs/plugins/plugin-calendar.mdx b/content/docs/plugins/plugin-calendar.mdx index b713796bec..a185383a65 100644 --- a/content/docs/plugins/plugin-calendar.mdx +++ b/content/docs/plugins/plugin-calendar.mdx @@ -566,7 +566,7 @@ function MyObjectCalendar({ dataSource }: { dataSource: DataSource }) { ## TypeScript Support -```plaintext +```ts import type { CalendarViewSchema, ObjectCalendarSchema, diff --git a/content/docs/plugins/plugin-chatbot.mdx b/content/docs/plugins/plugin-chatbot.mdx index e3dfbbb10a..f909130812 100644 --- a/content/docs/plugins/plugin-chatbot.mdx +++ b/content/docs/plugins/plugin-chatbot.mdx @@ -668,7 +668,7 @@ Each of the three registrations has its own authoring-face type: `ChatbotFloatingSchema` (`chatbot-floating`) - see the typed examples under **Tool Messages** and **`chatbot-floating` panel and trigger keys** above. -```plaintext +```ts import type { ChatbotSchema, ChatbotEnhancedSchema, ChatbotFloatingSchema, ChatMessage, ChatToolInvocation } from '@object-ui/types' import { useObjectChat } from '@object-ui/plugin-chatbot' @@ -707,7 +707,7 @@ You AUTHOR with `@object-ui/types`' `ChatMessage`. What `useObjectChat` HANDS BACK — from `messages` and from `onSend(content, messages)` — is `ObjectChatMessage`, exported from `@object-ui/plugin-chatbot`: -```plaintext +```ts import type { ObjectChatMessage } from '@object-ui/plugin-chatbot' ``` diff --git a/content/docs/plugins/plugin-dashboard.mdx b/content/docs/plugins/plugin-dashboard.mdx index 4f425b76e3..65775a0a81 100644 --- a/content/docs/plugins/plugin-dashboard.mdx +++ b/content/docs/plugins/plugin-dashboard.mdx @@ -88,7 +88,7 @@ the spec rejects it by name, so new documents author `label`. The retired ### Auto-registration (Side-effect Import) -```plaintext +```ts import '@object-ui/plugin-dashboard'; ``` @@ -142,7 +142,7 @@ The import above needs no follow-up call. What a manual registration is for here is serving one of this package's exported components under a key of your own — you register the component, not a map: -```plaintext +```ts import { ComponentRegistry } from '@object-ui/core'; import { MetricCard } from '@object-ui/plugin-dashboard'; @@ -366,7 +366,7 @@ from widget `options`. In particular, on a dataset-bound gauge: ## TypeScript Support -```plaintext +```ts import type { DashboardComponentSchema, DashboardWidgetSchema } from '@object-ui/types'; const widget: DashboardWidgetSchema = { diff --git a/content/docs/plugins/plugin-gantt.mdx b/content/docs/plugins/plugin-gantt.mdx index d74afd2b5b..6833c4b22e 100644 --- a/content/docs/plugins/plugin-gantt.mdx +++ b/content/docs/plugins/plugin-gantt.mdx @@ -466,8 +466,8 @@ const campaignGantt: ObjectGanttSchema = { ## TypeScript Support -```plaintext -import type { ObjectGridSchema, GanttConfig } from '@object-ui/types' +```ts +import type { ObjectGanttSchema, GanttConfig } from '@object-ui/types' const ganttConfig: GanttConfig = { startDateField: 'startDate', @@ -477,7 +477,7 @@ const ganttConfig: GanttConfig = { dependenciesField: 'dependencies' } -const ganttSchema: ObjectGridSchema = { +const ganttSchema: ObjectGanttSchema = { type: 'object-gantt', objectName: 'project_tasks', gantt: ganttConfig diff --git a/content/docs/plugins/plugin-kanban.mdx b/content/docs/plugins/plugin-kanban.mdx index 3a2bbed699..6263abe119 100644 --- a/content/docs/plugins/plugin-kanban.mdx +++ b/content/docs/plugins/plugin-kanban.mdx @@ -516,7 +516,7 @@ The kanban board includes: shapes. Importing all three from the plugin does not resolve — its barrel never exported the schema type. -```plaintext +```ts import type { ObjectKanbanSchema } from '@object-ui/types' import type { KanbanCard, KanbanColumn } from '@object-ui/plugin-kanban' diff --git a/content/docs/plugins/plugin-map.mdx b/content/docs/plugins/plugin-map.mdx index 263f80505a..6e4ef07770 100644 --- a/content/docs/plugins/plugin-map.mdx +++ b/content/docs/plugins/plugin-map.mdx @@ -537,7 +537,7 @@ Consider using one of the full-featured mapping libraries above. ## TypeScript Support -```plaintext +```ts import type { ObjectMapSchema, ObjectMapConfig } from '@object-ui/types' const mapConfig: ObjectMapConfig = { diff --git a/content/docs/plugins/plugin-timeline.mdx b/content/docs/plugins/plugin-timeline.mdx index c7850c5896..8eb0071385 100644 --- a/content/docs/plugins/plugin-timeline.mdx +++ b/content/docs/plugins/plugin-timeline.mdx @@ -381,7 +381,7 @@ const schema: TimelineSchema = { ## TypeScript Support -```plaintext +```ts import type { TimelineSchema } from '@object-ui/types' const timelineSchema: TimelineSchema = { From 52f12671acbce0f6deeb27d5197e0cd5917a5a56 Mon Sep 17 00:00:00 2001 From: Claude Date: Wed, 30 Sep 2026 11:42:26 +0000 Subject: [PATCH 2/2] docs(fences): drop the 8 KNOWN_UNHIGHLIGHTED_TS_FENCES rows batch 6 re-fenced (#5867) Batch 6 re-fenced every TypeScript block on core/report-schema.mdx and the seven plugin pages, so their shrink-only baseline rows now read as STALE. Delete exactly those 8 rows and add nothing. check:doc-fences is green over 72 remaining files / 72 blocks (the batch-7 remainder), and the checker's self-test passes (26 cases). Claude-Session: https://claude.ai/code/session_01TdiauJaVCHuj45EzZGUxHh Co-authored-by: Claude --- scripts/check-doc-fence-languages.mjs | 8 -------- 1 file changed, 8 deletions(-) diff --git a/scripts/check-doc-fence-languages.mjs b/scripts/check-doc-fence-languages.mjs index 41e3124403..da4f39c001 100644 --- a/scripts/check-doc-fence-languages.mjs +++ b/scripts/check-doc-fence-languages.mjs @@ -435,14 +435,6 @@ export const KNOWN_UNHIGHLIGHTED_TS_FENCES = new Map([ ['content/docs/components/overlay/popover.mdx', 1], ['content/docs/components/overlay/sheet.mdx', 1], ['content/docs/components/overlay/tooltip.mdx', 1], - ['content/docs/core/report-schema.mdx', 7], - ['content/docs/plugins/plugin-calendar.mdx', 1], - ['content/docs/plugins/plugin-chatbot.mdx', 2], - ['content/docs/plugins/plugin-dashboard.mdx', 3], - ['content/docs/plugins/plugin-gantt.mdx', 1], - ['content/docs/plugins/plugin-kanban.mdx', 1], - ['content/docs/plugins/plugin-map.mdx', 1], - ['content/docs/plugins/plugin-timeline.mdx', 1], ]); /** Split observed counts against the baseline. Both directions are failures. */