- Added a new `LinkFieldLabel` component to display link fields with their relationship and direction labels.
- Integrated `LinkFieldLabel` into various components including `MetaCheckPanel`, `PlaygroundRecordRoute`, `RecordCreateDialog`, and `SchemaCheckPanel` to improve the user interface for link fields.
- Updated related components to handle optional relationship and direction properties, ensuring accurate display of link field information.
These changes enhance the clarity and usability of link fields across the application, providing users with better context and understanding of their relationships.
- Added commands for creating, updating, and deleting records via the application layer, improving data manipulation options.
- Updated the records command group to include new subcommands for record mutations, enhancing usability.
- Introduced a RecordMutation service to handle record operations, streamlining the process and improving code organization.
These changes significantly enhance the functionality of the devtools, allowing for more comprehensive record management.
- Introduced a new command for importing .tea structures into the devtools, enhancing the ability to manage table and field definitions.
- Added DotTeaImporter service to handle the import process, ensuring validation and normalization of the structure.
- Updated the AppLayer to include the new DotTeaImporter, allowing for seamless integration within the existing command structure.
- Enhanced documentation to reflect the new command and its usage.
This update significantly improves the developer experience by enabling easy import of DotTea structures, streamlining the setup of table schemas.
- Updated SKILL.md to improve formatting and clarity, ensuring consistent command descriptions and options.
- Removed the localhost connection check utility to simplify mock data generation, as remote connections are no longer restricted.
- Added new entries in various TypeScript configuration files to enhance build processes and maintain code quality.
This refactor enhances documentation readability and streamlines the mock data generation process.
- Added support for PGlite as a temporary database option in devtools, allowing for file-persisted databases useful for testing without a PostgreSQL server.
- Updated SKILL.md to include detailed instructions on using PGlite for testing and debugging.
- Introduced a new skill for debugging Teable v2 tests, focusing on data reproduction and inspection.
- Enhanced the database layer to select between PostgreSQL and PGlite based on the connection string protocol.
- Added new dependencies for PGlite and updated existing services to accommodate the new database layer.
This update improves the development experience by enabling local testing without the need for a full database setup.
- Add tables create command to create tables from JSON schema
- Add tables describe-schema command to output field schema documentation
- Add SchemaChecker service to validate table schemas
- Add TableCreator service to create tables via commandBus
- Fix MockRecordsLive to use transaction for insert (fixes tmp_computed_dirty error)
- Update SKILL.md with new commands documentation
Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
- Migrate from oclif to Effect CLI framework
- Add records query commands (application layer and underlying database)
- Refactor debug-data package to include raw record store
- Update SKILL.md with new commands and psql preference note
- Remove oclif-specific base classes and utilities
New commands:
- records list: Query records via application layer (stored/computed mode)
- records get: Get single record via application layer
- underlying records: Query records directly from PostgreSQL
- underlying record: Get single record directly from PostgreSQL
Architecture changes:
- Add IDebugRecordStore port and PostgresDebugRecordStore adapter
- Add DebugDataService.getRawRecords/getRawRecord methods
- Use Effect Layers for dependency injection in devtools
Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
The DELETE statement was incorrectly quoting schema.table as a single
identifier ("schema.table") instead of properly quoting each part
separately ("schema"."table"), causing EXPLAIN to fail with
"relation does not exist" error.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>