Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 19 additions & 0 deletions .changeset/25921-types-driver-datasource-block.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
---
'@object-ui/types': patch
---

refactor(types)!: delete the fifteen driver and datasource interfaces nothing reads

Clause-②: no (narrowing)
Metadata-protocol: none

<!-- adr-0087: not-required (runtime-export-retired @object-ui/types#SqlDriverInterface, @object-ui/types#ConnectionConfig, @object-ui/types#DriverQueryResult, @object-ui/types#BatchOperation, @object-ui/types#BatchResult, @object-ui/types#TransactionContext, @object-ui/types#CacheManager, @object-ui/types#ConnectionPool, @object-ui/types#DatasourceRegistration, @object-ui/types#DatasourceType, @object-ui/types#DatasourceMetric, @object-ui/types#DatasourceAlert, @object-ui/types#DatasourceManager, @object-ui/types#HealthCheckResult, @object-ui/types#DatasourceMetrics) the retired operands are TypeScript-only interfaces and unions for a server-side SQL driver and a datasource manager that no renderer, adapter or host implements; nothing in the workspace or in hotcrm imports any of them from the package entry, they have no zod twin, and no packages/spec schema, registered node type, conversion surface or stored shape names them, so there is nothing for `objectstack migrate meta` to rewrite -->

**BREAKING** for a host that imports any of these fifteen types from `@object-ui/types`. None had an importer anywhere in the workspace or in hotcrm, so the Console and every `@object-ui/*` package are unaffected.

They are **gone from the package, not only from the entry**: the "Phase 3.6" driver interfaces and the "Phase 3.7" datasource interfaces at the end of `data-protocol.ts` were read only by each other. Nothing implemented the driver interface and nothing constructed the datasource manager; the client talks to data through the `DataSource` interface instead. Every other name of `data-protocol.ts` stays exported unchanged, among them `DriverQueryConfig`, `SqlQueryAST`, the query-AST node types, `AdvancedFilterSchema`, `FilterBuilderConfig` and `ObjectValidationRule` with its variants.

What leaves, and what to write instead:

- FROM `SqlDriverInterface`, `ConnectionConfig`, `DriverQueryResult`, `BatchOperation`, `BatchResult`, `TransactionContext`, `CacheManager`, `ConnectionPool` TO no replacement in this package. A client reads and writes data through `DataSource` (`BatchTransactionOperation` with `DataSource.batchTransaction` for a transactional batch); the platform's runtime driver contract is `DriverInterface` from `@objectstack/spec/data`.
- FROM `DatasourceRegistration`, `DatasourceType`, `DatasourceMetric`, `DatasourceAlert`, `DatasourceManager`, `HealthCheckResult`, `DatasourceMetrics` TO no replacement in this package. An authored datasource is `DatasourceSchema` from `@objectstack/spec/data`; a host that kept its own registry declares these shapes locally.
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@
* spec owns, or a divergence outliving the reason it was granted. Four-way
* parity, in the shape `select-option-spec-parity.test.ts` established.
* - **Renamed** (`ChartDataSeries`, `ChartDataSeriesSchema`, `SqlQueryAST`,
* `DriverQueryConfig`, `SqlDriverInterface`, `DatasourceRegistration`): the
* `DriverQueryConfig`): the
* concepts genuinely differ from the spec exports whose names they were
* wearing. The risk is picking a new name the spec ALREADY owns — the
* `PageComponentSchema` mistake from objectui#3074 — so each new name is
Expand Down Expand Up @@ -750,8 +750,6 @@ describe('renamed local dialects do not collide with a spec export (objectui#307
['ChartDataSeriesSchema', 'zod twin of ChartDataSeries'],
['SqlQueryAST', 'compiled SQL syntax tree, not the spec ObjectQL request'],
['DriverQueryConfig', 'high-level query config the SQL AST builder consumes'],
['SqlDriverInterface', "objectui's SQL-oriented client driver abstraction"],
['DatasourceRegistration', 'in-memory datasource registration record'],
// objectui#3162 batch 8. `JoinNode` was ledgered as "erased to `any` upstream,
// re-export once objectstack#4171 lands". #4171 landed — and the symbol it was
// waiting on no longer exists: spec 17.0.0 retired `query.joins` and the whole
Expand Down
Loading
Loading