Skip to content

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

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

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

Conversation

Copy link
Copy Markdown
Contributor

Copilot AI commented Jan 14, 2026

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.

Copilot AI and 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>
@huangyiirene huangyiirene requested a review from Copilot January 14, 2026 09:49
Copilot AI changed the title [WIP] Define all @object-ui/types Add @object-ui/types package - TypeScript protocol definitions Jan 14, 2026
Copilot AI requested a review from huangyiirene January 14, 2026 09:51
@huangyiirene
Copy link
Copy Markdown
Contributor

@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>
Copy link
Copy Markdown
Contributor Author

Copilot AI commented Jan 14, 2026

@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 main Jan 14, 2026
5 checks passed
Copilot AI 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>
Copilot AI review requested due to automatic review settings March 23, 2026 19:09
Sign up for free to 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