33import { z } from 'zod' ;
44import { FilterConditionSchema } from './filter.zod' ;
55import { SortNodeSchema } from './query.zod' ;
6+ import { ExecutionContextSchema } from '../kernel/execution-context.zod' ;
67
78/**
89 * Data Engine Protocol
@@ -41,11 +42,26 @@ export const DataEngineSortSchema = z.union([
4142 z . array ( SortNodeSchema )
4243] ) . describe ( 'Sort order definition' ) ;
4344
45+ // ==========================================================================
46+ // 1b. Base Engine Options (shared context)
47+ // ==========================================================================
48+
49+ /**
50+ * Base Engine Options
51+ *
52+ * All Data Engine operation options extend this schema to carry
53+ * an optional ExecutionContext for identity, tenant, and transaction propagation.
54+ */
55+ export const BaseEngineOptionsSchema = z . object ( {
56+ /** Execution context (identity, tenant, transaction) */
57+ context : ExecutionContextSchema . optional ( ) ,
58+ } ) ;
59+
4460// ==========================================================================
4561// 2. method: FIND
4662// ==========================================================================
4763
48- export const DataEngineQueryOptionsSchema = z . object ( {
64+ export const DataEngineQueryOptionsSchema = BaseEngineOptionsSchema . extend ( {
4965 /** Filter conditions (WHERE) */
5066 filter : DataEngineFilterSchema . optional ( ) ,
5167
@@ -78,7 +94,7 @@ export const DataEngineQueryOptionsSchema = z.object({
7894// 3. method: INSERT
7995// ==========================================================================
8096
81- export const DataEngineInsertOptionsSchema = z . object ( {
97+ export const DataEngineInsertOptionsSchema = BaseEngineOptionsSchema . extend ( {
8298 /**
8399 * Return the inserted record(s)?
84100 * Some drivers support RETURNING clause for efficiency.
@@ -91,7 +107,7 @@ export const DataEngineInsertOptionsSchema = z.object({
91107// 4. method: UPDATE
92108// ==========================================================================
93109
94- export const DataEngineUpdateOptionsSchema = z . object ( {
110+ export const DataEngineUpdateOptionsSchema = BaseEngineOptionsSchema . extend ( {
95111 /** Filter conditions to identify records to update */
96112 filter : DataEngineFilterSchema . optional ( ) ,
97113
@@ -119,7 +135,7 @@ export const DataEngineUpdateOptionsSchema = z.object({
119135// 5. method: DELETE
120136// ==========================================================================
121137
122- export const DataEngineDeleteOptionsSchema = z . object ( {
138+ export const DataEngineDeleteOptionsSchema = BaseEngineOptionsSchema . extend ( {
123139 /** Filter conditions to identify records to delete */
124140 filter : DataEngineFilterSchema . optional ( ) ,
125141
@@ -135,7 +151,7 @@ export const DataEngineDeleteOptionsSchema = z.object({
135151// 6. method: AGGREGATE
136152// ==========================================================================
137153
138- export const DataEngineAggregateOptionsSchema = z . object ( {
154+ export const DataEngineAggregateOptionsSchema = BaseEngineOptionsSchema . extend ( {
139155 /** Filter conditions (WHERE) */
140156 filter : DataEngineFilterSchema . optional ( ) ,
141157
@@ -157,7 +173,7 @@ export const DataEngineAggregateOptionsSchema = z.object({
157173// 7. method: COUNT
158174// ==========================================================================
159175
160- export const DataEngineCountOptionsSchema = z . object ( {
176+ export const DataEngineCountOptionsSchema = BaseEngineOptionsSchema . extend ( {
161177 /** Filter conditions */
162178 filter : DataEngineFilterSchema . optional ( ) ,
163179} ) . describe ( 'Options for DataEngine.count operations' ) ;
@@ -335,6 +351,7 @@ export const DataEngineRequestSchema = z.discriminatedUnion('method', [
335351
336352export type DataEngineFilter = z . infer < typeof DataEngineFilterSchema > ;
337353export type DataEngineSort = z . infer < typeof DataEngineSortSchema > ;
354+ export type BaseEngineOptions = z . infer < typeof BaseEngineOptionsSchema > ;
338355export type DataEngineQueryOptions = z . infer < typeof DataEngineQueryOptionsSchema > ;
339356export type DataEngineInsertOptions = z . infer < typeof DataEngineInsertOptionsSchema > ;
340357export type DataEngineUpdateOptions = z . infer < typeof DataEngineUpdateOptionsSchema > ;
0 commit comments