@boltic/sdk 0.0.1 → 0.0.3

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.
package/README.md CHANGED
@@ -4,7 +4,7 @@ Boltic SDK is an open-source TypeScript library, developed by Fynd, designed to
4
4
 
5
5
  ## Documentation
6
6
 
7
- - **[Boltic SDK Documentation](https://docs.uat.fcz0.de/docs/category/sdk/)** - Complete SDK documentation
7
+ - **[Boltic SDK Documentation](https://docs.boltic.io/docs/category/sdk/)** - Complete SDK documentation
8
8
 
9
9
  ## Features
10
10
 
@@ -44,6 +44,8 @@ declare class AuthManager {
44
44
  validateApiKeyAsync(): Promise<boolean>;
45
45
  getTokenInfo(): TokenInfo | null;
46
46
  getMaxRetries(): number;
47
+ toString(): string;
48
+ toJSON(): object;
47
49
  }
48
50
 
49
51
  declare class BaseClient {
@@ -91,12 +93,12 @@ export declare class BolticClient {
91
93
  getCurrentDatabase(): DatabaseContext | null;
92
94
  get tables(): {
93
95
  create: (data: TableCreateRequest) => Promise<BolticSuccessResponse<TableCreateResponse>>;
94
- findAll: (options?: TableQueryOptions) => Promise<ApiResponse<TableRecord[]>>;
95
- findById: (id: string) => Promise<BolticSuccessResponse<TableRecord | null>>;
96
- findByName: (name: string) => Promise<BolticSuccessResponse<TableRecord | null>>;
97
- findOne: (options: TableQueryOptions) => Promise<BolticSuccessResponse<TableRecord | null>>;
98
- update: (name: string, data: TableUpdateRequest) => Promise<BolticSuccessResponse<TableRecord>>;
99
- delete: (name: string) => Promise<BolticSuccessResponse< {
96
+ findAll: (options?: TableQueryOptions) => Promise<ApiResponse<TableRecord>>;
97
+ findById: (id: string) => Promise<BolticErrorResponse | BolticSuccessResponse<TableRecord | null>>;
98
+ findByName: (name: string) => Promise<BolticErrorResponse | BolticSuccessResponse<TableRecord | null>>;
99
+ findOne: (options: TableQueryOptions) => Promise<BolticErrorResponse | BolticSuccessResponse<TableRecord | null>>;
100
+ update: (name: string, data: TableUpdateRequest) => Promise<BolticErrorResponse | BolticSuccessResponse<TableRecord>>;
101
+ delete: (name: string) => Promise<BolticErrorResponse | BolticSuccessResponse< {
100
102
  message: string;
101
103
  }>>;
102
104
  rename: (oldName: string, newName: string) => Promise<BolticSuccessResponse<TableRecord>>;
@@ -131,6 +133,9 @@ export declare class BolticClient {
131
133
  };
132
134
  records: () => {
133
135
  insert: (data: RecordData) => Promise<BolticErrorResponse | BolticSuccessResponse<RecordWithId>>;
136
+ insertMany: (records: RecordData[], options?: {
137
+ validation?: boolean;
138
+ }) => Promise<RecordBulkInsertResponse | BolticErrorResponse>;
134
139
  findOne: (recordId: string) => Promise<BolticErrorResponse | BolticSuccessResponse<RecordWithId>>;
135
140
  update: (options: RecordUpdateOptions) => Promise<BolticErrorResponse | BolticListResponse<RecordWithId>>;
136
141
  updateById: (recordId: string, data: RecordData) => Promise<BolticErrorResponse | BolticSuccessResponse<RecordWithId>>;
@@ -145,6 +150,9 @@ export declare class BolticClient {
145
150
  };
146
151
  get records(): {
147
152
  insert: (tableName: string, data: RecordData) => Promise<BolticErrorResponse | BolticSuccessResponse<RecordWithId>>;
153
+ insertMany: (tableName: string, records: RecordData[], options?: {
154
+ validation?: boolean;
155
+ }) => Promise<RecordBulkInsertResponse | BolticErrorResponse>;
148
156
  findAll: (tableName: string, options?: RecordQueryOptions) => Promise<BolticErrorResponse | BolticListResponse<RecordWithId>>;
149
157
  findOne: (tableName: string, recordId: string) => Promise<BolticErrorResponse | BolticSuccessResponse<RecordWithId>>;
150
158
  update: (tableName: string, options: RecordUpdateOptions) => Promise<BolticErrorResponse | BolticListResponse<RecordWithId>>;
@@ -159,7 +167,7 @@ export declare class BolticClient {
159
167
  record(tableName: string): RecordBuilder;
160
168
  get sql(): {
161
169
  textToSQL: (prompt: string, options?: TextToSQLOptions) => Promise<AsyncIterable<string>>;
162
- executeSQL: (query: string) => Promise<ExecuteSQLApiResponse>;
170
+ executeSQL: (query: string) => Promise<BolticErrorResponse | ExecuteSQLApiResponse>;
163
171
  };
164
172
  getSqlResource(): SqlResource;
165
173
  updateApiKey(newApiKey: string): void;
@@ -179,10 +187,13 @@ export declare class BolticClient {
179
187
  enableDebug(): void;
180
188
  disableDebug(): void;
181
189
  isDebugEnabled(): boolean;
190
+ private updateAllResourcesConfig;
191
+ toString(): string;
192
+ toJSON(): object;
182
193
  }
183
194
 
184
195
  export declare interface BolticErrorResponse {
185
- data?: {};
196
+ data?: never;
186
197
  message?: string;
187
198
  error: {
188
199
  code?: string;
@@ -192,7 +203,7 @@ export declare interface BolticErrorResponse {
192
203
  }
193
204
 
194
205
  declare interface BolticErrorResponse_2 {
195
- data: {};
206
+ data?: never;
196
207
  error: {
197
208
  code?: string;
198
209
  message?: string;
@@ -620,6 +631,11 @@ export declare interface ExecuteSQLApiResponse {
620
631
  type: string;
621
632
  };
622
633
  message?: string;
634
+ error?: {
635
+ code?: string;
636
+ message?: string;
637
+ meta?: string[];
638
+ };
623
639
  }
624
640
 
625
641
  export declare interface ExecutionResult {
@@ -949,6 +965,23 @@ declare interface RecordBuilderOptions {
949
965
  recordResource: RecordResource;
950
966
  }
951
967
 
968
+ export declare interface RecordBulkInsertOptions {
969
+ validation?: boolean;
970
+ }
971
+
972
+ export declare interface RecordBulkInsertResponse {
973
+ data: {
974
+ records: RecordWithId[];
975
+ insert_count: number;
976
+ };
977
+ message?: string;
978
+ error?: {
979
+ code?: string;
980
+ message?: string;
981
+ meta?: string[];
982
+ };
983
+ }
984
+
952
985
  export declare interface RecordCreateRequest {
953
986
  [fieldName: string]: unknown;
954
987
  }
@@ -997,6 +1030,10 @@ declare class RecordResource {
997
1030
  * Insert a single record
998
1031
  */
999
1032
  insert(tableName: string, data: RecordData): Promise<BolticSuccessResponse<RecordWithId> | BolticErrorResponse>;
1033
+ /**
1034
+ * Insert multiple records in bulk
1035
+ */
1036
+ insertMany(tableName: string, records: RecordData[], options?: RecordBulkInsertOptions): Promise<RecordBulkInsertResponse | BolticErrorResponse>;
1000
1037
  /**
1001
1038
  * Get a single record by ID
1002
1039
  */
@@ -1152,7 +1189,7 @@ export declare class SqlResource {
1152
1189
  * @returns Promise<ExecuteSQLApiResponse> with raw API response following Boltic API Response Structure
1153
1190
  *
1154
1191
  */
1155
- executeSQL(query: string): Promise<ExecuteSQLApiResponse>;
1192
+ executeSQL(query: string): Promise<ExecuteSQLApiResponse | BolticErrorResponse>;
1156
1193
  }
1157
1194
 
1158
1195
  export declare interface SuccessResponse<T> {
@@ -1294,21 +1331,6 @@ declare class TableBuilder {
1294
1331
  nullable?: boolean;
1295
1332
  description?: string;
1296
1333
  }): TableBuilder;
1297
- /**
1298
- /**
1299
- * Add a half-precision vector field
1300
- */
1301
- halfVector(name: string, dimension: number, options?: {
1302
- nullable?: boolean;
1303
- description?: string;
1304
- }): TableBuilder;
1305
- /**
1306
- * Add a sparse vector field
1307
- */
1308
- sparseVector(name: string, dimension: number, options?: {
1309
- nullable?: boolean;
1310
- description?: string;
1311
- }): TableBuilder;
1312
1334
  /**
1313
1335
  * Add a custom field
1314
1336
  */
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./test-client-D-SuKCUC.js");class i{constructor(e){this.queryOptions={},this.updateData={},this.tableName=e.tableName,this.columnResource=e.columnResource}where(e){return this.queryOptions.where={...this.queryOptions.where,...e},this}orderBy(e,i="asc"){return this.queryOptions.sort||(this.queryOptions.sort=[]),this.queryOptions.sort.push({field:e,order:i}),this}limit(e){return this.queryOptions.limit=e,this}offset(e){return this.queryOptions.offset=e,this}select(e){return this.queryOptions.fields=e,this}set(e){return this.updateData={...this.updateData,...e},this}async findAll(){return this.columnResource.findAll(this.tableName,this.queryOptions)}async get(){var e;return(null==(e=this.queryOptions.where)?void 0:e.name)?this.columnResource.get(this.tableName,this.queryOptions.where.name):{data:{},error:{code:"MISSING_COLUMN_NAME",message:"Column name is required for get operation"}}}async update(){var e;return(null==(e=this.queryOptions.where)?void 0:e.name)?this.columnResource.update(this.tableName,this.queryOptions.where.name,this.updateData):{data:{},error:{code:"MISSING_COLUMN_NAME",message:"Column name is required for update operation"}}}async delete(){var e;return(null==(e=this.queryOptions.where)?void 0:e.name)?this.columnResource.delete(this.tableName,this.queryOptions.where.name):{data:{},error:{code:"MISSING_COLUMN_NAME",message:"Column name is required for delete operation"}}}getQueryOptions(){return{...this.queryOptions}}getUpdateData(){return{...this.updateData}}}exports.ApiError=e.ApiError,exports.BolticClient=e.BolticClient,exports.ENV_CONFIGS=e.ENV_CONFIGS,exports.FILTER_OPERATORS=e.FILTER_OPERATORS,exports.FilterBuilder=e.FilterBuilder,exports.REGION_CONFIGS=e.REGION_CONFIGS,exports.SqlResource=e.SqlResource,exports.ValidationError=e.ValidationError,exports.buildApiFilters=e.buildApiFilters,exports.createErrorResponse=e.createErrorResponse,exports.createErrorWithContext=e.createErrorWithContext,exports.createFilter=e.createFilter,exports.createMockResponse=e.createMockResponse,exports.createRecordBuilder=e.createRecordBuilder,exports.createTableBuilder=e.createTableBuilder,exports.createTestClient=e.createTestClient,exports.formatError=e.formatError,exports.getHttpStatusCode=e.getHttpStatusCode,exports.isErrorResponse=e.isErrorResponse,exports.isListResponse=e.isListResponse,exports.isNetworkError=e.isNetworkError,exports.mapFiltersToWhere=e.mapFiltersToWhere,exports.mapWhereToFilters=e.mapWhereToFilters,exports.normalizeFilters=e.normalizeFilters,exports.ColumnHelpers=class{static fieldToUpdateRequest(e){return{name:e.name,type:e.type,description:e.description,is_nullable:e.is_nullable,is_unique:e.is_unique,is_indexed:e.is_indexed,is_visible:e.is_visible,is_primary_key:e.is_primary_key,is_readonly:e.is_readonly,field_order:e.field_order,default_value:e.default_value,alignment:e.alignment,decimals:e.decimals,currency_format:e.currency_format,selectable_items:e.selectable_items,multiple_selections:e.multiple_selections,phone_format:e.phone_format,date_format:e.date_format,time_format:e.time_format,timezone:e.timezone,vector_dimension:e.vector_dimension}}static applyDefaultValues(e){if(!e.name||!e.type)throw new Error("Column name and type are required");return{name:e.name,type:e.type,is_nullable:!0,is_unique:!1,is_indexed:!1,is_primary_key:!1,is_visible:!0,is_readonly:!1,field_order:1,alignment:"left",multiple_selections:!1,...e}}static createColumnDefinition(e,i,r={}){return this.applyDefaultValues({name:e,type:i,...r})}static getColumnTypeDisplayName(e){return{text:"Text","long-text":"Long Text",number:"Number",currency:"Currency",checkbox:"Checkbox",dropdown:"Dropdown",email:"Email","phone-number":"Phone Number",link:"Link",json:"JSON","date-time":"Date & Time",vector:"Vector",halfvec:"Half Vector",sparsevec:"Sparse Vector"}[e]||e}},exports.SchemaHelpers=class{static textField(e,i={}){return{name:e,type:"text",is_nullable:!0,is_primary_key:!1,is_unique:!1,is_visible:!0,is_readonly:!1,is_indexed:!1,field_order:1,...i}}static numberField(e,i={}){return{name:e,type:"number",is_nullable:!0,is_primary_key:!1,is_unique:!1,is_visible:!0,is_readonly:!1,is_indexed:!1,field_order:1,decimals:"0.00",...i}}static currencyField(e,i="USD",r={}){return{name:e,type:"currency",is_nullable:!0,is_primary_key:!1,is_unique:!1,is_visible:!0,is_readonly:!1,is_indexed:!1,field_order:1,decimals:"0.00",currency_format:i,...r}}static dropdownField(e,i,r={}){return{name:e,type:"dropdown",is_nullable:!0,is_primary_key:!1,is_unique:!1,is_visible:!0,is_readonly:!1,is_indexed:!1,field_order:1,selection_source:"provide-static-list",selectable_items:i,multiple_selections:!1,...r}}static vectorField(e,i,r={}){return{name:e,type:"vector",is_nullable:!0,is_primary_key:!1,is_unique:!1,is_visible:!0,is_readonly:!1,is_indexed:!1,field_order:1,vector_dimension:i,...r}}static jsonField(e,i={}){return{name:e,type:"json",is_nullable:!0,is_primary_key:!1,is_unique:!1,is_visible:!0,is_readonly:!1,is_indexed:!1,field_order:1,...i}}static dateTimeField(e,i={}){return{name:e,type:"date-time",is_nullable:!0,is_primary_key:!1,is_unique:!1,is_visible:!0,is_readonly:!1,is_indexed:!1,field_order:1,date_format:"YYYY-MM-DD",time_format:"HH:mm:ss",...i}}static emailField(e,i={}){return{name:e,type:"email",is_nullable:!0,is_primary_key:!1,is_unique:!1,is_visible:!0,is_readonly:!1,is_indexed:!1,field_order:1,...i}}static longTextField(e,i={}){return{name:e,type:"long-text",is_nullable:!0,is_primary_key:!1,is_unique:!1,is_visible:!0,is_readonly:!1,is_indexed:!1,field_order:1,...i}}static linkField(e,i={}){return{name:e,type:"link",is_nullable:!0,is_primary_key:!1,is_unique:!1,is_visible:!0,is_readonly:!1,is_indexed:!1,field_order:1,...i}}static phoneNumberField(e,i="international",r={}){return{name:e,type:"phone-number",is_nullable:!0,is_primary_key:!1,is_unique:!1,is_visible:!0,is_readonly:!1,is_indexed:!1,field_order:1,phone_format:i,...r}}static checkboxField(e,i={}){return{name:e,type:"checkbox",is_nullable:!0,is_primary_key:!1,is_unique:!1,is_visible:!0,is_readonly:!1,is_indexed:!1,field_order:1,default_value:!1,...i}}static halfVectorField(e,i,r={}){return{name:e,type:"halfvec",is_nullable:!0,is_primary_key:!1,is_unique:!1,is_visible:!0,is_readonly:!1,is_indexed:!1,field_order:1,vector_dimension:i,...r}}static sparseVectorField(e,i,r={}){return{name:e,type:"sparsevec",is_nullable:!0,is_primary_key:!1,is_unique:!1,is_visible:!0,is_readonly:!1,is_indexed:!1,field_order:1,vector_dimension:i,...r}}static createBasicSchema(e){return e.map((e,i)=>({name:e.name,type:e.type,is_nullable:!0,is_primary_key:!1,is_unique:!1,is_visible:!0,is_readonly:!1,is_indexed:!1,field_order:i+1}))}},exports.VERSION="1.0.0",exports.createClient=function(i,r={}){return new e.BolticClient(i,r)},exports.createColumnBuilder=function(e){return new i(e)};
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./test-client-BI3VkYA6.js");class i{constructor(e){this.queryOptions={},this.updateData={},this.tableName=e.tableName,this.columnResource=e.columnResource}where(e){return this.queryOptions.where={...this.queryOptions.where,...e},this}orderBy(e,i="asc"){return this.queryOptions.sort||(this.queryOptions.sort=[]),this.queryOptions.sort.push({field:e,order:i}),this}limit(e){return this.queryOptions.limit=e,this}offset(e){return this.queryOptions.offset=e,this}select(e){return this.queryOptions.fields=e,this}set(e){return this.updateData={...this.updateData,...e},this}async findAll(){return this.columnResource.findAll(this.tableName,this.queryOptions)}async get(){var e;return(null==(e=this.queryOptions.where)?void 0:e.name)?this.columnResource.get(this.tableName,this.queryOptions.where.name):{error:{code:"MISSING_COLUMN_NAME",message:"Column name is required for get operation"}}}async update(){var e;return(null==(e=this.queryOptions.where)?void 0:e.name)?this.columnResource.update(this.tableName,this.queryOptions.where.name,this.updateData):{error:{code:"MISSING_COLUMN_NAME",message:"Column name is required for update operation"}}}async delete(){var e;return(null==(e=this.queryOptions.where)?void 0:e.name)?this.columnResource.delete(this.tableName,this.queryOptions.where.name):{error:{code:"MISSING_COLUMN_NAME",message:"Column name is required for delete operation"}}}getQueryOptions(){return{...this.queryOptions}}getUpdateData(){return{...this.updateData}}}exports.ApiError=e.ApiError,exports.BolticClient=e.BolticClient,exports.ENV_CONFIGS=e.ENV_CONFIGS,exports.FILTER_OPERATORS=e.FILTER_OPERATORS,exports.FilterBuilder=e.FilterBuilder,exports.REGION_CONFIGS=e.REGION_CONFIGS,exports.SqlResource=e.SqlResource,exports.ValidationError=e.ValidationError,exports.buildApiFilters=e.buildApiFilters,exports.createErrorResponse=e.createErrorResponse,exports.createErrorWithContext=e.createErrorWithContext,exports.createFilter=e.createFilter,exports.createMockResponse=e.createMockResponse,exports.createRecordBuilder=e.createRecordBuilder,exports.createTableBuilder=e.createTableBuilder,exports.createTestClient=e.createTestClient,exports.formatError=e.formatError,exports.getHttpStatusCode=e.getHttpStatusCode,exports.isErrorResponse=e.isErrorResponse,exports.isListResponse=e.isListResponse,exports.isNetworkError=e.isNetworkError,exports.mapFiltersToWhere=e.mapFiltersToWhere,exports.mapWhereToFilters=e.mapWhereToFilters,exports.normalizeFilters=e.normalizeFilters,exports.ColumnHelpers=class{static fieldToUpdateRequest(e){return{name:e.name,type:e.type,description:e.description,is_nullable:e.is_nullable,is_unique:e.is_unique,is_indexed:e.is_indexed,is_visible:e.is_visible,is_primary_key:e.is_primary_key,is_readonly:e.is_readonly,field_order:e.field_order,default_value:e.default_value,alignment:e.alignment,decimals:e.decimals,currency_format:e.currency_format,selectable_items:e.selectable_items,multiple_selections:e.multiple_selections,phone_format:e.phone_format,date_format:e.date_format,time_format:e.time_format,timezone:e.timezone,vector_dimension:e.vector_dimension}}static applyDefaultValues(e){if(!e.name||!e.type)throw new Error("Column name and type are required");return{name:e.name,type:e.type,is_nullable:!0,is_unique:!1,is_indexed:!1,is_primary_key:!1,is_visible:!0,is_readonly:!1,field_order:1,alignment:"left",multiple_selections:!1,...e}}static createColumnDefinition(e,i,r={}){return this.applyDefaultValues({name:e,type:i,...r})}static getColumnTypeDisplayName(e){return{text:"Text","long-text":"Long Text",number:"Number",currency:"Currency",checkbox:"Checkbox",dropdown:"Dropdown",email:"Email","phone-number":"Phone Number",link:"Link",json:"JSON","date-time":"Date & Time",vector:"Vector",halfvec:"Half Vector",sparsevec:"Sparse Vector"}[e]||e}},exports.SchemaHelpers=class{static textField(e,i={}){return{name:e,type:"text",is_nullable:!0,is_primary_key:!1,is_unique:!1,is_visible:!0,is_readonly:!1,is_indexed:!1,field_order:1,...i}}static numberField(e,i={}){return{name:e,type:"number",is_nullable:!0,is_primary_key:!1,is_unique:!1,is_visible:!0,is_readonly:!1,is_indexed:!1,field_order:1,decimals:"0.00",...i}}static currencyField(e,i="USD",r={}){return{name:e,type:"currency",is_nullable:!0,is_primary_key:!1,is_unique:!1,is_visible:!0,is_readonly:!1,is_indexed:!1,field_order:1,decimals:"0.00",currency_format:i,...r}}static dropdownField(e,i,r={}){return{name:e,type:"dropdown",is_nullable:!0,is_primary_key:!1,is_unique:!1,is_visible:!0,is_readonly:!1,is_indexed:!1,field_order:1,selection_source:"provide-static-list",selectable_items:i,multiple_selections:!1,...r}}static vectorField(e,i,r={}){return{name:e,type:"vector",is_nullable:!0,is_primary_key:!1,is_unique:!1,is_visible:!0,is_readonly:!1,is_indexed:!1,field_order:1,vector_dimension:i,...r}}static jsonField(e,i={}){return{name:e,type:"json",is_nullable:!0,is_primary_key:!1,is_unique:!1,is_visible:!0,is_readonly:!1,is_indexed:!1,field_order:1,...i}}static dateTimeField(e,i={}){return{name:e,type:"date-time",is_nullable:!0,is_primary_key:!1,is_unique:!1,is_visible:!0,is_readonly:!1,is_indexed:!1,field_order:1,date_format:"YYYY-MM-DD",time_format:"HH:mm:ss",...i}}static emailField(e,i={}){return{name:e,type:"email",is_nullable:!0,is_primary_key:!1,is_unique:!1,is_visible:!0,is_readonly:!1,is_indexed:!1,field_order:1,...i}}static longTextField(e,i={}){return{name:e,type:"long-text",is_nullable:!0,is_primary_key:!1,is_unique:!1,is_visible:!0,is_readonly:!1,is_indexed:!1,field_order:1,...i}}static linkField(e,i={}){return{name:e,type:"link",is_nullable:!0,is_primary_key:!1,is_unique:!1,is_visible:!0,is_readonly:!1,is_indexed:!1,field_order:1,...i}}static phoneNumberField(e,i="international",r={}){return{name:e,type:"phone-number",is_nullable:!0,is_primary_key:!1,is_unique:!1,is_visible:!0,is_readonly:!1,is_indexed:!1,field_order:1,phone_format:i,...r}}static checkboxField(e,i={}){return{name:e,type:"checkbox",is_nullable:!0,is_primary_key:!1,is_unique:!1,is_visible:!0,is_readonly:!1,is_indexed:!1,field_order:1,default_value:!1,...i}}static halfVectorField(e,i,r={}){return{name:e,type:"halfvec",is_nullable:!0,is_primary_key:!1,is_unique:!1,is_visible:!0,is_readonly:!1,is_indexed:!1,field_order:1,vector_dimension:i,...r}}static sparseVectorField(e,i,r={}){return{name:e,type:"sparsevec",is_nullable:!0,is_primary_key:!1,is_unique:!1,is_visible:!0,is_readonly:!1,is_indexed:!1,field_order:1,vector_dimension:i,...r}}static createBasicSchema(e){return e.map((e,i)=>({name:e.name,type:e.type,is_nullable:!0,is_primary_key:!1,is_unique:!1,is_visible:!0,is_readonly:!1,is_indexed:!1,field_order:i+1}))}},exports.VERSION="1.0.0",exports.createClient=function(i,r={}){return new e.BolticClient(i,r)},exports.createColumnBuilder=function(e){return new i(e)};
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../src/client/resources/column-builder.ts","../src/utils/column/helpers.ts","../src/utils/table/schema-helpers.ts","../src/index.ts","../src/client/index.ts"],"sourcesContent":["import {\n ColumnDetails,\n ColumnQueryOptions,\n ColumnUpdateRequest,\n} from '../../types/api/column';\nimport {\n BolticErrorResponse,\n BolticListResponse,\n BolticSuccessResponse,\n} from '../../types/common/responses';\nimport { ColumnResource } from './column';\n\nexport interface ColumnBuilderOptions {\n tableName: string;\n columnResource: ColumnResource;\n}\n\n/**\n * Column Builder - provides a fluent interface for building column queries and operations\n */\nexport class ColumnBuilder {\n private tableName: string;\n private columnResource: ColumnResource;\n private queryOptions: ColumnQueryOptions = {};\n private updateData: ColumnUpdateRequest = {};\n\n constructor(options: ColumnBuilderOptions) {\n this.tableName = options.tableName;\n this.columnResource = options.columnResource;\n }\n\n /**\n * Add filter conditions\n */\n where(conditions: Partial<ColumnQueryOptions['where']>): ColumnBuilder {\n this.queryOptions.where = { ...this.queryOptions.where, ...conditions };\n return this;\n }\n\n /**\n * Set sorting\n */\n orderBy(\n field: keyof ColumnDetails,\n direction: 'asc' | 'desc' = 'asc'\n ): ColumnBuilder {\n if (!this.queryOptions.sort) {\n this.queryOptions.sort = [];\n }\n this.queryOptions.sort.push({ field, order: direction });\n return this;\n }\n\n /**\n * Set limit\n */\n limit(count: number): ColumnBuilder {\n this.queryOptions.limit = count;\n return this;\n }\n\n /**\n * Set offset\n */\n offset(count: number): ColumnBuilder {\n this.queryOptions.offset = count;\n return this;\n }\n\n /**\n * Set fields to select\n */\n select(fields: Array<keyof ColumnDetails>): ColumnBuilder {\n this.queryOptions.fields = fields;\n return this;\n }\n\n /**\n * Set data for update operations\n */\n set(data: ColumnUpdateRequest): ColumnBuilder {\n this.updateData = { ...this.updateData, ...data };\n return this;\n }\n\n /**\n * Execute findAll operation\n */\n async findAll(): Promise<\n BolticListResponse<ColumnDetails> | BolticErrorResponse\n > {\n return this.columnResource.findAll(this.tableName, this.queryOptions);\n }\n\n /**\n * Execute get operation (was findOne) - requires column name\n */\n async get(): Promise<\n BolticSuccessResponse<ColumnDetails> | BolticErrorResponse\n > {\n if (!this.queryOptions.where?.name) {\n return {\n data: {},\n error: {\n code: 'MISSING_COLUMN_NAME',\n message: 'Column name is required for get operation',\n },\n };\n }\n\n return this.columnResource.get(\n this.tableName,\n this.queryOptions.where.name as string\n );\n }\n\n /**\n * Execute update operation - requires column name\n */\n async update(): Promise<\n BolticSuccessResponse<ColumnDetails> | BolticErrorResponse\n > {\n if (!this.queryOptions.where?.name) {\n return {\n data: {},\n error: {\n code: 'MISSING_COLUMN_NAME',\n message: 'Column name is required for update operation',\n },\n };\n }\n\n return this.columnResource.update(\n this.tableName,\n this.queryOptions.where.name as string,\n this.updateData\n );\n }\n\n /**\n * Execute delete operation - requires column name\n */\n async delete(): Promise<\n | BolticSuccessResponse<{ success: boolean; message?: string }>\n | BolticErrorResponse\n > {\n if (!this.queryOptions.where?.name) {\n return {\n data: {},\n error: {\n code: 'MISSING_COLUMN_NAME',\n message: 'Column name is required for delete operation',\n },\n };\n }\n\n return this.columnResource.delete(\n this.tableName,\n this.queryOptions.where.name as string\n );\n }\n\n /**\n * Get the built query options (for debugging)\n */\n getQueryOptions(): ColumnQueryOptions {\n return { ...this.queryOptions };\n }\n\n /**\n * Get the update data (for debugging)\n */\n getUpdateData(): ColumnUpdateRequest {\n return { ...this.updateData };\n }\n}\n\n/**\n * Create a new column builder\n */\nexport function createColumnBuilder(\n options: ColumnBuilderOptions\n): ColumnBuilder {\n return new ColumnBuilder(options);\n}\n","import {\n ColumnUpdateRequest,\n DateFormatEnum,\n DecimalType,\n PhoneFormatType,\n TimeFormatEnum,\n} from '../../types/api/column';\nimport { FieldDefinition, FieldType } from '../../types/api/table';\n\nexport class ColumnHelpers {\n /**\n * Convert FieldDefinition to ColumnUpdateRequest\n */\n static fieldToUpdateRequest(field: FieldDefinition): ColumnUpdateRequest {\n return {\n name: field.name,\n type: field.type,\n description: field.description,\n is_nullable: field.is_nullable,\n is_unique: field.is_unique,\n is_indexed: field.is_indexed,\n is_visible: field.is_visible,\n is_primary_key: field.is_primary_key,\n is_readonly: field.is_readonly,\n field_order: field.field_order,\n default_value: field.default_value,\n alignment: field.alignment,\n decimals: field.decimals as DecimalType,\n currency_format: field.currency_format,\n selectable_items: field.selectable_items,\n multiple_selections: field.multiple_selections,\n phone_format: field.phone_format as PhoneFormatType,\n date_format: field.date_format as keyof typeof DateFormatEnum,\n time_format: field.time_format as keyof typeof TimeFormatEnum,\n timezone: field.timezone,\n vector_dimension: field.vector_dimension,\n };\n }\n\n /**\n * Apply default values to column definition\n */\n static applyDefaultValues(column: Partial<FieldDefinition>): FieldDefinition {\n if (!column.name || !column.type) {\n throw new Error('Column name and type are required');\n }\n\n return {\n name: column.name,\n type: column.type,\n is_nullable: true,\n is_unique: false,\n is_indexed: false,\n is_primary_key: false,\n is_visible: true,\n is_readonly: false,\n field_order: 1,\n alignment: 'left',\n multiple_selections: false,\n ...column,\n };\n }\n\n /**\n * Create a column definition with proper defaults\n */\n static createColumnDefinition(\n name: string,\n type: FieldType,\n options: Partial<FieldDefinition> = {}\n ): FieldDefinition {\n return this.applyDefaultValues({\n name,\n type,\n ...options,\n });\n }\n\n /**\n * Get column type display name\n */\n static getColumnTypeDisplayName(type: FieldType): string {\n const typeNames: Record<FieldType, string> = {\n text: 'Text',\n 'long-text': 'Long Text',\n number: 'Number',\n currency: 'Currency',\n checkbox: 'Checkbox',\n dropdown: 'Dropdown',\n email: 'Email',\n 'phone-number': 'Phone Number',\n link: 'Link',\n json: 'JSON',\n 'date-time': 'Date & Time',\n vector: 'Vector',\n halfvec: 'Half Vector',\n sparsevec: 'Sparse Vector',\n };\n\n return typeNames[type] || type;\n }\n}\n","import { FieldDefinition, FieldType } from '../../types/api/table';\n\nexport class SchemaHelpers {\n /**\n * Create a text field definition\n */\n static textField(\n name: string,\n options: Partial<FieldDefinition> = {}\n ): FieldDefinition {\n return {\n name,\n type: 'text',\n is_nullable: true,\n is_primary_key: false,\n is_unique: false,\n is_visible: true,\n is_readonly: false,\n is_indexed: false,\n field_order: 1,\n ...options,\n };\n }\n\n /**\n * Create a number field definition\n */\n static numberField(\n name: string,\n options: Partial<FieldDefinition> = {}\n ): FieldDefinition {\n return {\n name,\n type: 'number',\n is_nullable: true,\n is_primary_key: false,\n is_unique: false,\n is_visible: true,\n is_readonly: false,\n is_indexed: false,\n field_order: 1,\n decimals: '0.00',\n ...options,\n };\n }\n\n /**\n * Create a currency field definition\n */\n static currencyField(\n name: string,\n currency: string = 'USD',\n options: Partial<FieldDefinition> = {}\n ): FieldDefinition {\n return {\n name,\n type: 'currency',\n is_nullable: true,\n is_primary_key: false,\n is_unique: false,\n is_visible: true,\n is_readonly: false,\n is_indexed: false,\n field_order: 1,\n decimals: '0.00',\n currency_format: currency,\n ...options,\n };\n }\n\n /**\n * Create a dropdown field definition\n */\n static dropdownField(\n name: string,\n items: string[],\n options: Partial<FieldDefinition> = {}\n ): FieldDefinition {\n return {\n name,\n type: 'dropdown',\n is_nullable: true,\n is_primary_key: false,\n is_unique: false,\n is_visible: true,\n is_readonly: false,\n is_indexed: false,\n field_order: 1,\n selection_source: 'provide-static-list',\n selectable_items: items,\n multiple_selections: false,\n ...options,\n };\n }\n\n /**\n * Create a vector field definition\n */\n static vectorField(\n name: string,\n dimension: number,\n options: Partial<FieldDefinition> = {}\n ): FieldDefinition {\n return {\n name,\n type: 'vector',\n is_nullable: true,\n is_primary_key: false,\n is_unique: false,\n is_visible: true,\n is_readonly: false,\n is_indexed: false,\n field_order: 1,\n vector_dimension: dimension,\n ...options,\n };\n }\n\n /**\n * Create a JSON field definition\n */\n static jsonField(\n name: string,\n options: Partial<FieldDefinition> = {}\n ): FieldDefinition {\n return {\n name,\n type: 'json',\n is_nullable: true,\n is_primary_key: false,\n is_unique: false,\n is_visible: true,\n is_readonly: false,\n is_indexed: false,\n field_order: 1,\n ...options,\n };\n }\n\n /**\n * Create a date-time field definition\n */\n static dateTimeField(\n name: string,\n options: Partial<FieldDefinition> = {}\n ): FieldDefinition {\n return {\n name,\n type: 'date-time',\n is_nullable: true,\n is_primary_key: false,\n is_unique: false,\n is_visible: true,\n is_readonly: false,\n is_indexed: false,\n field_order: 1,\n date_format: 'YYYY-MM-DD',\n time_format: 'HH:mm:ss',\n ...options,\n };\n }\n\n /**\n * Create an email field definition\n */\n static emailField(\n name: string,\n options: Partial<FieldDefinition> = {}\n ): FieldDefinition {\n return {\n name,\n type: 'email',\n is_nullable: true,\n is_primary_key: false,\n is_unique: false,\n is_visible: true,\n is_readonly: false,\n is_indexed: false,\n field_order: 1,\n ...options,\n };\n }\n\n /**\n * Create a long-text field definition\n */\n static longTextField(\n name: string,\n options: Partial<FieldDefinition> = {}\n ): FieldDefinition {\n return {\n name,\n type: 'long-text',\n is_nullable: true,\n is_primary_key: false,\n is_unique: false,\n is_visible: true,\n is_readonly: false,\n is_indexed: false,\n field_order: 1,\n ...options,\n };\n }\n\n /**\n * Create a link field definition\n */\n static linkField(\n name: string,\n options: Partial<FieldDefinition> = {}\n ): FieldDefinition {\n return {\n name,\n type: 'link',\n is_nullable: true,\n is_primary_key: false,\n is_unique: false,\n is_visible: true,\n is_readonly: false,\n is_indexed: false,\n field_order: 1,\n ...options,\n };\n }\n\n /**\n * Create a phone number field definition\n */\n static phoneNumberField(\n name: string,\n format: string = 'international',\n options: Partial<FieldDefinition> = {}\n ): FieldDefinition {\n return {\n name,\n type: 'phone-number',\n is_nullable: true,\n is_primary_key: false,\n is_unique: false,\n is_visible: true,\n is_readonly: false,\n is_indexed: false,\n field_order: 1,\n phone_format: format,\n ...options,\n };\n }\n\n /**\n * Create a checkbox field definition\n */\n static checkboxField(\n name: string,\n options: Partial<FieldDefinition> = {}\n ): FieldDefinition {\n return {\n name,\n type: 'checkbox',\n is_nullable: true,\n is_primary_key: false,\n is_unique: false,\n is_visible: true,\n is_readonly: false,\n is_indexed: false,\n field_order: 1,\n default_value: false,\n ...options,\n };\n }\n\n /**\n * Create a half-vector field definition\n */\n static halfVectorField(\n name: string,\n dimension: number,\n options: Partial<FieldDefinition> = {}\n ): FieldDefinition {\n return {\n name,\n type: 'halfvec',\n is_nullable: true,\n is_primary_key: false,\n is_unique: false,\n is_visible: true,\n is_readonly: false,\n is_indexed: false,\n field_order: 1,\n vector_dimension: dimension,\n ...options,\n };\n }\n\n /**\n * Create a sparse vector field definition\n */\n static sparseVectorField(\n name: string,\n dimension: number,\n options: Partial<FieldDefinition> = {}\n ): FieldDefinition {\n return {\n name,\n type: 'sparsevec',\n is_nullable: true,\n is_primary_key: false,\n is_unique: false,\n is_visible: true,\n is_readonly: false,\n is_indexed: false,\n field_order: 1,\n vector_dimension: dimension,\n ...options,\n };\n }\n\n /**\n * Create a basic schema from field definitions\n */\n static createBasicSchema(\n fields: Array<{ name: string; type: FieldType }>\n ): FieldDefinition[] {\n return fields.map((field, index) => ({\n name: field.name,\n type: field.type,\n is_nullable: true,\n is_primary_key: false,\n is_unique: false,\n is_visible: true,\n is_readonly: false,\n is_indexed: false,\n field_order: index + 1,\n }));\n }\n}\n","// Main SDK exports\nexport { BolticClient, createClient } from './client';\nexport type { ClientOptions } from './client';\n\n// Type exports for external use\nexport type {\n ColumnDetails,\n ColumnQueryOptions,\n ColumnUpdateRequest,\n} from './types/api/column';\nexport type {\n RecordData,\n RecordDeleteOptions,\n RecordQueryOptions,\n RecordWithId,\n} from './types/api/record';\nexport type {\n FieldDefinition,\n TableCreateRequest,\n TableRecord,\n TableUpdateRequest,\n} from './types/api/table';\n\n// Response types and helpers - Essential for type checking\nexport { isErrorResponse, isListResponse } from './types/common/responses';\nexport type {\n ApiResponse,\n BolticErrorResponse,\n BolticListResponse,\n BolticSuccessResponse,\n BulkResponse,\n ErrorResponse,\n QueryOptions,\n SuccessResponse,\n} from './types/common/responses';\n\n// Pagination and operation types\nexport type { PaginationInfo } from './types/common/operations';\n\n// Utility classes for schema and column management\nexport { ColumnHelpers } from './utils/column/helpers';\nexport { SchemaHelpers } from './utils/table/schema-helpers';\n\n// Filter utilities and constants\nexport {\n buildApiFilters,\n createFilter,\n FILTER_OPERATORS,\n FilterBuilder,\n mapFiltersToWhere,\n mapWhereToFilters,\n normalizeFilters,\n} from './utils/filters/filter-mapper';\nexport type { ApiFilter } from './utils/filters/filter-mapper';\n\n// Builder creation functions\nexport { createColumnBuilder } from './client/resources/column-builder';\nexport { createRecordBuilder } from './client/resources/record-builder';\nexport { createTableBuilder } from './client/resources/table-builder';\n\n// Error handling utilities\nexport {\n ApiError,\n createErrorWithContext,\n formatError,\n getHttpStatusCode,\n isNetworkError,\n ValidationError,\n} from './errors/utils';\nexport type { ValidationFailure } from './errors/utils';\n\n// HTTP adapter types for advanced users\nexport type {\n HttpAdapter,\n HttpRequestConfig,\n HttpResponse,\n} from './utils/http/adapter';\n\n// Testing utilities for SDK users\nexport {\n createErrorResponse,\n createMockResponse,\n createTestClient,\n} from './testing/test-client';\nexport type { MockClientOptions } from './testing/test-client';\n\n// Export all errors\nexport * from './errors';\n\n// Export all types\nexport * from './types';\n\n// SQL exports\nexport * from './client/resources/sql';\n\n// Version information\nexport const VERSION = '1.0.0';\n","import { BolticClient, ClientOptions } from './boltic-client';\n\nexport function createClient(\n apiKey: string,\n options: ClientOptions = {}\n): BolticClient {\n return new BolticClient(apiKey, options);\n}\n\nexport type { Region } from '../types/config/environment';\nexport * from './core/auth-manager';\nexport * from './core/base-client';\nexport * from './core/base-resource';\nexport * from './core/config';\nexport * from './resources/record';\nexport * from './resources/record-builder';\nexport * from './resources/table';\nexport {\n createTableBuilder,\n TableBuilder,\n type TableBuilderOptions,\n} from './resources/table-builder';\nexport { BolticClient };\nexport type { ClientOptions };\n"],"names":["ColumnBuilder","constructor","options","this","queryOptions","updateData","tableName","columnResource","where","conditions","orderBy","field","direction","sort","push","order","limit","count","offset","select","fields","set","data","findAll","get","_a","name","error","code","message","update","delete","getQueryOptions","getUpdateData","fieldToUpdateRequest","type","description","is_nullable","is_unique","is_indexed","is_visible","is_primary_key","is_readonly","field_order","default_value","alignment","decimals","currency_format","selectable_items","multiple_selections","phone_format","date_format","time_format","timezone","vector_dimension","applyDefaultValues","column","Error","createColumnDefinition","getColumnTypeDisplayName","text","number","currency","checkbox","dropdown","email","link","json","vector","halfvec","sparsevec","textField","numberField","currencyField","dropdownField","items","selection_source","vectorField","dimension","jsonField","dateTimeField","emailField","longTextField","linkField","phoneNumberField","format","checkboxField","halfVectorField","sparseVectorField","createBasicSchema","map","index","apiKey","BolticClient"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../src/client/resources/column-builder.ts","../src/utils/column/helpers.ts","../src/utils/table/schema-helpers.ts","../src/index.ts","../src/client/index.ts"],"sourcesContent":["import {\n ColumnDetails,\n ColumnQueryOptions,\n ColumnUpdateRequest,\n} from '../../types/api/column';\nimport {\n BolticErrorResponse,\n BolticListResponse,\n BolticSuccessResponse,\n} from '../../types/common/responses';\nimport { ColumnResource } from './column';\n\nexport interface ColumnBuilderOptions {\n tableName: string;\n columnResource: ColumnResource;\n}\n\n/**\n * Column Builder - provides a fluent interface for building column queries and operations\n */\nexport class ColumnBuilder {\n private tableName: string;\n private columnResource: ColumnResource;\n private queryOptions: ColumnQueryOptions = {};\n private updateData: ColumnUpdateRequest = {};\n\n constructor(options: ColumnBuilderOptions) {\n this.tableName = options.tableName;\n this.columnResource = options.columnResource;\n }\n\n /**\n * Add filter conditions\n */\n where(conditions: Partial<ColumnQueryOptions['where']>): ColumnBuilder {\n this.queryOptions.where = { ...this.queryOptions.where, ...conditions };\n return this;\n }\n\n /**\n * Set sorting\n */\n orderBy(\n field: keyof ColumnDetails,\n direction: 'asc' | 'desc' = 'asc'\n ): ColumnBuilder {\n if (!this.queryOptions.sort) {\n this.queryOptions.sort = [];\n }\n this.queryOptions.sort.push({ field, order: direction });\n return this;\n }\n\n /**\n * Set limit\n */\n limit(count: number): ColumnBuilder {\n this.queryOptions.limit = count;\n return this;\n }\n\n /**\n * Set offset\n */\n offset(count: number): ColumnBuilder {\n this.queryOptions.offset = count;\n return this;\n }\n\n /**\n * Set fields to select\n */\n select(fields: Array<keyof ColumnDetails>): ColumnBuilder {\n this.queryOptions.fields = fields;\n return this;\n }\n\n /**\n * Set data for update operations\n */\n set(data: ColumnUpdateRequest): ColumnBuilder {\n this.updateData = { ...this.updateData, ...data };\n return this;\n }\n\n /**\n * Execute findAll operation\n */\n async findAll(): Promise<\n BolticListResponse<ColumnDetails> | BolticErrorResponse\n > {\n return this.columnResource.findAll(this.tableName, this.queryOptions);\n }\n\n /**\n * Execute get operation (was findOne) - requires column name\n */\n async get(): Promise<\n BolticSuccessResponse<ColumnDetails> | BolticErrorResponse\n > {\n if (!this.queryOptions.where?.name) {\n return {\n error: {\n code: 'MISSING_COLUMN_NAME',\n message: 'Column name is required for get operation',\n },\n };\n }\n\n return this.columnResource.get(\n this.tableName,\n this.queryOptions.where.name as string\n );\n }\n\n /**\n * Execute update operation - requires column name\n */\n async update(): Promise<\n BolticSuccessResponse<ColumnDetails> | BolticErrorResponse\n > {\n if (!this.queryOptions.where?.name) {\n return {\n error: {\n code: 'MISSING_COLUMN_NAME',\n message: 'Column name is required for update operation',\n },\n };\n }\n\n return this.columnResource.update(\n this.tableName,\n this.queryOptions.where.name as string,\n this.updateData\n );\n }\n\n /**\n * Execute delete operation - requires column name\n */\n async delete(): Promise<\n | BolticSuccessResponse<{ success: boolean; message?: string }>\n | BolticErrorResponse\n > {\n if (!this.queryOptions.where?.name) {\n return {\n error: {\n code: 'MISSING_COLUMN_NAME',\n message: 'Column name is required for delete operation',\n },\n };\n }\n\n return this.columnResource.delete(\n this.tableName,\n this.queryOptions.where.name as string\n );\n }\n\n /**\n * Get the built query options (for debugging)\n */\n getQueryOptions(): ColumnQueryOptions {\n return { ...this.queryOptions };\n }\n\n /**\n * Get the update data (for debugging)\n */\n getUpdateData(): ColumnUpdateRequest {\n return { ...this.updateData };\n }\n}\n\n/**\n * Create a new column builder\n */\nexport function createColumnBuilder(\n options: ColumnBuilderOptions\n): ColumnBuilder {\n return new ColumnBuilder(options);\n}\n","import {\n ColumnUpdateRequest,\n DateFormatEnum,\n DecimalType,\n PhoneFormatType,\n TimeFormatEnum,\n} from '../../types/api/column';\nimport { FieldDefinition, FieldType } from '../../types/api/table';\n\nexport class ColumnHelpers {\n /**\n * Convert FieldDefinition to ColumnUpdateRequest\n */\n static fieldToUpdateRequest(field: FieldDefinition): ColumnUpdateRequest {\n return {\n name: field.name,\n type: field.type,\n description: field.description,\n is_nullable: field.is_nullable,\n is_unique: field.is_unique,\n is_indexed: field.is_indexed,\n is_visible: field.is_visible,\n is_primary_key: field.is_primary_key,\n is_readonly: field.is_readonly,\n field_order: field.field_order,\n default_value: field.default_value,\n alignment: field.alignment,\n decimals: field.decimals as DecimalType,\n currency_format: field.currency_format,\n selectable_items: field.selectable_items,\n multiple_selections: field.multiple_selections,\n phone_format: field.phone_format as PhoneFormatType,\n date_format: field.date_format as keyof typeof DateFormatEnum,\n time_format: field.time_format as keyof typeof TimeFormatEnum,\n timezone: field.timezone,\n vector_dimension: field.vector_dimension,\n };\n }\n\n /**\n * Apply default values to column definition\n */\n static applyDefaultValues(column: Partial<FieldDefinition>): FieldDefinition {\n if (!column.name || !column.type) {\n throw new Error('Column name and type are required');\n }\n\n return {\n name: column.name,\n type: column.type,\n is_nullable: true,\n is_unique: false,\n is_indexed: false,\n is_primary_key: false,\n is_visible: true,\n is_readonly: false,\n field_order: 1,\n alignment: 'left',\n multiple_selections: false,\n ...column,\n };\n }\n\n /**\n * Create a column definition with proper defaults\n */\n static createColumnDefinition(\n name: string,\n type: FieldType,\n options: Partial<FieldDefinition> = {}\n ): FieldDefinition {\n return this.applyDefaultValues({\n name,\n type,\n ...options,\n });\n }\n\n /**\n * Get column type display name\n */\n static getColumnTypeDisplayName(type: FieldType): string {\n const typeNames: Record<FieldType, string> = {\n text: 'Text',\n 'long-text': 'Long Text',\n number: 'Number',\n currency: 'Currency',\n checkbox: 'Checkbox',\n dropdown: 'Dropdown',\n email: 'Email',\n 'phone-number': 'Phone Number',\n link: 'Link',\n json: 'JSON',\n 'date-time': 'Date & Time',\n vector: 'Vector',\n halfvec: 'Half Vector',\n sparsevec: 'Sparse Vector',\n };\n\n return typeNames[type] || type;\n }\n}\n","import { FieldDefinition, FieldType } from '../../types/api/table';\n\nexport class SchemaHelpers {\n /**\n * Create a text field definition\n */\n static textField(\n name: string,\n options: Partial<FieldDefinition> = {}\n ): FieldDefinition {\n return {\n name,\n type: 'text',\n is_nullable: true,\n is_primary_key: false,\n is_unique: false,\n is_visible: true,\n is_readonly: false,\n is_indexed: false,\n field_order: 1,\n ...options,\n };\n }\n\n /**\n * Create a number field definition\n */\n static numberField(\n name: string,\n options: Partial<FieldDefinition> = {}\n ): FieldDefinition {\n return {\n name,\n type: 'number',\n is_nullable: true,\n is_primary_key: false,\n is_unique: false,\n is_visible: true,\n is_readonly: false,\n is_indexed: false,\n field_order: 1,\n decimals: '0.00',\n ...options,\n };\n }\n\n /**\n * Create a currency field definition\n */\n static currencyField(\n name: string,\n currency: string = 'USD',\n options: Partial<FieldDefinition> = {}\n ): FieldDefinition {\n return {\n name,\n type: 'currency',\n is_nullable: true,\n is_primary_key: false,\n is_unique: false,\n is_visible: true,\n is_readonly: false,\n is_indexed: false,\n field_order: 1,\n decimals: '0.00',\n currency_format: currency,\n ...options,\n };\n }\n\n /**\n * Create a dropdown field definition\n */\n static dropdownField(\n name: string,\n items: string[],\n options: Partial<FieldDefinition> = {}\n ): FieldDefinition {\n return {\n name,\n type: 'dropdown',\n is_nullable: true,\n is_primary_key: false,\n is_unique: false,\n is_visible: true,\n is_readonly: false,\n is_indexed: false,\n field_order: 1,\n selection_source: 'provide-static-list',\n selectable_items: items,\n multiple_selections: false,\n ...options,\n };\n }\n\n /**\n * Create a vector field definition\n */\n static vectorField(\n name: string,\n dimension: number,\n options: Partial<FieldDefinition> = {}\n ): FieldDefinition {\n return {\n name,\n type: 'vector',\n is_nullable: true,\n is_primary_key: false,\n is_unique: false,\n is_visible: true,\n is_readonly: false,\n is_indexed: false,\n field_order: 1,\n vector_dimension: dimension,\n ...options,\n };\n }\n\n /**\n * Create a JSON field definition\n */\n static jsonField(\n name: string,\n options: Partial<FieldDefinition> = {}\n ): FieldDefinition {\n return {\n name,\n type: 'json',\n is_nullable: true,\n is_primary_key: false,\n is_unique: false,\n is_visible: true,\n is_readonly: false,\n is_indexed: false,\n field_order: 1,\n ...options,\n };\n }\n\n /**\n * Create a date-time field definition\n */\n static dateTimeField(\n name: string,\n options: Partial<FieldDefinition> = {}\n ): FieldDefinition {\n return {\n name,\n type: 'date-time',\n is_nullable: true,\n is_primary_key: false,\n is_unique: false,\n is_visible: true,\n is_readonly: false,\n is_indexed: false,\n field_order: 1,\n date_format: 'YYYY-MM-DD',\n time_format: 'HH:mm:ss',\n ...options,\n };\n }\n\n /**\n * Create an email field definition\n */\n static emailField(\n name: string,\n options: Partial<FieldDefinition> = {}\n ): FieldDefinition {\n return {\n name,\n type: 'email',\n is_nullable: true,\n is_primary_key: false,\n is_unique: false,\n is_visible: true,\n is_readonly: false,\n is_indexed: false,\n field_order: 1,\n ...options,\n };\n }\n\n /**\n * Create a long-text field definition\n */\n static longTextField(\n name: string,\n options: Partial<FieldDefinition> = {}\n ): FieldDefinition {\n return {\n name,\n type: 'long-text',\n is_nullable: true,\n is_primary_key: false,\n is_unique: false,\n is_visible: true,\n is_readonly: false,\n is_indexed: false,\n field_order: 1,\n ...options,\n };\n }\n\n /**\n * Create a link field definition\n */\n static linkField(\n name: string,\n options: Partial<FieldDefinition> = {}\n ): FieldDefinition {\n return {\n name,\n type: 'link',\n is_nullable: true,\n is_primary_key: false,\n is_unique: false,\n is_visible: true,\n is_readonly: false,\n is_indexed: false,\n field_order: 1,\n ...options,\n };\n }\n\n /**\n * Create a phone number field definition\n */\n static phoneNumberField(\n name: string,\n format: string = 'international',\n options: Partial<FieldDefinition> = {}\n ): FieldDefinition {\n return {\n name,\n type: 'phone-number',\n is_nullable: true,\n is_primary_key: false,\n is_unique: false,\n is_visible: true,\n is_readonly: false,\n is_indexed: false,\n field_order: 1,\n phone_format: format,\n ...options,\n };\n }\n\n /**\n * Create a checkbox field definition\n */\n static checkboxField(\n name: string,\n options: Partial<FieldDefinition> = {}\n ): FieldDefinition {\n return {\n name,\n type: 'checkbox',\n is_nullable: true,\n is_primary_key: false,\n is_unique: false,\n is_visible: true,\n is_readonly: false,\n is_indexed: false,\n field_order: 1,\n default_value: false,\n ...options,\n };\n }\n\n /**\n * Create a half-vector field definition\n */\n static halfVectorField(\n name: string,\n dimension: number,\n options: Partial<FieldDefinition> = {}\n ): FieldDefinition {\n return {\n name,\n type: 'halfvec',\n is_nullable: true,\n is_primary_key: false,\n is_unique: false,\n is_visible: true,\n is_readonly: false,\n is_indexed: false,\n field_order: 1,\n vector_dimension: dimension,\n ...options,\n };\n }\n\n /**\n * Create a sparse vector field definition\n */\n static sparseVectorField(\n name: string,\n dimension: number,\n options: Partial<FieldDefinition> = {}\n ): FieldDefinition {\n return {\n name,\n type: 'sparsevec',\n is_nullable: true,\n is_primary_key: false,\n is_unique: false,\n is_visible: true,\n is_readonly: false,\n is_indexed: false,\n field_order: 1,\n vector_dimension: dimension,\n ...options,\n };\n }\n\n /**\n * Create a basic schema from field definitions\n */\n static createBasicSchema(\n fields: Array<{ name: string; type: FieldType }>\n ): FieldDefinition[] {\n return fields.map((field, index) => ({\n name: field.name,\n type: field.type,\n is_nullable: true,\n is_primary_key: false,\n is_unique: false,\n is_visible: true,\n is_readonly: false,\n is_indexed: false,\n field_order: index + 1,\n }));\n }\n}\n","// Main SDK exports\nexport { BolticClient, createClient } from './client';\nexport type { ClientOptions } from './client';\n\n// Type exports for external use\nexport type {\n ColumnDetails,\n ColumnQueryOptions,\n ColumnUpdateRequest,\n} from './types/api/column';\nexport type {\n RecordData,\n RecordDeleteOptions,\n RecordQueryOptions,\n RecordWithId,\n} from './types/api/record';\nexport type {\n FieldDefinition,\n TableCreateRequest,\n TableRecord,\n TableUpdateRequest,\n} from './types/api/table';\n\n// Response types and helpers - Essential for type checking\nexport { isErrorResponse, isListResponse } from './types/common/responses';\nexport type {\n ApiResponse,\n BolticErrorResponse,\n BolticListResponse,\n BolticSuccessResponse,\n BulkResponse,\n ErrorResponse,\n QueryOptions,\n SuccessResponse,\n} from './types/common/responses';\n\n// Pagination and operation types\nexport type { PaginationInfo } from './types/common/operations';\n\n// Utility classes for schema and column management\nexport { ColumnHelpers } from './utils/column/helpers';\nexport { SchemaHelpers } from './utils/table/schema-helpers';\n\n// Filter utilities and constants\nexport {\n buildApiFilters,\n createFilter,\n FILTER_OPERATORS,\n FilterBuilder,\n mapFiltersToWhere,\n mapWhereToFilters,\n normalizeFilters,\n} from './utils/filters/filter-mapper';\nexport type { ApiFilter } from './utils/filters/filter-mapper';\n\n// Builder creation functions\nexport { createColumnBuilder } from './client/resources/column-builder';\nexport { createRecordBuilder } from './client/resources/record-builder';\nexport { createTableBuilder } from './client/resources/table-builder';\n\n// Error handling utilities\nexport {\n ApiError,\n createErrorWithContext,\n formatError,\n getHttpStatusCode,\n isNetworkError,\n ValidationError,\n} from './errors/utils';\nexport type { ValidationFailure } from './errors/utils';\n\n// HTTP adapter types for advanced users\nexport type {\n HttpAdapter,\n HttpRequestConfig,\n HttpResponse,\n} from './utils/http/adapter';\n\n// Testing utilities for SDK users\nexport {\n createErrorResponse,\n createMockResponse,\n createTestClient,\n} from './testing/test-client';\nexport type { MockClientOptions } from './testing/test-client';\n\n// Export all errors\nexport * from './errors';\n\n// Export all types\nexport * from './types';\n\n// SQL exports\nexport * from './client/resources/sql';\n\n// Version information\nexport const VERSION = '1.0.0';\n","import { BolticClient, ClientOptions } from './boltic-client';\n\nexport function createClient(\n apiKey: string,\n options: ClientOptions = {}\n): BolticClient {\n return new BolticClient(apiKey, options);\n}\n\nexport type { Region } from '../types/config/environment';\nexport * from './core/auth-manager';\nexport * from './core/base-client';\nexport * from './core/base-resource';\nexport * from './core/config';\nexport * from './resources/record';\nexport * from './resources/record-builder';\nexport * from './resources/table';\nexport {\n createTableBuilder,\n TableBuilder,\n type TableBuilderOptions,\n} from './resources/table-builder';\nexport { BolticClient };\nexport type { ClientOptions };\n"],"names":["ColumnBuilder","constructor","options","this","queryOptions","updateData","tableName","columnResource","where","conditions","orderBy","field","direction","sort","push","order","limit","count","offset","select","fields","set","data","findAll","get","_a","name","error","code","message","update","delete","getQueryOptions","getUpdateData","fieldToUpdateRequest","type","description","is_nullable","is_unique","is_indexed","is_visible","is_primary_key","is_readonly","field_order","default_value","alignment","decimals","currency_format","selectable_items","multiple_selections","phone_format","date_format","time_format","timezone","vector_dimension","applyDefaultValues","column","Error","createColumnDefinition","getColumnTypeDisplayName","text","number","currency","checkbox","dropdown","email","link","json","vector","halfvec","sparsevec","textField","numberField","currencyField","dropdownField","items","selection_source","vectorField","dimension","jsonField","dateTimeField","emailField","longTextField","linkField","phoneNumberField","format","checkboxField","halfVectorField","sparseVectorField","createBasicSchema","map","index","apiKey","BolticClient"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- import { B as BolticClient } from "./test-client-BM9X5DH9.mjs";
2
- import { A, E, F, d, R, S, V, b, o, h, c, p, f, g, q, j, k, i, a, l, m, e, n } from "./test-client-BM9X5DH9.mjs";
1
+ import { B as BolticClient } from "./test-client-BffJwqJq.mjs";
2
+ import { A, E, F, d, R, S, V, b, o, h, c, p, f, g, q, j, k, i, a, l, m, e, n } from "./test-client-BffJwqJq.mjs";
3
3
  function createClient(apiKey, options = {}) {
4
4
  return new BolticClient(apiKey, options);
5
5
  }
@@ -421,7 +421,6 @@ class ColumnBuilder {
421
421
  var _a;
422
422
  if (!((_a = this.queryOptions.where) == null ? void 0 : _a.name)) {
423
423
  return {
424
- data: {},
425
424
  error: {
426
425
  code: "MISSING_COLUMN_NAME",
427
426
  message: "Column name is required for get operation"
@@ -440,7 +439,6 @@ class ColumnBuilder {
440
439
  var _a;
441
440
  if (!((_a = this.queryOptions.where) == null ? void 0 : _a.name)) {
442
441
  return {
443
- data: {},
444
442
  error: {
445
443
  code: "MISSING_COLUMN_NAME",
446
444
  message: "Column name is required for update operation"
@@ -460,7 +458,6 @@ class ColumnBuilder {
460
458
  var _a;
461
459
  if (!((_a = this.queryOptions.where) == null ? void 0 : _a.name)) {
462
460
  return {
463
- data: {},
464
461
  error: {
465
462
  code: "MISSING_COLUMN_NAME",
466
463
  message: "Column name is required for delete operation"
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../src/client/index.ts","../src/utils/column/helpers.ts","../src/utils/table/schema-helpers.ts","../src/client/resources/column-builder.ts","../src/index.ts"],"sourcesContent":["import { BolticClient, ClientOptions } from './boltic-client';\n\nexport function createClient(\n apiKey: string,\n options: ClientOptions = {}\n): BolticClient {\n return new BolticClient(apiKey, options);\n}\n\nexport type { Region } from '../types/config/environment';\nexport * from './core/auth-manager';\nexport * from './core/base-client';\nexport * from './core/base-resource';\nexport * from './core/config';\nexport * from './resources/record';\nexport * from './resources/record-builder';\nexport * from './resources/table';\nexport {\n createTableBuilder,\n TableBuilder,\n type TableBuilderOptions,\n} from './resources/table-builder';\nexport { BolticClient };\nexport type { ClientOptions };\n","import {\n ColumnUpdateRequest,\n DateFormatEnum,\n DecimalType,\n PhoneFormatType,\n TimeFormatEnum,\n} from '../../types/api/column';\nimport { FieldDefinition, FieldType } from '../../types/api/table';\n\nexport class ColumnHelpers {\n /**\n * Convert FieldDefinition to ColumnUpdateRequest\n */\n static fieldToUpdateRequest(field: FieldDefinition): ColumnUpdateRequest {\n return {\n name: field.name,\n type: field.type,\n description: field.description,\n is_nullable: field.is_nullable,\n is_unique: field.is_unique,\n is_indexed: field.is_indexed,\n is_visible: field.is_visible,\n is_primary_key: field.is_primary_key,\n is_readonly: field.is_readonly,\n field_order: field.field_order,\n default_value: field.default_value,\n alignment: field.alignment,\n decimals: field.decimals as DecimalType,\n currency_format: field.currency_format,\n selectable_items: field.selectable_items,\n multiple_selections: field.multiple_selections,\n phone_format: field.phone_format as PhoneFormatType,\n date_format: field.date_format as keyof typeof DateFormatEnum,\n time_format: field.time_format as keyof typeof TimeFormatEnum,\n timezone: field.timezone,\n vector_dimension: field.vector_dimension,\n };\n }\n\n /**\n * Apply default values to column definition\n */\n static applyDefaultValues(column: Partial<FieldDefinition>): FieldDefinition {\n if (!column.name || !column.type) {\n throw new Error('Column name and type are required');\n }\n\n return {\n name: column.name,\n type: column.type,\n is_nullable: true,\n is_unique: false,\n is_indexed: false,\n is_primary_key: false,\n is_visible: true,\n is_readonly: false,\n field_order: 1,\n alignment: 'left',\n multiple_selections: false,\n ...column,\n };\n }\n\n /**\n * Create a column definition with proper defaults\n */\n static createColumnDefinition(\n name: string,\n type: FieldType,\n options: Partial<FieldDefinition> = {}\n ): FieldDefinition {\n return this.applyDefaultValues({\n name,\n type,\n ...options,\n });\n }\n\n /**\n * Get column type display name\n */\n static getColumnTypeDisplayName(type: FieldType): string {\n const typeNames: Record<FieldType, string> = {\n text: 'Text',\n 'long-text': 'Long Text',\n number: 'Number',\n currency: 'Currency',\n checkbox: 'Checkbox',\n dropdown: 'Dropdown',\n email: 'Email',\n 'phone-number': 'Phone Number',\n link: 'Link',\n json: 'JSON',\n 'date-time': 'Date & Time',\n vector: 'Vector',\n halfvec: 'Half Vector',\n sparsevec: 'Sparse Vector',\n };\n\n return typeNames[type] || type;\n }\n}\n","import { FieldDefinition, FieldType } from '../../types/api/table';\n\nexport class SchemaHelpers {\n /**\n * Create a text field definition\n */\n static textField(\n name: string,\n options: Partial<FieldDefinition> = {}\n ): FieldDefinition {\n return {\n name,\n type: 'text',\n is_nullable: true,\n is_primary_key: false,\n is_unique: false,\n is_visible: true,\n is_readonly: false,\n is_indexed: false,\n field_order: 1,\n ...options,\n };\n }\n\n /**\n * Create a number field definition\n */\n static numberField(\n name: string,\n options: Partial<FieldDefinition> = {}\n ): FieldDefinition {\n return {\n name,\n type: 'number',\n is_nullable: true,\n is_primary_key: false,\n is_unique: false,\n is_visible: true,\n is_readonly: false,\n is_indexed: false,\n field_order: 1,\n decimals: '0.00',\n ...options,\n };\n }\n\n /**\n * Create a currency field definition\n */\n static currencyField(\n name: string,\n currency: string = 'USD',\n options: Partial<FieldDefinition> = {}\n ): FieldDefinition {\n return {\n name,\n type: 'currency',\n is_nullable: true,\n is_primary_key: false,\n is_unique: false,\n is_visible: true,\n is_readonly: false,\n is_indexed: false,\n field_order: 1,\n decimals: '0.00',\n currency_format: currency,\n ...options,\n };\n }\n\n /**\n * Create a dropdown field definition\n */\n static dropdownField(\n name: string,\n items: string[],\n options: Partial<FieldDefinition> = {}\n ): FieldDefinition {\n return {\n name,\n type: 'dropdown',\n is_nullable: true,\n is_primary_key: false,\n is_unique: false,\n is_visible: true,\n is_readonly: false,\n is_indexed: false,\n field_order: 1,\n selection_source: 'provide-static-list',\n selectable_items: items,\n multiple_selections: false,\n ...options,\n };\n }\n\n /**\n * Create a vector field definition\n */\n static vectorField(\n name: string,\n dimension: number,\n options: Partial<FieldDefinition> = {}\n ): FieldDefinition {\n return {\n name,\n type: 'vector',\n is_nullable: true,\n is_primary_key: false,\n is_unique: false,\n is_visible: true,\n is_readonly: false,\n is_indexed: false,\n field_order: 1,\n vector_dimension: dimension,\n ...options,\n };\n }\n\n /**\n * Create a JSON field definition\n */\n static jsonField(\n name: string,\n options: Partial<FieldDefinition> = {}\n ): FieldDefinition {\n return {\n name,\n type: 'json',\n is_nullable: true,\n is_primary_key: false,\n is_unique: false,\n is_visible: true,\n is_readonly: false,\n is_indexed: false,\n field_order: 1,\n ...options,\n };\n }\n\n /**\n * Create a date-time field definition\n */\n static dateTimeField(\n name: string,\n options: Partial<FieldDefinition> = {}\n ): FieldDefinition {\n return {\n name,\n type: 'date-time',\n is_nullable: true,\n is_primary_key: false,\n is_unique: false,\n is_visible: true,\n is_readonly: false,\n is_indexed: false,\n field_order: 1,\n date_format: 'YYYY-MM-DD',\n time_format: 'HH:mm:ss',\n ...options,\n };\n }\n\n /**\n * Create an email field definition\n */\n static emailField(\n name: string,\n options: Partial<FieldDefinition> = {}\n ): FieldDefinition {\n return {\n name,\n type: 'email',\n is_nullable: true,\n is_primary_key: false,\n is_unique: false,\n is_visible: true,\n is_readonly: false,\n is_indexed: false,\n field_order: 1,\n ...options,\n };\n }\n\n /**\n * Create a long-text field definition\n */\n static longTextField(\n name: string,\n options: Partial<FieldDefinition> = {}\n ): FieldDefinition {\n return {\n name,\n type: 'long-text',\n is_nullable: true,\n is_primary_key: false,\n is_unique: false,\n is_visible: true,\n is_readonly: false,\n is_indexed: false,\n field_order: 1,\n ...options,\n };\n }\n\n /**\n * Create a link field definition\n */\n static linkField(\n name: string,\n options: Partial<FieldDefinition> = {}\n ): FieldDefinition {\n return {\n name,\n type: 'link',\n is_nullable: true,\n is_primary_key: false,\n is_unique: false,\n is_visible: true,\n is_readonly: false,\n is_indexed: false,\n field_order: 1,\n ...options,\n };\n }\n\n /**\n * Create a phone number field definition\n */\n static phoneNumberField(\n name: string,\n format: string = 'international',\n options: Partial<FieldDefinition> = {}\n ): FieldDefinition {\n return {\n name,\n type: 'phone-number',\n is_nullable: true,\n is_primary_key: false,\n is_unique: false,\n is_visible: true,\n is_readonly: false,\n is_indexed: false,\n field_order: 1,\n phone_format: format,\n ...options,\n };\n }\n\n /**\n * Create a checkbox field definition\n */\n static checkboxField(\n name: string,\n options: Partial<FieldDefinition> = {}\n ): FieldDefinition {\n return {\n name,\n type: 'checkbox',\n is_nullable: true,\n is_primary_key: false,\n is_unique: false,\n is_visible: true,\n is_readonly: false,\n is_indexed: false,\n field_order: 1,\n default_value: false,\n ...options,\n };\n }\n\n /**\n * Create a half-vector field definition\n */\n static halfVectorField(\n name: string,\n dimension: number,\n options: Partial<FieldDefinition> = {}\n ): FieldDefinition {\n return {\n name,\n type: 'halfvec',\n is_nullable: true,\n is_primary_key: false,\n is_unique: false,\n is_visible: true,\n is_readonly: false,\n is_indexed: false,\n field_order: 1,\n vector_dimension: dimension,\n ...options,\n };\n }\n\n /**\n * Create a sparse vector field definition\n */\n static sparseVectorField(\n name: string,\n dimension: number,\n options: Partial<FieldDefinition> = {}\n ): FieldDefinition {\n return {\n name,\n type: 'sparsevec',\n is_nullable: true,\n is_primary_key: false,\n is_unique: false,\n is_visible: true,\n is_readonly: false,\n is_indexed: false,\n field_order: 1,\n vector_dimension: dimension,\n ...options,\n };\n }\n\n /**\n * Create a basic schema from field definitions\n */\n static createBasicSchema(\n fields: Array<{ name: string; type: FieldType }>\n ): FieldDefinition[] {\n return fields.map((field, index) => ({\n name: field.name,\n type: field.type,\n is_nullable: true,\n is_primary_key: false,\n is_unique: false,\n is_visible: true,\n is_readonly: false,\n is_indexed: false,\n field_order: index + 1,\n }));\n }\n}\n","import {\n ColumnDetails,\n ColumnQueryOptions,\n ColumnUpdateRequest,\n} from '../../types/api/column';\nimport {\n BolticErrorResponse,\n BolticListResponse,\n BolticSuccessResponse,\n} from '../../types/common/responses';\nimport { ColumnResource } from './column';\n\nexport interface ColumnBuilderOptions {\n tableName: string;\n columnResource: ColumnResource;\n}\n\n/**\n * Column Builder - provides a fluent interface for building column queries and operations\n */\nexport class ColumnBuilder {\n private tableName: string;\n private columnResource: ColumnResource;\n private queryOptions: ColumnQueryOptions = {};\n private updateData: ColumnUpdateRequest = {};\n\n constructor(options: ColumnBuilderOptions) {\n this.tableName = options.tableName;\n this.columnResource = options.columnResource;\n }\n\n /**\n * Add filter conditions\n */\n where(conditions: Partial<ColumnQueryOptions['where']>): ColumnBuilder {\n this.queryOptions.where = { ...this.queryOptions.where, ...conditions };\n return this;\n }\n\n /**\n * Set sorting\n */\n orderBy(\n field: keyof ColumnDetails,\n direction: 'asc' | 'desc' = 'asc'\n ): ColumnBuilder {\n if (!this.queryOptions.sort) {\n this.queryOptions.sort = [];\n }\n this.queryOptions.sort.push({ field, order: direction });\n return this;\n }\n\n /**\n * Set limit\n */\n limit(count: number): ColumnBuilder {\n this.queryOptions.limit = count;\n return this;\n }\n\n /**\n * Set offset\n */\n offset(count: number): ColumnBuilder {\n this.queryOptions.offset = count;\n return this;\n }\n\n /**\n * Set fields to select\n */\n select(fields: Array<keyof ColumnDetails>): ColumnBuilder {\n this.queryOptions.fields = fields;\n return this;\n }\n\n /**\n * Set data for update operations\n */\n set(data: ColumnUpdateRequest): ColumnBuilder {\n this.updateData = { ...this.updateData, ...data };\n return this;\n }\n\n /**\n * Execute findAll operation\n */\n async findAll(): Promise<\n BolticListResponse<ColumnDetails> | BolticErrorResponse\n > {\n return this.columnResource.findAll(this.tableName, this.queryOptions);\n }\n\n /**\n * Execute get operation (was findOne) - requires column name\n */\n async get(): Promise<\n BolticSuccessResponse<ColumnDetails> | BolticErrorResponse\n > {\n if (!this.queryOptions.where?.name) {\n return {\n data: {},\n error: {\n code: 'MISSING_COLUMN_NAME',\n message: 'Column name is required for get operation',\n },\n };\n }\n\n return this.columnResource.get(\n this.tableName,\n this.queryOptions.where.name as string\n );\n }\n\n /**\n * Execute update operation - requires column name\n */\n async update(): Promise<\n BolticSuccessResponse<ColumnDetails> | BolticErrorResponse\n > {\n if (!this.queryOptions.where?.name) {\n return {\n data: {},\n error: {\n code: 'MISSING_COLUMN_NAME',\n message: 'Column name is required for update operation',\n },\n };\n }\n\n return this.columnResource.update(\n this.tableName,\n this.queryOptions.where.name as string,\n this.updateData\n );\n }\n\n /**\n * Execute delete operation - requires column name\n */\n async delete(): Promise<\n | BolticSuccessResponse<{ success: boolean; message?: string }>\n | BolticErrorResponse\n > {\n if (!this.queryOptions.where?.name) {\n return {\n data: {},\n error: {\n code: 'MISSING_COLUMN_NAME',\n message: 'Column name is required for delete operation',\n },\n };\n }\n\n return this.columnResource.delete(\n this.tableName,\n this.queryOptions.where.name as string\n );\n }\n\n /**\n * Get the built query options (for debugging)\n */\n getQueryOptions(): ColumnQueryOptions {\n return { ...this.queryOptions };\n }\n\n /**\n * Get the update data (for debugging)\n */\n getUpdateData(): ColumnUpdateRequest {\n return { ...this.updateData };\n }\n}\n\n/**\n * Create a new column builder\n */\nexport function createColumnBuilder(\n options: ColumnBuilderOptions\n): ColumnBuilder {\n return new ColumnBuilder(options);\n}\n","// Main SDK exports\nexport { BolticClient, createClient } from './client';\nexport type { ClientOptions } from './client';\n\n// Type exports for external use\nexport type {\n ColumnDetails,\n ColumnQueryOptions,\n ColumnUpdateRequest,\n} from './types/api/column';\nexport type {\n RecordData,\n RecordDeleteOptions,\n RecordQueryOptions,\n RecordWithId,\n} from './types/api/record';\nexport type {\n FieldDefinition,\n TableCreateRequest,\n TableRecord,\n TableUpdateRequest,\n} from './types/api/table';\n\n// Response types and helpers - Essential for type checking\nexport { isErrorResponse, isListResponse } from './types/common/responses';\nexport type {\n ApiResponse,\n BolticErrorResponse,\n BolticListResponse,\n BolticSuccessResponse,\n BulkResponse,\n ErrorResponse,\n QueryOptions,\n SuccessResponse,\n} from './types/common/responses';\n\n// Pagination and operation types\nexport type { PaginationInfo } from './types/common/operations';\n\n// Utility classes for schema and column management\nexport { ColumnHelpers } from './utils/column/helpers';\nexport { SchemaHelpers } from './utils/table/schema-helpers';\n\n// Filter utilities and constants\nexport {\n buildApiFilters,\n createFilter,\n FILTER_OPERATORS,\n FilterBuilder,\n mapFiltersToWhere,\n mapWhereToFilters,\n normalizeFilters,\n} from './utils/filters/filter-mapper';\nexport type { ApiFilter } from './utils/filters/filter-mapper';\n\n// Builder creation functions\nexport { createColumnBuilder } from './client/resources/column-builder';\nexport { createRecordBuilder } from './client/resources/record-builder';\nexport { createTableBuilder } from './client/resources/table-builder';\n\n// Error handling utilities\nexport {\n ApiError,\n createErrorWithContext,\n formatError,\n getHttpStatusCode,\n isNetworkError,\n ValidationError,\n} from './errors/utils';\nexport type { ValidationFailure } from './errors/utils';\n\n// HTTP adapter types for advanced users\nexport type {\n HttpAdapter,\n HttpRequestConfig,\n HttpResponse,\n} from './utils/http/adapter';\n\n// Testing utilities for SDK users\nexport {\n createErrorResponse,\n createMockResponse,\n createTestClient,\n} from './testing/test-client';\nexport type { MockClientOptions } from './testing/test-client';\n\n// Export all errors\nexport * from './errors';\n\n// Export all types\nexport * from './types';\n\n// SQL exports\nexport * from './client/resources/sql';\n\n// Version information\nexport const VERSION = '1.0.0';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.mjs","sources":["../src/client/index.ts","../src/utils/column/helpers.ts","../src/utils/table/schema-helpers.ts","../src/client/resources/column-builder.ts","../src/index.ts"],"sourcesContent":["import { BolticClient, ClientOptions } from './boltic-client';\n\nexport function createClient(\n apiKey: string,\n options: ClientOptions = {}\n): BolticClient {\n return new BolticClient(apiKey, options);\n}\n\nexport type { Region } from '../types/config/environment';\nexport * from './core/auth-manager';\nexport * from './core/base-client';\nexport * from './core/base-resource';\nexport * from './core/config';\nexport * from './resources/record';\nexport * from './resources/record-builder';\nexport * from './resources/table';\nexport {\n createTableBuilder,\n TableBuilder,\n type TableBuilderOptions,\n} from './resources/table-builder';\nexport { BolticClient };\nexport type { ClientOptions };\n","import {\n ColumnUpdateRequest,\n DateFormatEnum,\n DecimalType,\n PhoneFormatType,\n TimeFormatEnum,\n} from '../../types/api/column';\nimport { FieldDefinition, FieldType } from '../../types/api/table';\n\nexport class ColumnHelpers {\n /**\n * Convert FieldDefinition to ColumnUpdateRequest\n */\n static fieldToUpdateRequest(field: FieldDefinition): ColumnUpdateRequest {\n return {\n name: field.name,\n type: field.type,\n description: field.description,\n is_nullable: field.is_nullable,\n is_unique: field.is_unique,\n is_indexed: field.is_indexed,\n is_visible: field.is_visible,\n is_primary_key: field.is_primary_key,\n is_readonly: field.is_readonly,\n field_order: field.field_order,\n default_value: field.default_value,\n alignment: field.alignment,\n decimals: field.decimals as DecimalType,\n currency_format: field.currency_format,\n selectable_items: field.selectable_items,\n multiple_selections: field.multiple_selections,\n phone_format: field.phone_format as PhoneFormatType,\n date_format: field.date_format as keyof typeof DateFormatEnum,\n time_format: field.time_format as keyof typeof TimeFormatEnum,\n timezone: field.timezone,\n vector_dimension: field.vector_dimension,\n };\n }\n\n /**\n * Apply default values to column definition\n */\n static applyDefaultValues(column: Partial<FieldDefinition>): FieldDefinition {\n if (!column.name || !column.type) {\n throw new Error('Column name and type are required');\n }\n\n return {\n name: column.name,\n type: column.type,\n is_nullable: true,\n is_unique: false,\n is_indexed: false,\n is_primary_key: false,\n is_visible: true,\n is_readonly: false,\n field_order: 1,\n alignment: 'left',\n multiple_selections: false,\n ...column,\n };\n }\n\n /**\n * Create a column definition with proper defaults\n */\n static createColumnDefinition(\n name: string,\n type: FieldType,\n options: Partial<FieldDefinition> = {}\n ): FieldDefinition {\n return this.applyDefaultValues({\n name,\n type,\n ...options,\n });\n }\n\n /**\n * Get column type display name\n */\n static getColumnTypeDisplayName(type: FieldType): string {\n const typeNames: Record<FieldType, string> = {\n text: 'Text',\n 'long-text': 'Long Text',\n number: 'Number',\n currency: 'Currency',\n checkbox: 'Checkbox',\n dropdown: 'Dropdown',\n email: 'Email',\n 'phone-number': 'Phone Number',\n link: 'Link',\n json: 'JSON',\n 'date-time': 'Date & Time',\n vector: 'Vector',\n halfvec: 'Half Vector',\n sparsevec: 'Sparse Vector',\n };\n\n return typeNames[type] || type;\n }\n}\n","import { FieldDefinition, FieldType } from '../../types/api/table';\n\nexport class SchemaHelpers {\n /**\n * Create a text field definition\n */\n static textField(\n name: string,\n options: Partial<FieldDefinition> = {}\n ): FieldDefinition {\n return {\n name,\n type: 'text',\n is_nullable: true,\n is_primary_key: false,\n is_unique: false,\n is_visible: true,\n is_readonly: false,\n is_indexed: false,\n field_order: 1,\n ...options,\n };\n }\n\n /**\n * Create a number field definition\n */\n static numberField(\n name: string,\n options: Partial<FieldDefinition> = {}\n ): FieldDefinition {\n return {\n name,\n type: 'number',\n is_nullable: true,\n is_primary_key: false,\n is_unique: false,\n is_visible: true,\n is_readonly: false,\n is_indexed: false,\n field_order: 1,\n decimals: '0.00',\n ...options,\n };\n }\n\n /**\n * Create a currency field definition\n */\n static currencyField(\n name: string,\n currency: string = 'USD',\n options: Partial<FieldDefinition> = {}\n ): FieldDefinition {\n return {\n name,\n type: 'currency',\n is_nullable: true,\n is_primary_key: false,\n is_unique: false,\n is_visible: true,\n is_readonly: false,\n is_indexed: false,\n field_order: 1,\n decimals: '0.00',\n currency_format: currency,\n ...options,\n };\n }\n\n /**\n * Create a dropdown field definition\n */\n static dropdownField(\n name: string,\n items: string[],\n options: Partial<FieldDefinition> = {}\n ): FieldDefinition {\n return {\n name,\n type: 'dropdown',\n is_nullable: true,\n is_primary_key: false,\n is_unique: false,\n is_visible: true,\n is_readonly: false,\n is_indexed: false,\n field_order: 1,\n selection_source: 'provide-static-list',\n selectable_items: items,\n multiple_selections: false,\n ...options,\n };\n }\n\n /**\n * Create a vector field definition\n */\n static vectorField(\n name: string,\n dimension: number,\n options: Partial<FieldDefinition> = {}\n ): FieldDefinition {\n return {\n name,\n type: 'vector',\n is_nullable: true,\n is_primary_key: false,\n is_unique: false,\n is_visible: true,\n is_readonly: false,\n is_indexed: false,\n field_order: 1,\n vector_dimension: dimension,\n ...options,\n };\n }\n\n /**\n * Create a JSON field definition\n */\n static jsonField(\n name: string,\n options: Partial<FieldDefinition> = {}\n ): FieldDefinition {\n return {\n name,\n type: 'json',\n is_nullable: true,\n is_primary_key: false,\n is_unique: false,\n is_visible: true,\n is_readonly: false,\n is_indexed: false,\n field_order: 1,\n ...options,\n };\n }\n\n /**\n * Create a date-time field definition\n */\n static dateTimeField(\n name: string,\n options: Partial<FieldDefinition> = {}\n ): FieldDefinition {\n return {\n name,\n type: 'date-time',\n is_nullable: true,\n is_primary_key: false,\n is_unique: false,\n is_visible: true,\n is_readonly: false,\n is_indexed: false,\n field_order: 1,\n date_format: 'YYYY-MM-DD',\n time_format: 'HH:mm:ss',\n ...options,\n };\n }\n\n /**\n * Create an email field definition\n */\n static emailField(\n name: string,\n options: Partial<FieldDefinition> = {}\n ): FieldDefinition {\n return {\n name,\n type: 'email',\n is_nullable: true,\n is_primary_key: false,\n is_unique: false,\n is_visible: true,\n is_readonly: false,\n is_indexed: false,\n field_order: 1,\n ...options,\n };\n }\n\n /**\n * Create a long-text field definition\n */\n static longTextField(\n name: string,\n options: Partial<FieldDefinition> = {}\n ): FieldDefinition {\n return {\n name,\n type: 'long-text',\n is_nullable: true,\n is_primary_key: false,\n is_unique: false,\n is_visible: true,\n is_readonly: false,\n is_indexed: false,\n field_order: 1,\n ...options,\n };\n }\n\n /**\n * Create a link field definition\n */\n static linkField(\n name: string,\n options: Partial<FieldDefinition> = {}\n ): FieldDefinition {\n return {\n name,\n type: 'link',\n is_nullable: true,\n is_primary_key: false,\n is_unique: false,\n is_visible: true,\n is_readonly: false,\n is_indexed: false,\n field_order: 1,\n ...options,\n };\n }\n\n /**\n * Create a phone number field definition\n */\n static phoneNumberField(\n name: string,\n format: string = 'international',\n options: Partial<FieldDefinition> = {}\n ): FieldDefinition {\n return {\n name,\n type: 'phone-number',\n is_nullable: true,\n is_primary_key: false,\n is_unique: false,\n is_visible: true,\n is_readonly: false,\n is_indexed: false,\n field_order: 1,\n phone_format: format,\n ...options,\n };\n }\n\n /**\n * Create a checkbox field definition\n */\n static checkboxField(\n name: string,\n options: Partial<FieldDefinition> = {}\n ): FieldDefinition {\n return {\n name,\n type: 'checkbox',\n is_nullable: true,\n is_primary_key: false,\n is_unique: false,\n is_visible: true,\n is_readonly: false,\n is_indexed: false,\n field_order: 1,\n default_value: false,\n ...options,\n };\n }\n\n /**\n * Create a half-vector field definition\n */\n static halfVectorField(\n name: string,\n dimension: number,\n options: Partial<FieldDefinition> = {}\n ): FieldDefinition {\n return {\n name,\n type: 'halfvec',\n is_nullable: true,\n is_primary_key: false,\n is_unique: false,\n is_visible: true,\n is_readonly: false,\n is_indexed: false,\n field_order: 1,\n vector_dimension: dimension,\n ...options,\n };\n }\n\n /**\n * Create a sparse vector field definition\n */\n static sparseVectorField(\n name: string,\n dimension: number,\n options: Partial<FieldDefinition> = {}\n ): FieldDefinition {\n return {\n name,\n type: 'sparsevec',\n is_nullable: true,\n is_primary_key: false,\n is_unique: false,\n is_visible: true,\n is_readonly: false,\n is_indexed: false,\n field_order: 1,\n vector_dimension: dimension,\n ...options,\n };\n }\n\n /**\n * Create a basic schema from field definitions\n */\n static createBasicSchema(\n fields: Array<{ name: string; type: FieldType }>\n ): FieldDefinition[] {\n return fields.map((field, index) => ({\n name: field.name,\n type: field.type,\n is_nullable: true,\n is_primary_key: false,\n is_unique: false,\n is_visible: true,\n is_readonly: false,\n is_indexed: false,\n field_order: index + 1,\n }));\n }\n}\n","import {\n ColumnDetails,\n ColumnQueryOptions,\n ColumnUpdateRequest,\n} from '../../types/api/column';\nimport {\n BolticErrorResponse,\n BolticListResponse,\n BolticSuccessResponse,\n} from '../../types/common/responses';\nimport { ColumnResource } from './column';\n\nexport interface ColumnBuilderOptions {\n tableName: string;\n columnResource: ColumnResource;\n}\n\n/**\n * Column Builder - provides a fluent interface for building column queries and operations\n */\nexport class ColumnBuilder {\n private tableName: string;\n private columnResource: ColumnResource;\n private queryOptions: ColumnQueryOptions = {};\n private updateData: ColumnUpdateRequest = {};\n\n constructor(options: ColumnBuilderOptions) {\n this.tableName = options.tableName;\n this.columnResource = options.columnResource;\n }\n\n /**\n * Add filter conditions\n */\n where(conditions: Partial<ColumnQueryOptions['where']>): ColumnBuilder {\n this.queryOptions.where = { ...this.queryOptions.where, ...conditions };\n return this;\n }\n\n /**\n * Set sorting\n */\n orderBy(\n field: keyof ColumnDetails,\n direction: 'asc' | 'desc' = 'asc'\n ): ColumnBuilder {\n if (!this.queryOptions.sort) {\n this.queryOptions.sort = [];\n }\n this.queryOptions.sort.push({ field, order: direction });\n return this;\n }\n\n /**\n * Set limit\n */\n limit(count: number): ColumnBuilder {\n this.queryOptions.limit = count;\n return this;\n }\n\n /**\n * Set offset\n */\n offset(count: number): ColumnBuilder {\n this.queryOptions.offset = count;\n return this;\n }\n\n /**\n * Set fields to select\n */\n select(fields: Array<keyof ColumnDetails>): ColumnBuilder {\n this.queryOptions.fields = fields;\n return this;\n }\n\n /**\n * Set data for update operations\n */\n set(data: ColumnUpdateRequest): ColumnBuilder {\n this.updateData = { ...this.updateData, ...data };\n return this;\n }\n\n /**\n * Execute findAll operation\n */\n async findAll(): Promise<\n BolticListResponse<ColumnDetails> | BolticErrorResponse\n > {\n return this.columnResource.findAll(this.tableName, this.queryOptions);\n }\n\n /**\n * Execute get operation (was findOne) - requires column name\n */\n async get(): Promise<\n BolticSuccessResponse<ColumnDetails> | BolticErrorResponse\n > {\n if (!this.queryOptions.where?.name) {\n return {\n error: {\n code: 'MISSING_COLUMN_NAME',\n message: 'Column name is required for get operation',\n },\n };\n }\n\n return this.columnResource.get(\n this.tableName,\n this.queryOptions.where.name as string\n );\n }\n\n /**\n * Execute update operation - requires column name\n */\n async update(): Promise<\n BolticSuccessResponse<ColumnDetails> | BolticErrorResponse\n > {\n if (!this.queryOptions.where?.name) {\n return {\n error: {\n code: 'MISSING_COLUMN_NAME',\n message: 'Column name is required for update operation',\n },\n };\n }\n\n return this.columnResource.update(\n this.tableName,\n this.queryOptions.where.name as string,\n this.updateData\n );\n }\n\n /**\n * Execute delete operation - requires column name\n */\n async delete(): Promise<\n | BolticSuccessResponse<{ success: boolean; message?: string }>\n | BolticErrorResponse\n > {\n if (!this.queryOptions.where?.name) {\n return {\n error: {\n code: 'MISSING_COLUMN_NAME',\n message: 'Column name is required for delete operation',\n },\n };\n }\n\n return this.columnResource.delete(\n this.tableName,\n this.queryOptions.where.name as string\n );\n }\n\n /**\n * Get the built query options (for debugging)\n */\n getQueryOptions(): ColumnQueryOptions {\n return { ...this.queryOptions };\n }\n\n /**\n * Get the update data (for debugging)\n */\n getUpdateData(): ColumnUpdateRequest {\n return { ...this.updateData };\n }\n}\n\n/**\n * Create a new column builder\n */\nexport function createColumnBuilder(\n options: ColumnBuilderOptions\n): ColumnBuilder {\n return new ColumnBuilder(options);\n}\n","// Main SDK exports\nexport { BolticClient, createClient } from './client';\nexport type { ClientOptions } from './client';\n\n// Type exports for external use\nexport type {\n ColumnDetails,\n ColumnQueryOptions,\n ColumnUpdateRequest,\n} from './types/api/column';\nexport type {\n RecordData,\n RecordDeleteOptions,\n RecordQueryOptions,\n RecordWithId,\n} from './types/api/record';\nexport type {\n FieldDefinition,\n TableCreateRequest,\n TableRecord,\n TableUpdateRequest,\n} from './types/api/table';\n\n// Response types and helpers - Essential for type checking\nexport { isErrorResponse, isListResponse } from './types/common/responses';\nexport type {\n ApiResponse,\n BolticErrorResponse,\n BolticListResponse,\n BolticSuccessResponse,\n BulkResponse,\n ErrorResponse,\n QueryOptions,\n SuccessResponse,\n} from './types/common/responses';\n\n// Pagination and operation types\nexport type { PaginationInfo } from './types/common/operations';\n\n// Utility classes for schema and column management\nexport { ColumnHelpers } from './utils/column/helpers';\nexport { SchemaHelpers } from './utils/table/schema-helpers';\n\n// Filter utilities and constants\nexport {\n buildApiFilters,\n createFilter,\n FILTER_OPERATORS,\n FilterBuilder,\n mapFiltersToWhere,\n mapWhereToFilters,\n normalizeFilters,\n} from './utils/filters/filter-mapper';\nexport type { ApiFilter } from './utils/filters/filter-mapper';\n\n// Builder creation functions\nexport { createColumnBuilder } from './client/resources/column-builder';\nexport { createRecordBuilder } from './client/resources/record-builder';\nexport { createTableBuilder } from './client/resources/table-builder';\n\n// Error handling utilities\nexport {\n ApiError,\n createErrorWithContext,\n formatError,\n getHttpStatusCode,\n isNetworkError,\n ValidationError,\n} from './errors/utils';\nexport type { ValidationFailure } from './errors/utils';\n\n// HTTP adapter types for advanced users\nexport type {\n HttpAdapter,\n HttpRequestConfig,\n HttpResponse,\n} from './utils/http/adapter';\n\n// Testing utilities for SDK users\nexport {\n createErrorResponse,\n createMockResponse,\n createTestClient,\n} from './testing/test-client';\nexport type { MockClientOptions } from './testing/test-client';\n\n// Export all errors\nexport * from './errors';\n\n// Export all types\nexport * from './types';\n\n// SQL exports\nexport * from './client/resources/sql';\n\n// Version information\nexport const VERSION = '1.0.0';\n"],"names":[],"mappings":"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"}