Skip to content

Add @object-ui/types package - TypeScript protocol definitions - #22

Merged
huangyiirene merged 4 commits into
mainfrom
copilot/define-object-ui-types
Jan 14, 2026
Merged

Add @object-ui/types package - TypeScript protocol definitions#22
huangyiirene merged 4 commits into
mainfrom
copilot/define-object-ui-types

Conversation

CopilotAI commented Jan 14, 2026

Copy link
Copy Markdown
Contributor

Plan: Define all @object-ui/types ✅ COMPLETE

  • Create packages/types directory structure
  • Define base schema types (BaseSchema, SchemaNode)
  • Define all layout component schemas (Container, Flex, Grid, Card, Tabs)
  • Define all form component schemas (Input, Button, Select, Checkbox, Form, etc.)
  • Define all data display component schemas (Table, DataTable, List, Badge, Avatar, Chart, etc.)
  • Define all feedback component schemas (Alert, Loading, Progress, Skeleton, Toast)
  • Define all disclosure component schemas (Accordion, Collapsible)
  • Define all overlay component schemas (Dialog, Sheet, Drawer, Popover, Tooltip, etc.)
  • Define all navigation component schemas (Header, Sidebar)
  • Define all complex component schemas (Kanban, Calendar, Timeline, FilterBuilder, etc.)
  • Define common types (ComponentInput, ComponentMeta, ComponentConfig)
  • Define data source types (DataSource interface)
  • Create package.json for @object-ui/types
  • Create tsconfig.json for @object-ui/types
  • Export all types from index.ts
  • Ensure ZERO dependencies (protocol-first design)
  • Build package successfully
  • Create comprehensive README documentation
  • Add usage examples
  • Address code review feedback (improve type safety, reduce duplication)
  • Fix CI build failure - update pnpm-lock.yaml
Original prompt

定义所有的 @object-ui/types


✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.

CopilotAIand others added 2 commits January 14, 2026 09:45
…t schemas
Co-authored-by: huangyiirene <7665279+huangyiirene@users.noreply.github.com>
- Use generics for DataSource.bulk() return type
- Improve validation function type safety
- Extract OverlayPosition and OverlayAlignment shared types
- Add comprehensive usage examples
Co-authored-by: huangyiirene <7665279+huangyiirene@users.noreply.github.com>
CopilotAI changed the title [WIP] Define all @object-ui/typesAdd @object-ui/types package - TypeScript protocol definitionsJan 14, 2026
@huangyiirene

Copy link
Copy Markdown
Collaborator

@copilot 2026-01-14T09:53:31.6105353Z ##[group]Run pnpm install --frozen-lockfile
2026-01-14T09:53:31.6105741Z �[36;1mpnpm install --frozen-lockfile�[0m
2026-01-14T09:53:31.6147360Z shell: /usr/bin/bash -e {0}
2026-01-14T09:53:31.6147610Z env:
2026-01-14T09:53:31.6147846Z PNPM_HOME: /home/runner/setup-pnpm/node_modules/.bin
2026-01-14T09:53:31.6148135Z ##[endgroup]
2026-01-14T09:53:32.0011800Z Scope: all 10 workspace projects
2026-01-14T09:53:32.0915157Z ERR_PNPM_OUTDATED_LOCKFILE Cannot install with "frozen-lockfile" because pnpm-lock.yaml is not up to date with /packages/types/package.json
2026-01-14T09:53:32.0915904Z
2026-01-14T09:53:32.0916652Z Note that in CI environments this setting is true by default. If you still need to run install in such cases, use "pnpm install --no-frozen-lockfile"
2026-01-14T09:53:32.0917292Z
2026-01-14T09:53:32.0917403Z Failure reason:
2026-01-14T09:53:32.0917856Z specifiers in the lockfile don't match specifiers in package.json:
2026-01-14T09:53:32.0918394Z * 1 dependencies were added: typescript@^5.0.0
2026-01-14T09:53:32.0918720Z
2026-01-14T09:53:32.1127039Z ##[error]Process completed with exit code 1.

Co-authored-by: huangyiirene <7665279+huangyiirene@users.noreply.github.com>

CopilotAI commented Jan 14, 2026

Copy link
Copy Markdown
ContributorAuthor

@copilot 2026-01-14T09:53:31.6105353Z ##[group]Run pnpm install --frozen-lockfile
2026-01-14T09:53:31.6105741Z �[36;1mpnpm install --frozen-lockfile�[0m
2026-01-14T09:53:31.6147360Z shell: /usr/bin/ba...

Fixed in b7346ed. The pnpm-lock.yaml file has been updated to include the new @object-ui/types package. The CI build should now pass with pnpm install --frozen-lockfile.

@github-actions

Copy link
Copy Markdown
Contributor

✅ All checks passed!

  • ✅ Type check passed
  • ✅ Tests passed
  • ✅ Lint check completed

@huangyiirene
huangyiirene marked this pull request as ready for review January 14, 2026 10:01
@huangyiirene
huangyiirene merged commit c36462a into mainJan 14, 2026
5 checks passed
CopilotAI added a commit that referenced this pull request Feb 23, 2026
- #39 showRecordCount: conditionally show/hide record count bar
- #24 rowHeight: add short and extra_tall mapping in ListView + bridge
- #7 sort: parse legacy string format "field desc"
- #22 description: render view description below toolbar
- #40 allowPrinting: add print button with window.print()
- #31 virtualScroll: forward flag to grid view schema
- #35 userActions: wire sort/search/filter/rowHeight to toolbar visibility
- #38 addRecord: render "+ Add Record" button from spec config
- #37 tabs: render tab bar UI for view tabs
- #9 filterableFields: restrict FilterBuilder to whitelist fields
- #8 searchableFields: scope search queries to specified fields
- #36 appearance: wire showDescription and allowedVisualizations
- #16 pageSizeOptions: add page size selector UI in status bar
- #17-21: use spec kanban/calendar/gantt/gallery/timeline configs
- #20 gallery: add typed GalleryConfig to ListViewSchema
- #21 timeline: add typed TimelineConfig to ListViewSchema
- Bridge: add short/extra_tall density mapping, filterableFields pass-through
Co-authored-by: hotlong <50353452+hotlong@users.noreply.github.com>
CopilotAI removed the request for review from CopilotMarch 23, 2026 19:09
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@huangyiirene