@taylordb/query-builder 0.17.0 → 0.18.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,34 +1,28 @@
1
1
  "use strict";
2
- /**
3
- * Copyright (c) 2025 TaylorDB
4
- *
5
- * This source code is licensed under the MIT license found in the
6
- * LICENSE file in the root directory of this source tree.
7
- */
8
2
  Object.defineProperty(exports, "__esModule", { value: true });
9
- exports.Attachment = void 0;
10
- class Attachment {
11
- collectionName;
12
- fileInformation;
13
- metadata;
14
- baseId;
15
- storageAdaptor;
16
- _id;
17
- constructor(data) {
18
- this.collectionName = data.collectionName;
19
- this.fileInformation = data.fileInformation;
20
- this.metadata = data.metadata;
21
- this.baseId = data.baseId;
22
- this.storageAdaptor = data.storageAdaptor;
23
- this._id = data._id;
24
- }
25
- toColumnValue() {
26
- return {
27
- url: this.fileInformation.path,
28
- fileType: this.fileInformation.mimetype,
29
- size: this.fileInformation.size,
30
- };
31
- }
32
- }
33
- exports.Attachment = Attachment;
3
+ exports.taylorSchema = void 0;
4
+ const index_js_1 = require("../index.js");
5
+ exports.taylorSchema = (0, index_js_1.defineTaylorSchema)({
6
+ selectTable: {
7
+ id: (0, index_js_1.autoNumberField)(),
8
+ name: (0, index_js_1.textField)({ required: true }),
9
+ color: (0, index_js_1.textField)({ required: true }),
10
+ },
11
+ attachmentTable: {
12
+ id: (0, index_js_1.autoNumberField)(),
13
+ name: (0, index_js_1.textField)({ required: true }),
14
+ metadata: (0, index_js_1.textField)({ required: true }),
15
+ size: (0, index_js_1.numberField)({ required: true }),
16
+ fileType: (0, index_js_1.textField)({ required: true }),
17
+ url: (0, index_js_1.textField)({ required: true }),
18
+ searchText: (0, index_js_1.searchField)(),
19
+ },
20
+ collaborators: {
21
+ id: (0, index_js_1.autoNumberField)(),
22
+ name: (0, index_js_1.textField)({ required: true }),
23
+ emailAddress: (0, index_js_1.textField)({ required: true }),
24
+ avatar: (0, index_js_1.textField)({ required: true }),
25
+ searchText: (0, index_js_1.searchField)(),
26
+ },
27
+ });
34
28
  //# sourceMappingURL=taylorclient.types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"taylorclient.types.js","sourceRoot":"","sources":["../../../src/__tests__/taylorclient.types.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAwCH,MAAa,UAAU;IACL,cAAc,CAAS;IACvB,eAAe,CAAkB;IACjC,QAAQ,CAAsC;IAC9C,MAAM,CAAS;IACf,cAAc,CAAS;IACvB,GAAG,CAAS;IAE5B,YAAY,IAAoB;QAC9B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;QAC1C,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC;QAC5C,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC9B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC1B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;QAC1C,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;IACtB,CAAC;IAED,aAAa;QACX,OAAO;YACL,GAAG,EAAE,IAAI,CAAC,eAAe,CAAC,IAAI;YAC9B,QAAQ,EAAE,IAAI,CAAC,eAAe,CAAC,QAAQ;YACvC,IAAI,EAAE,IAAI,CAAC,eAAe,CAAC,IAAI;SAChC,CAAC;IACJ,CAAC;CACF;AAxBD,gCAwBC"}
1
+ {"version":3,"file":"taylorclient.types.js","sourceRoot":"","sources":["../../../src/__tests__/taylorclient.types.ts"],"names":[],"mappings":";;;AAAA,0CAMqB;AAGR,QAAA,YAAY,GAAG,IAAA,6BAAkB,EAAC;IAC7C,WAAW,EAAE;QACX,EAAE,EAAE,IAAA,0BAAe,GAAE;QACrB,IAAI,EAAE,IAAA,oBAAS,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;QACnC,KAAK,EAAE,IAAA,oBAAS,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;KACrC;IACD,eAAe,EAAE;QACf,EAAE,EAAE,IAAA,0BAAe,GAAE;QACrB,IAAI,EAAE,IAAA,oBAAS,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;QACnC,QAAQ,EAAE,IAAA,oBAAS,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;QACvC,IAAI,EAAE,IAAA,sBAAW,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;QACrC,QAAQ,EAAE,IAAA,oBAAS,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;QACvC,GAAG,EAAE,IAAA,oBAAS,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;QAClC,UAAU,EAAE,IAAA,sBAAW,GAAE;KAC1B;IACD,aAAa,EAAE;QACb,EAAE,EAAE,IAAA,0BAAe,GAAE;QACrB,IAAI,EAAE,IAAA,oBAAS,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;QACnC,YAAY,EAAE,IAAA,oBAAS,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;QAC3C,MAAM,EAAE,IAAA,oBAAS,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;QACrC,UAAU,EAAE,IAAA,sBAAW,GAAE;KAC1B;CACF,CAAC,CAAC"}
@@ -1,3 +1,5 @@
1
+ export { attachmentField, autoDateField, autoNumberField, checkboxField, dateField, defineTaylorSchema, linkField, numberField, searchField, selectField, textField, } from '@taylordb/shared';
2
+ export type { AttachmentFieldDescriptor, AutoDateFieldDescriptor, AutoNumberFieldDescriptor, CheckboxFieldDescriptor, DateFieldDescriptor, InferTaylorDatabase, InferTaylorField, InferTaylorTable, LinkFieldDescriptor, NumberFieldDescriptor, SearchFieldDescriptor, SelectFieldDescriptor, TaylorFieldDescriptor, TaylorRuntimeSchema, TaylorTableSchema, TextFieldDescriptor, } from '@taylordb/shared';
1
3
  export { avg, count, max, median, min, range, stdDev, sum, unique, } from './aggregation-helpers.js';
2
4
  export type { AggregationHelper } from './aggregation-helpers.js';
3
5
  export { PluginActionBuilder, PluginBuilder } from './plugin-action-builder.js';
package/dist/cjs/index.js CHANGED
@@ -1,6 +1,18 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createQueryBuilder = exports.PluginBuilder = exports.PluginActionBuilder = exports.unique = exports.sum = exports.stdDev = exports.range = exports.min = exports.median = exports.max = exports.count = exports.avg = void 0;
3
+ exports.createQueryBuilder = exports.PluginBuilder = exports.PluginActionBuilder = exports.unique = exports.sum = exports.stdDev = exports.range = exports.min = exports.median = exports.max = exports.count = exports.avg = exports.textField = exports.selectField = exports.searchField = exports.numberField = exports.linkField = exports.defineTaylorSchema = exports.dateField = exports.checkboxField = exports.autoNumberField = exports.autoDateField = exports.attachmentField = void 0;
4
+ var shared_1 = require("@taylordb/shared");
5
+ Object.defineProperty(exports, "attachmentField", { enumerable: true, get: function () { return shared_1.attachmentField; } });
6
+ Object.defineProperty(exports, "autoDateField", { enumerable: true, get: function () { return shared_1.autoDateField; } });
7
+ Object.defineProperty(exports, "autoNumberField", { enumerable: true, get: function () { return shared_1.autoNumberField; } });
8
+ Object.defineProperty(exports, "checkboxField", { enumerable: true, get: function () { return shared_1.checkboxField; } });
9
+ Object.defineProperty(exports, "dateField", { enumerable: true, get: function () { return shared_1.dateField; } });
10
+ Object.defineProperty(exports, "defineTaylorSchema", { enumerable: true, get: function () { return shared_1.defineTaylorSchema; } });
11
+ Object.defineProperty(exports, "linkField", { enumerable: true, get: function () { return shared_1.linkField; } });
12
+ Object.defineProperty(exports, "numberField", { enumerable: true, get: function () { return shared_1.numberField; } });
13
+ Object.defineProperty(exports, "searchField", { enumerable: true, get: function () { return shared_1.searchField; } });
14
+ Object.defineProperty(exports, "selectField", { enumerable: true, get: function () { return shared_1.selectField; } });
15
+ Object.defineProperty(exports, "textField", { enumerable: true, get: function () { return shared_1.textField; } });
4
16
  var aggregation_helpers_js_1 = require("./aggregation-helpers.js");
5
17
  Object.defineProperty(exports, "avg", { enumerable: true, get: function () { return aggregation_helpers_js_1.avg; } });
6
18
  Object.defineProperty(exports, "count", { enumerable: true, get: function () { return aggregation_helpers_js_1.count; } });
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;AAAA,mEAUkC;AAThC,6GAAA,GAAG,OAAA;AACH,+GAAA,KAAK,OAAA;AACL,6GAAA,GAAG,OAAA;AACH,gHAAA,MAAM,OAAA;AACN,6GAAA,GAAG,OAAA;AACH,+GAAA,KAAK,OAAA;AACL,gHAAA,MAAM,OAAA;AACN,6GAAA,GAAG,OAAA;AACH,gHAAA,MAAM,OAAA;AAGR,uEAAgF;AAAvE,+HAAA,mBAAmB,OAAA;AAAE,yHAAA,aAAa,OAAA;AAC3C,uDAAwD;AAA/C,sHAAA,kBAAkB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;AAAA,2CAY0B;AAXxB,yGAAA,eAAe,OAAA;AACf,uGAAA,aAAa,OAAA;AACb,yGAAA,eAAe,OAAA;AACf,uGAAA,aAAa,OAAA;AACb,mGAAA,SAAS,OAAA;AACT,4GAAA,kBAAkB,OAAA;AAClB,mGAAA,SAAS,OAAA;AACT,qGAAA,WAAW,OAAA;AACX,qGAAA,WAAW,OAAA;AACX,qGAAA,WAAW,OAAA;AACX,mGAAA,SAAS,OAAA;AAoBX,mEAUkC;AAThC,6GAAA,GAAG,OAAA;AACH,+GAAA,KAAK,OAAA;AACL,6GAAA,GAAG,OAAA;AACH,gHAAA,MAAM,OAAA;AACN,6GAAA,GAAG,OAAA;AACH,+GAAA,KAAK,OAAA;AACL,gHAAA,MAAM,OAAA;AACN,6GAAA,GAAG,OAAA;AACH,gHAAA,MAAM,OAAA;AAGR,uEAAgF;AAAvE,+HAAA,mBAAmB,OAAA;AAAE,yHAAA,aAAa,OAAA;AAC3C,uDAAwD;AAA/C,sHAAA,kBAAkB,OAAA"}
@@ -1,6 +1,6 @@
1
1
  import { Attachment } from '@taylordb/shared';
2
2
  import { AbstractLinkColumn, AnyDB, QueryNode, RootQueryNode, SelectionQueryNode } from './@types/internal-types.js';
3
- import { LinkColumnNames, NonLinkColumnNames } from './@types/query-builder.js';
3
+ import { LinkColumnNames, NonLinkColumnNames, TableNames } from './@types/query-builder.js';
4
4
  import { InferDataType, ResolveSelection, ResolveWithObject, ResolveWithPlain } from './@types/type-helpers.js';
5
5
  import { AggregationQueryBuilder } from './aggregation-query-builder.js';
6
6
  import { AnyQueryBuilder, AreAllBuildersSubscribable, BatchQueryBuilder } from './batch-query-builder.js';
@@ -189,11 +189,6 @@ export declare class QueryBuilder<DB extends AnyDB, TableName extends keyof DB,
189
189
  * @private
190
190
  */
191
191
  private _transformResponse;
192
- /**
193
- * Checks if an object looks like an attachment object.
194
- * @private
195
- */
196
- private _isAttachmentObject;
197
192
  subscribe(callback: (result: Selection[]) => void): Promise<{
198
193
  unsubscribe: () => Promise<void>;
199
194
  }>;
@@ -210,6 +205,8 @@ export declare class QueryBuilder<DB extends AnyDB, TableName extends keyof DB,
210
205
  */
211
206
  export type ReadBlacklistTable = 'attachmentTable';
212
207
  export type MutationBlacklistTable = 'attachmentTable' | 'collaborators';
208
+ type ReadableTableNames<DB> = Exclude<TableNames<DB>, ReadBlacklistTable> & string;
209
+ type MutableTableNames<DB> = Exclude<TableNames<DB>, MutationBlacklistTable> & string;
213
210
  export declare class BaseRootQueryBuilder<DB extends AnyDB> {
214
211
  protected _executor: Executor;
215
212
  constructor(executor: Executor);
@@ -226,7 +223,7 @@ export declare class BaseRootQueryBuilder<DB extends AnyDB> {
226
223
  * const userQuery = qb.selectFrom('users');
227
224
  * ```
228
225
  */
229
- selectFrom<TableName extends keyof Omit<DB, ReadBlacklistTable> & string>(from: TableName): QueryBuilder<DB, TableName>;
226
+ selectFrom<TableName extends ReadableTableNames<DB>>(from: TableName): QueryBuilder<DB, TableName>;
230
227
  /**
231
228
  * Creates a new insert query builder for the specified table.
232
229
  * @param into - The name of the table to insert into.
@@ -238,7 +235,7 @@ export declare class BaseRootQueryBuilder<DB extends AnyDB> {
238
235
  * const insertQuery = qb.insertInto('users');
239
236
  * ```
240
237
  */
241
- insertInto<TableName extends keyof Omit<DB, MutationBlacklistTable> & string>(into: TableName): InsertQueryBuilder<DB, TableName>;
238
+ insertInto<TableName extends MutableTableNames<DB>>(into: TableName): InsertQueryBuilder<DB, TableName>;
242
239
  /**
243
240
  * Creates a new update query builder for the specified table.
244
241
  * @param tableName - The name of the table to update.
@@ -250,7 +247,7 @@ export declare class BaseRootQueryBuilder<DB extends AnyDB> {
250
247
  * const updateQuery = qb.update('users');
251
248
  * ```
252
249
  */
253
- update<TableName extends keyof Omit<DB, MutationBlacklistTable> & string>(tableName: TableName): UpdateQueryBuilder<DB, TableName>;
250
+ update<TableName extends MutableTableNames<DB>>(tableName: TableName): UpdateQueryBuilder<DB, TableName>;
254
251
  /**
255
252
  * Creates a builder scoped to a specific plugin for executing plugin actions.
256
253
  * @param pluginName - The name of the plugin.
@@ -276,7 +273,7 @@ export declare class BaseRootQueryBuilder<DB extends AnyDB> {
276
273
  * const deleteQuery = qb.deleteFrom('users');
277
274
  * ```
278
275
  */
279
- deleteFrom<TableName extends keyof Omit<DB, MutationBlacklistTable> & string>(tableName: TableName): DeleteQueryBuilder<DB, TableName>;
276
+ deleteFrom<TableName extends MutableTableNames<DB>>(tableName: TableName): DeleteQueryBuilder<DB, TableName>;
280
277
  /**
281
278
  * Creates a new batch query builder.
282
279
  * @param builders - An array of query builders to execute in a batch.
@@ -304,7 +301,7 @@ export declare class BaseRootQueryBuilder<DB extends AnyDB> {
304
301
  * const aggregateQuery = qb.aggregateFrom('users');
305
302
  * ```
306
303
  */
307
- aggregateFrom<TableName extends keyof Omit<DB, ReadBlacklistTable> & string>(tableName: TableName): AggregationQueryBuilder<DB, TableName>;
304
+ aggregateFrom<TableName extends ReadableTableNames<DB>>(tableName: TableName): AggregationQueryBuilder<DB, TableName>;
308
305
  uploadAttachments(files: {
309
306
  file: Blob;
310
307
  name: string;
@@ -327,3 +324,4 @@ export declare function createQueryBuilder<DB extends AnyDB>(config: {
327
324
  baseId: string;
328
325
  apiKey: string;
329
326
  }): RootQueryBuilder<DB>;
327
+ export {};
@@ -253,12 +253,10 @@ class QueryBuilder extends where_query_builder_js_1.FilterableQueryBuilder {
253
253
  if (Array.isArray(data)) {
254
254
  return data.map(item => this._transformResponse(item));
255
255
  }
256
+ if (typeof data === 'string' && data.startsWith('files/')) {
257
+ return `${MEDIA_UPLOADER_HOST}/${data}`;
258
+ }
256
259
  if (data && typeof data === 'object') {
257
- // Check if this looks like an attachment object
258
- if (this._isAttachmentObject(data)) {
259
- return `${MEDIA_UPLOADER_HOST}/${data.url}`;
260
- }
261
- // Recursively transform nested objects
262
260
  const transformed = {};
263
261
  for (const [key, value] of Object.entries(data)) {
264
262
  transformed[key] = this._transformResponse(value);
@@ -267,20 +265,6 @@ class QueryBuilder extends where_query_builder_js_1.FilterableQueryBuilder {
267
265
  }
268
266
  return data;
269
267
  }
270
- /**
271
- * Checks if an object looks like an attachment object.
272
- * @private
273
- */
274
- _isAttachmentObject(obj) {
275
- return (obj &&
276
- typeof obj === 'object' &&
277
- 'id' in obj &&
278
- 'url' in obj &&
279
- 'fileType' in obj &&
280
- 'size' in obj &&
281
- typeof obj.url === 'string' &&
282
- obj.url.startsWith('files/'));
283
- }
284
268
  subscribe(callback) {
285
269
  return this._executor.subscribe([this], callback);
286
270
  }
@@ -1 +1 @@
1
- {"version":3,"file":"query-builder.js","sourceRoot":"","sources":["../../src/query-builder.ts"],"names":[],"mappings":";;;AA42BA,gDAQC;AAp3BD,6CAAkE;AAClE,6BAAwB;AAgBxB,iFAAyE;AACzE,qEAIkC;AAClC,uEAA+D;AAC/D,+CAAyC;AACzC,uEAA+D;AAC/D,yEAA2D;AAC3D,iEAA0D;AAC1D,uEAA+D;AAC/D,qEAAkE;AAElE,MAAM,mBAAmB,GAAG,2BAA2B,CAAC;AACxD,MAAM,iBAAiB,GAAG,4BAA4B,CAAC;AAEvD;;;;;;GAMG;AACH,MAAa,YAKX,SAAQ,+CAAqC;IAG7C,YAAY,IAAe,EAAE,QAAkB;QAC7C,KAAK,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QACtB,IAAI,CAAC,KAAK,GAAG;YACX,GAAG,IAAI;YACP,UAAU,EAAE,EAAE,GAAG,IAAI,CAAC,UAAU,EAAE;SACnC,CAAC;IACJ,CAAC;IAED;;;;;;;;;;;OAWG;IACH,KAAK,CAAC,KAAK;QACT,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YACtC,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;QAC/D,CAAC;QACD,MAAM,KAAK,GAAG,6DAA6D,CAAC;QAE5E,MAAM,QAAQ,GAAG;YACf,IAAI,EAAE,YAAY;YAClB,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS;YAC/B,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC;gBAC7C,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE;gBACvC,CAAC,CAAC,EAAE,CAAC;YACP,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACvE,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC/D,CAAC;QAEF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,UAAU,CAC9C,KAAK,EACL;YACE,QAAQ,EAAE,CAAC,QAAQ,CAAC;SACrB,CACF,CAAC;QACF,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IAC3B,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,MAAM,CACJ,MAAe;QAMf,OAAO,IAAI,YAAY,CACrB;YACE,GAAG,IAAI,CAAC,KAAK;YACb,MAAM,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,MAAM,CAAC;SAC7B,EACd,IAAI,CAAC,SAAS,CACf,CAAC;IACJ,CAAC;IAED;;;;;;;;;;;OAWG;IACH,SAAS;QAOP,OAAO,IAAI,YAAY,CACrB;YACE,GAAG,IAAI,CAAC,KAAK;YACb,MAAM,EAAE,CAAC,GAAG,CAAC;SACD,EACd,IAAI,CAAC,SAAS,CACf,CAAC;IACJ,CAAC;IA0DD,IAAI,CACF,GAGoC;QAEpC,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YAClD,MAAM,aAAa,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAa,CAAC;YACrE,MAAM,UAAU,GAAG,aAAa,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE;gBAClD,MAAM,gBAAgB,GAAG,IAAI,uCAAgB,CAC3C,IAAI,CAAC,SAAS,CACf,CAAC;gBACF,MAAM,QAAQ,GAAG,gBAAgB;qBAC9B,OAAO,CAAC,YAAmB,CAAC;qBAC5B,SAAS,EAAE,CAAC;gBACf,OAAO,QAAQ,CAAC,KAAK,CAAC;YACxB,CAAC,CAAC,CAAC;YAEH,OAAO,IAAI,YAAY,CACrB;gBACE,GAAG,IAAI,CAAC,KAAK;gBACb,MAAM,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,UAAU,CAAC;aACjC,EACd,IAAI,CAAC,SAAS,CACf,CAAC;QACJ,CAAC;QAED,MAAM,SAAS,GAAG,GAAuC,CAAC;QAC1D,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,GAAG,CAC9C,CAAC,CAAC,YAAY,EAAE,QAAQ,CAAC,EAAE,EAAE;YAC3B,MAAM,gBAAgB,GAAG,IAAI,uCAAgB,CAC3C,IAAI,CAAC,SAAS,CACf,CAAC;YACF,MAAM,sBAAsB,GAAG,gBAAgB,CAAC,OAAO,CACrD,YAAmB,CACpB,CAAC;YACF,MAAM,yBAAyB,GAAG,QAAQ,CAAC,sBAAsB,CAAC,CAAC;YACnE,OAAO,yBAAyB,CAAC,KAAK,CAAC;QACzC,CAAC,CACF,CAAC;QAEF,OAAO,IAAI,YAAY,CACrB;YACE,GAAG,IAAI,CAAC,KAAK;YACb,MAAM,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,UAAU,CAAC;SACjC,EACd,IAAI,CAAC,SAAS,CACf,CAAC;IACJ,CAAC;IAED;;;;;;;;;;;;;OAaG;IACH,KAAK,CAAC,KAAa;QACjB,OAAO,IAAI,YAAY,CACrB;YACE,GAAG,IAAI,CAAC,KAAK;YACb,UAAU,EAAE,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE;SACvD,EACD,IAAI,CAAC,SAAS,CACf,CAAC;IACJ,CAAC;IAED;;;;;;;;;;;;;OAaG;IACH,MAAM,CAAC,KAAa;QAClB,OAAO,IAAI,YAAY,CACrB;YACE,GAAG,IAAI,CAAC,KAAK;YACb,UAAU,EAAE,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE;SACxD,EACD,IAAI,CAAC,SAAS,CACf,CAAC;IACJ,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACH,QAAQ,CACN,IAAY,EACZ,KAAa;QAEb,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACtD,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACH,OAAO,CACL,KAA0B,EAC1B,YAA4B,KAAK;QAEjC,MAAM,UAAU,GAA+B;YAC7C,KAAK,EAAE,KAAe;YACtB,SAAS;SACV,CAAC;QAEF,OAAO,IAAI,YAAY,CACrB;YACE,GAAG,IAAI,CAAC,KAAK;YACb,OAAO,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC,EAAE,UAAU,CAAC;SACrD,EACD,IAAI,CAAC,SAAS,CACf,CAAC;IACJ,CAAC;IAED;;;;;;;;;;;OAWG;IACH,KAAK,CAAC,OAAO;QACX,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAAY,IAAI,CAAC,CAAC;QAE/D,OAAO,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9C,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,KAAK,CAAC,gBAAgB;QACpB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAAc,IAAI,CAAC,CAAC;QAEjE,MAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;QACvC,IAAI,KAAK,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC;QAEhC,MAAM,WAAW,GAAG,IAAI,CAAC,kBAAkB,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;QACrD,OAAO,WAAW,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;IAChC,CAAC;IAED;;;OAGG;IACK,kBAAkB,CAAC,IAAS;QAClC,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YACxB,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC;QACzD,CAAC;QAED,IAAI,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;YACrC,gDAAgD;YAChD,IAAI,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC;gBACnC,OAAO,GAAG,mBAAmB,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;YAC9C,CAAC;YAED,uCAAuC;YACvC,MAAM,WAAW,GAAQ,EAAE,CAAC;YAC5B,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;gBAChD,WAAW,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;YACpD,CAAC;YACD,OAAO,WAAW,CAAC;QACrB,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;OAGG;IACK,mBAAmB,CAAC,GAAQ;QAClC,OAAO,CACL,GAAG;YACH,OAAO,GAAG,KAAK,QAAQ;YACvB,IAAI,IAAI,GAAG;YACX,KAAK,IAAI,GAAG;YACZ,UAAU,IAAI,GAAG;YACjB,MAAM,IAAI,GAAG;YACb,OAAO,GAAG,CAAC,GAAG,KAAK,QAAQ;YAC3B,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,CAC7B,CAAC;IACJ,CAAC;IAED,SAAS,CAAC,QAAuC;QAC/C,OAAO,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,CAAC;IACpD,CAAC;IAED,OAAO;QACL,MAAM,KAAK,GAAG,6DAA6D,CAAC;QAE5E,MAAM,QAAQ,GAAG,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC;QAE3C,OAAO;YACL,KAAK;YACL,SAAS,EAAE;gBACT,QAAQ;aACT;SACF,CAAC;IACJ,CAAC;IAED,gBAAgB;QACd,IAAI,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YAC1C,OAAO;gBACL,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK;gBACvB,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;oBACpC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;wBAC9B,OAAO,KAAK,CAAC;oBACf,CAAC;oBAED,OAAO,IAAI,YAAY,CACrB,KAAkB,EAClB,IAAI,CAAC,SAAS,CACf,CAAC,gBAAgB,EAAE,CAAC;gBACvB,CAAC,CAAC;gBAEF,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC;oBAC7C,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE;oBACvC,CAAC,CAAC,EAAE,CAAC;gBACP,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU;oBACzB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,MAAM,GAAG,CAAC;oBAC3C,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE;oBACvC,CAAC,CAAC,EAAE,CAAC;gBACP,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC/D,CAAC;QACJ,CAAC;QAED,IAAI,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YACrC,OAAO;gBACL,IAAI,EAAE,QAAQ;gBACd,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS;gBAC/B,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;oBACpC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;wBAC9B,OAAO,KAAK,CAAC;oBACf,CAAC;oBAED,OAAO,IAAI,YAAY,CACrB,KAAkB,EAClB,IAAI,CAAC,SAAS,CACf,CAAC,gBAAgB,EAAE,CAAC;gBACvB,CAAC,CAAC;gBACF,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC;oBAC7C,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE;oBACvC,CAAC,CAAC,EAAE,CAAC;gBACP,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU;oBACzB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,MAAM,GAAG,CAAC;oBAC3C,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE;oBACvC,CAAC,CAAC,EAAE,CAAC;gBACP,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC/D,CAAC;QACJ,CAAC;QAED,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;IACxC,CAAC;IAED,oBAAoB,CAAC,IAAe;QAClC,OAAO,IAAI,CAAC,SAAS,KAAK,MAAM,CAAC;IACnC,CAAC;IAED,eAAe,CAAC,IAAe;QAC7B,OAAO,IAAI,CAAC,SAAS,KAAK,MAAM,CAAC;IACnC,CAAC;CACF;AAjeD,oCAieC;AAQD,MAAa,oBAAoB;IACrB,SAAS,CAAW;IAE9B,YAAY,QAAkB;QAC5B,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;IAC5B,CAAC;IAEO,eAAe,CAAC,SAAiB;QACvC,IAAI,SAAS,KAAK,iBAAiB,EAAE,CAAC;YACpC,MAAM,IAAI,KAAK,CAAC,oBAAoB,SAAS,EAAE,CAAC,CAAC;QACnD,CAAC;IACH,CAAC;IAEO,iBAAiB,CAAC,SAAiB;QACzC,MAAM,SAAS,GAAG,CAAC,iBAAiB,EAAE,eAAe,CAAC,CAAC;QAEvD,IAAI,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;YAClC,MAAM,IAAI,KAAK,CAAC,iBAAiB,SAAS,EAAE,CAAC,CAAC;QAChD,CAAC;IACH,CAAC;IAED;;;;;;;;;;OAUG;IACH,UAAU,CACR,IAAe;QAEf,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QAE3B,MAAM,eAAe,GACnB,IAAI,KAAK,eAAe,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,IAAI,CAAC;QAE1D,MAAM,cAAc,GAAG,EAAE,CAAC;QAE1B,IAAI,eAAe,KAAK,qBAAqB,EAAE,CAAC;YAC9C,cAAc,CAAC,IAAI,CAAC;gBAClB,KAAK,EAAE,QAAQ;gBACf,QAAQ,EAAE,GAAG;gBACb,KAAK,EAAE,QAAQ;aAChB,CAAC,CAAC;QACL,CAAC;QAED,OAAO,IAAI,YAAY,CACrB;YACE,SAAS,EAAE,eAAe;YAC1B,MAAM,EAAE,EAAE;YACV,UAAU,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE;YAC9D,IAAI,EAAE,QAAQ;YACd,SAAS,EAAE,MAAM;SAClB,EACD,IAAI,CAAC,SAAS,CACf,CAAC;IACJ,CAAC;IAED;;;;;;;;;;OAUG;IACH,UAAU,CACR,IAAe;QAEf,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;QAC7B,OAAO,IAAI,4CAAkB,CAC3B;YACE,SAAS,EAAE,IAAI;YACf,cAAc,EAAE,EAAE;YAClB,SAAS,EAAE,EAAE;YACb,IAAI,EAAE,QAAQ;SACf,EACD,IAAI,CAAC,SAAS,CACf,CAAC;IACJ,CAAC;IAED;;;;;;;;;;OAUG;IACH,MAAM,CACJ,SAAoB;QAEpB,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;QAClC,OAAO,IAAI,4CAAkB,CAC3B;YACE,SAAS,EAAE,SAAS;YACpB,MAAM,EAAE,EAAE;YACV,UAAU,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE,EAAE;YAClD,IAAI,EAAE,QAAQ;SACf,EACD,IAAI,CAAC,SAAS,CACf,CAAC;IACJ,CAAC;IAED;;;;;;;;;;OAUG;IACH,MAAM,CAIJ,UAAsB;QACtB,OAAO,IAAI,wCAAa,CAAiB,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;IACvE,CAAC;IAED;;;;;;;;;;OAUG;IACH,UAAU,CACR,SAAoB;QAEpB,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;QAElC,OAAO,IAAI,4CAAkB,CAC3B;YACE,SAAS,EAAE,SAAS;YACpB,gBAAgB,EAAE,EAAE;YACpB,UAAU,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE,EAAE;YAClD,IAAI,EAAE,QAAQ;SACf,EACD,IAAI,CAAC,SAAS,CACf,CAAC;IACJ,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACH,KAAK,CACH,QAAmB;QAInB,OAAO,IAAI,0CAAiB,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;IACzD,CAAC;IAED;;;;;;;;;;OAUG;IACH,aAAa,CACX,SAAoB;QAEpB,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;QAEhC,MAAM,eAAe,GACnB,SAAS,KAAK,eAAe,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,SAAS,CAAC;QAEpE,MAAM,cAAc,GAAG,EAAE,CAAC;QAC1B,IAAI,eAAe,KAAK,qBAAqB,EAAE,CAAC;YAC9C,cAAc,CAAC,IAAI,CAAC;gBAClB,KAAK,EAAE,QAAQ;gBACf,QAAQ,EAAE,GAAG;gBACb,KAAK,EAAE,QAAQ;aAChB,CAAC,CAAC;QACL,CAAC;QAED,MAAM,IAAI,GAAkB;YAC1B,SAAS,EAAE,eAAe;YAC1B,IAAI,EAAE,aAAa;YACnB,UAAU,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE;YAC9D,SAAS,EAAE,EAAE;YACb,YAAY,EAAE,EAAE;SACjB,CAAC;QACF,OAAO,IAAI,sDAAuB,CAAgB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;IAC1E,CAAC;IAED,KAAK,CAAC,iBAAiB,CACrB,KAAqC;QAErC,MAAM,QAAQ,GAAG,IAAI,QAAQ,EAAE,CAAC;QAChC,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE;YAC/B,QAAQ,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QACvC,CAAC,CAAC,CAAC;QAEH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,mBAAmB,GAAG,iBAAiB,EAAE,EAAE;YACzE,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,aAAa,EAAE,UAAU,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,EAAE;gBACrD,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE;aACnC;YACD,IAAI,EAAE,QAAQ;SACf,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,6BAA6B,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;QACtE,CAAC;QAED,MAAM,YAAY,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QAC3C,OAAO,YAAY,CAAC,GAAG,CAAC,CAAC,IAAS,EAAE,EAAE,CAAC,IAAI,mBAAU,CAAC,IAAI,CAAC,CAAC,CAAC;IAC/D,CAAC;IAED,IAAW,IAAI;QACb,OAAO;YACL,OAAO,EAAE,KAAK,IAAI,EAAE;gBAClB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,gBAAgB,EAAE,CAAC;gBAEvD,IAAI,CAAC,MAAM,EAAE,CAAC;oBACZ,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;gBAC/D,CAAC;gBAED,MAAM,KAAK,GACT,6DAA6D,CAAC;gBAEhE,MAAM,UAAU,GAAQ,MAAM,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,KAAK,EAAE;oBAC7D,QAAQ,EAAE;wBACR;4BACE,IAAI,EAAE,QAAQ;4BACd,SAAS,EAAE,qBAAqB;4BAChC,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,cAAc,EAAE,QAAQ,CAAC;4BAChD,UAAU,EAAE;gCACV,WAAW,EAAE,KAAK;gCAClB,UAAU,EAAE;oCACV;wCACE,KAAK,EAAE,QAAQ;wCACf,QAAQ,EAAE,GAAG;wCACb,KAAK,EAAE,QAAQ;qCAChB;oCACD;wCACE,KAAK,EAAE,YAAY;wCACnB,QAAQ,EAAE,GAAG;wCACb,KAAK,EAAE,MAAM,CAAC,QAAQ,EAAE;qCACzB;iCACF;6BACF;yBACF;qBACF;iBACF,CAAC,CAAC;gBAEH,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;gBAEpE,IAAI,CAAC,OAAO,EAAE,CAAC;oBACb,OAAO,IAAI,CAAC;gBACd,CAAC;gBAED,OAAO;oBACL,EAAE,EAAE,OAAO,CAAC,EAAE;oBACd,IAAI,EAAE,OAAO,CAAC,IAAI;oBAClB,KAAK,EAAE,OAAO,CAAC,YAAY;oBAC3B,MAAM,EAAE,OAAO,CAAC,MAAM;iBACvB,CAAC;YACJ,CAAC;SACF,CAAC;IACJ,CAAC;CACF;AA1SD,oDA0SC;AAED,MAAa,gBAEX,SAAQ,oBAAwB;IAChC,YAAY,QAAkB;QAC5B,KAAK,CAAC,QAAQ,CAAC,CAAC;IAClB,CAAC;IAED,KAAK,CAAC,WAAW,CACf,QAAsD;QAEtD,IAAI,IAAI,CAAC,SAAS,CAAC,eAAe,EAAE,CAAC;YACnC,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;QAC5D,CAAC;QACD,MAAM,EAAE,gBAAgB,EAAE,aAAa,EAAE,GACvC,MAAM,IAAI,CAAC,SAAS,CAAC,UAAU,CAE5B,+BAA+B,EAAE,EAAE,CAAC,CAAC;QAE1C,MAAM,qBAAqB,GACzB,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAAC;QAClD,MAAM,eAAe,GAAG,IAAI,oBAAoB,CAAK,qBAAqB,CAAC,CAAC;QAE5E,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,eAAe,CAAC,CAAC;YAE/C,MAAM,qBAAqB,CAAC,UAAU,CACpC,gCAAgC,EAChC,EAAE,CACH,CAAC;YAEF,OAAO,MAAM,CAAC;QAChB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,qBAAqB,CAAC,UAAU,CACpC,kCAAkC,EAClC,EAAE,CACH,CAAC;YACF,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;CACF;AAvCD,4CAuCC;AAED,MAAM,cAAc,GAAG,OAAC,CAAC,MAAM,CAAC;IAC9B,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE;IACzB,MAAM,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC9B,CAAC,CAAC;AAEH,SAAgB,kBAAkB,CAAmB,MAIpD;IACC,cAAc,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC7B,MAAM,QAAQ,GAAG,IAAI,sBAAQ,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;IAC5E,OAAO,IAAI,gBAAgB,CAAK,QAAQ,CAAC,CAAC;AAC5C,CAAC"}
1
+ {"version":3,"file":"query-builder.js","sourceRoot":"","sources":["../../src/query-builder.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,8 @@
1
+ import { ColumnType } from '@taylordb/shared';
1
2
  import { AbstractLinkColumn } from './internal-types';
3
+ export type TableNames<DB> = {
4
+ [K in keyof DB]: DB[K] extends Record<string, any> ? keyof DB[K] extends never ? never : DB[K][keyof DB[K]] extends ColumnType<any, any, any, any, any, any> ? K : never : never;
5
+ }[keyof DB];
2
6
  export type NonLinkColumnNames<T> = {
3
7
  [K in keyof T]: T[K] extends AbstractLinkColumn ? never : K;
4
8
  }[keyof T];
@@ -1,5 +1,5 @@
1
1
  import { Attachment, } from '@taylordb/shared';
2
- import { createQueryBuilder, sum } from '../index.js';
2
+ import { autoNumberField, dateField, defineTaylorSchema, linkField, numberField, searchField, selectField, textField, createQueryBuilder, sum, } from '../index.js';
3
3
  import { SocketConnection } from '../socket-connection.js';
4
4
  export const CustomersStatusOptions = ['Pending', 'Active'];
5
5
  export const TagsOptions = ['Urgent', 'Low Priority'];
@@ -13,6 +13,115 @@ jest.mock('socket.io-client', () => {
13
13
  io: jest.fn(() => mockSocket),
14
14
  };
15
15
  });
16
+ describe('runtime schema helpers', () => {
17
+ it('preserves runtime field metadata and infers query-builder types', () => {
18
+ const runtimeSchema = defineTaylorSchema({
19
+ projects: {
20
+ id: autoNumberField(),
21
+ name: textField({ required: true }),
22
+ budget: numberField({ required: false }),
23
+ status: selectField({
24
+ required: false,
25
+ mode: 'single',
26
+ options: ['Pending', 'Active'],
27
+ }),
28
+ tags: selectField({
29
+ required: false,
30
+ mode: 'multi',
31
+ options: ['Urgent', 'Low Priority'],
32
+ }),
33
+ owner: linkField({ required: false, linkedTo: 'collaborators' }),
34
+ createdAt: dateField({ required: false }),
35
+ searchText: searchField(),
36
+ },
37
+ collaborators: {
38
+ id: autoNumberField(),
39
+ name: textField({ required: true }),
40
+ },
41
+ });
42
+ expect(runtimeSchema.projects.status).toEqual({
43
+ type: 'select',
44
+ required: false,
45
+ mode: 'single',
46
+ options: ['Pending', 'Active'],
47
+ insertable: true,
48
+ updatable: true,
49
+ });
50
+ expect(runtimeSchema.projects.owner).toMatchObject({
51
+ type: 'link',
52
+ required: false,
53
+ linkedTo: 'collaborators',
54
+ insertable: true,
55
+ updatable: true,
56
+ });
57
+ expect(runtimeSchema.projects.id).toMatchObject({
58
+ type: 'autoNumber',
59
+ insertable: false,
60
+ updatable: false,
61
+ });
62
+ const qb = createQueryBuilder({
63
+ baseUrl: 'http://localhost',
64
+ baseId: 'test-base-id',
65
+ apiKey: 'test',
66
+ });
67
+ qb.selectFrom('projects')
68
+ .select(['name', 'status'])
69
+ .where('status', '=', 'Active')
70
+ .where('tags', 'hasAnyOf', ['Urgent'])
71
+ .where('owner', '=', 1)
72
+ .where('budget', '>=', 100);
73
+ qb.insertInto('projects').values({
74
+ name: 'Runtime schema',
75
+ status: 'Pending',
76
+ tags: ['Low Priority'],
77
+ owner: [1],
78
+ budget: 10,
79
+ createdAt: '2026-05-19',
80
+ searchText: 'runtime schema',
81
+ });
82
+ qb.update('projects').set({
83
+ status: 'Active',
84
+ tags: ['Urgent'],
85
+ owner: { newIds: [1], deletedIds: [] },
86
+ });
87
+ });
88
+ it('keeps generated plugin action types strict', () => {
89
+ const qb = createQueryBuilder({
90
+ baseUrl: 'http://localhost',
91
+ baseId: 'test-base-id',
92
+ apiKey: 'test',
93
+ });
94
+ qb.plugin('email').action('send').input({
95
+ recordId: 1,
96
+ scheduledAt: '2026-05-19T00:00:00Z',
97
+ });
98
+ // @ts-expect-error unknown plugins must be rejected
99
+ qb.plugin('not-a-plugin');
100
+ // @ts-expect-error unknown actions must be rejected
101
+ qb.plugin('email').action('not-an-action');
102
+ // @ts-expect-error input must match the action input type
103
+ qb.plugin('email').action('send').input({ recordId: 'wrong' });
104
+ // @ts-expect-error excess input fields must be rejected
105
+ qb.plugin('email').action('send').input({ unknown: true });
106
+ });
107
+ it('does not expose plugins as queryable tables', () => {
108
+ const qb = createQueryBuilder({
109
+ baseUrl: 'http://localhost',
110
+ baseId: 'test-base-id',
111
+ apiKey: 'test',
112
+ });
113
+ // @ts-expect-error plugin metadata is not a readable table
114
+ qb.selectFrom('_plugins');
115
+ // @ts-expect-error plugin metadata is not an insertable table
116
+ qb.insertInto('_plugins');
117
+ // @ts-expect-error plugin metadata is not an updatable table
118
+ qb.update('_plugins');
119
+ // @ts-expect-error plugin metadata is not a deletable table
120
+ qb.deleteFrom('_plugins');
121
+ // @ts-expect-error plugin metadata is not an aggregatable table
122
+ qb.aggregateFrom('_plugins');
123
+ });
124
+ });
16
125
  describe('QueryBuilder', () => {
17
126
  let mockRawRequest;
18
127
  beforeEach(() => {
@@ -646,6 +755,88 @@ describe('QueryBuilder', () => {
646
755
  size: 1483249,
647
756
  });
648
757
  });
758
+ it('should transform attachment path strings to absolute URLs in select response', async () => {
759
+ mockRawRequest.mockResolvedValueOnce([
760
+ [
761
+ {
762
+ id: 1,
763
+ firstName: 'Jane',
764
+ avatar: [
765
+ 'files/bucket/31529ce5.png',
766
+ 'files/bucket/another-file.jpg',
767
+ ],
768
+ },
769
+ ],
770
+ ]);
771
+ const result = await qb
772
+ .selectFrom('customers')
773
+ .select(['firstName', 'avatar'])
774
+ .executeTakeFirst();
775
+ expect(result).toEqual({
776
+ id: 1,
777
+ firstName: 'Jane',
778
+ avatar: [
779
+ 'https://media.taylordb.ai/files/bucket/31529ce5.png',
780
+ 'https://media.taylordb.ai/files/bucket/another-file.jpg',
781
+ ],
782
+ });
783
+ });
784
+ it('should not transform non-attachment strings in select response', async () => {
785
+ mockRawRequest.mockResolvedValueOnce([
786
+ [
787
+ {
788
+ id: 1,
789
+ firstName: 'Jane',
790
+ lastName: 'Doe',
791
+ },
792
+ ],
793
+ ]);
794
+ const result = await qb
795
+ .selectFrom('customers')
796
+ .select(['firstName', 'lastName'])
797
+ .executeTakeFirst();
798
+ expect(result).toEqual({ id: 1, firstName: 'Jane', lastName: 'Doe' });
799
+ });
800
+ it('should return empty array for empty attachment field in select response', async () => {
801
+ mockRawRequest.mockResolvedValueOnce([
802
+ [
803
+ {
804
+ id: 1,
805
+ firstName: 'Jane',
806
+ avatar: [],
807
+ },
808
+ ],
809
+ ]);
810
+ const result = await qb
811
+ .selectFrom('customers')
812
+ .select(['firstName', 'avatar'])
813
+ .executeTakeFirst();
814
+ expect(result).toEqual({ id: 1, firstName: 'Jane', avatar: [] });
815
+ });
816
+ it('should transform attachment paths in a list of records', async () => {
817
+ mockRawRequest.mockResolvedValueOnce([
818
+ [
819
+ { id: 1, firstName: 'Jane', avatar: ['files/bucket/a.png'] },
820
+ { id: 2, firstName: 'John', avatar: ['files/bucket/b.png'] },
821
+ ],
822
+ ]);
823
+ const result = await qb
824
+ .selectFrom('customers')
825
+ .select(['firstName', 'avatar'])
826
+ .execute();
827
+ expect(result).toEqual([
828
+ {
829
+ id: 1,
830
+ firstName: 'Jane',
831
+ avatar: ['https://media.taylordb.ai/files/bucket/a.png'],
832
+ },
833
+ {
834
+ id: 2,
835
+ firstName: 'John',
836
+ avatar: ['https://media.taylordb.ai/files/bucket/b.png'],
837
+ },
838
+ ]);
839
+ });
649
840
  it('should compile an insert query with multi-select array and execute', async () => {
650
841
  await qb
651
842
  .insertInto('orders')