@objectql/sdk 3.0.1 → 4.0.0

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/dist/index.js CHANGED
@@ -1,4 +1,13 @@
1
1
  "use strict";
2
+ /**
3
+ * ObjectQL
4
+ * Copyright (c) 2026-present ObjectStack Inc.
5
+ *
6
+ * This source code is licensed under the MIT license found in the
7
+ * LICENSE file in the root directory of this source tree.
8
+ */
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.MetadataApiClient = exports.DataApiClient = exports.RemoteDriver = void 0;
2
11
  /**
3
12
  * @objectql/sdk - Universal HTTP Client for ObjectQL
4
13
  *
@@ -15,8 +24,6 @@
15
24
  *
16
25
  * @packageDocumentation
17
26
  */
18
- Object.defineProperty(exports, "__esModule", { value: true });
19
- exports.MetadataApiClient = exports.DataApiClient = exports.RemoteDriver = void 0;
20
27
  const types_1 = require("@objectql/types");
21
28
  /**
22
29
  * Polyfill for AbortSignal.timeout if not available (for older browsers)
@@ -43,11 +50,411 @@ function createTimeoutSignal(ms) {
43
50
  }
44
51
  /**
45
52
  * Legacy Driver implementation that uses JSON-RPC style API
53
+ *
54
+ * Implements both the legacy Driver interface from @objectql/types and
55
+ * the standard DriverInterface from @objectstack/spec for compatibility
56
+ * with the new kernel-based plugin system.
57
+ *
58
+ * @version 4.0.0 - DriverInterface compliant
46
59
  */
47
60
  class RemoteDriver {
48
- constructor(baseUrl, rpcPath = '/api/objectql') {
49
- this.baseUrl = baseUrl;
50
- this.rpcPath = rpcPath;
61
+ constructor(baseUrlOrConfig, rpcPath) {
62
+ // Driver metadata (ObjectStack-compatible)
63
+ this.name = 'RemoteDriver';
64
+ this.version = '4.0.0';
65
+ this.supports = {
66
+ transactions: false,
67
+ joins: false,
68
+ fullTextSearch: false,
69
+ jsonFields: true,
70
+ arrayFields: true
71
+ };
72
+ if (typeof baseUrlOrConfig === 'string') {
73
+ // Legacy constructor signature
74
+ this.baseUrl = baseUrlOrConfig;
75
+ this.rpcPath = rpcPath || '/api/objectql';
76
+ this.queryPath = '/api/query';
77
+ this.commandPath = '/api/command';
78
+ this.executePath = '/api/execute';
79
+ this.headers = {};
80
+ this.timeout = 30000;
81
+ this.enableRetry = false;
82
+ this.maxRetries = 3;
83
+ this.enableLogging = false;
84
+ }
85
+ else {
86
+ // New config-based constructor
87
+ const config = baseUrlOrConfig;
88
+ this.baseUrl = config.baseUrl;
89
+ this.rpcPath = config.rpcPath || '/api/objectql';
90
+ this.queryPath = config.queryPath || '/api/query';
91
+ this.commandPath = config.commandPath || '/api/command';
92
+ this.executePath = config.executePath || '/api/execute';
93
+ this.token = config.token;
94
+ this.apiKey = config.apiKey;
95
+ this.headers = config.headers || {};
96
+ this.timeout = config.timeout || 30000;
97
+ this.enableRetry = config.enableRetry || false;
98
+ this.maxRetries = config.maxRetries || 3;
99
+ this.enableLogging = config.enableLogging || false;
100
+ }
101
+ }
102
+ /**
103
+ * Build full endpoint URL
104
+ * @private
105
+ */
106
+ buildEndpoint(path) {
107
+ return `${this.baseUrl.replace(/\/$/, '')}${path}`;
108
+ }
109
+ /**
110
+ * Get authentication headers
111
+ * @private
112
+ */
113
+ getAuthHeaders() {
114
+ const authHeaders = {};
115
+ if (this.token) {
116
+ authHeaders['Authorization'] = `Bearer ${this.token}`;
117
+ }
118
+ if (this.apiKey) {
119
+ authHeaders['X-API-Key'] = this.apiKey;
120
+ }
121
+ return authHeaders;
122
+ }
123
+ /**
124
+ * Handle HTTP errors and convert to ObjectQLError
125
+ * @private
126
+ */
127
+ async handleHttpError(response) {
128
+ let errorMessage = `HTTP ${response.status}: ${response.statusText}`;
129
+ let errorCode = types_1.ApiErrorCode.INTERNAL_ERROR;
130
+ let errorDetails = undefined;
131
+ try {
132
+ const json = await response.json();
133
+ if (json.error) {
134
+ errorMessage = json.error.message || errorMessage;
135
+ errorCode = json.error.code || errorCode;
136
+ errorDetails = json.error.details;
137
+ }
138
+ }
139
+ catch {
140
+ // Could not parse JSON, use default error message
141
+ }
142
+ // Map HTTP status codes to ObjectQL error codes
143
+ if (response.status === 401) {
144
+ errorCode = types_1.ApiErrorCode.UNAUTHORIZED;
145
+ }
146
+ else if (response.status === 403) {
147
+ errorCode = types_1.ApiErrorCode.FORBIDDEN;
148
+ }
149
+ else if (response.status === 404) {
150
+ errorCode = types_1.ApiErrorCode.NOT_FOUND;
151
+ }
152
+ else if (response.status === 400) {
153
+ errorCode = types_1.ApiErrorCode.VALIDATION_ERROR;
154
+ }
155
+ else if (response.status >= 500) {
156
+ errorCode = types_1.ApiErrorCode.INTERNAL_ERROR;
157
+ }
158
+ throw new types_1.ObjectQLError({
159
+ code: errorCode,
160
+ message: errorMessage,
161
+ details: errorDetails
162
+ });
163
+ }
164
+ /**
165
+ * Retry logic with exponential backoff
166
+ * @private
167
+ */
168
+ async retryWithBackoff(fn, attempt = 0) {
169
+ let currentAttempt = attempt;
170
+ while (true) {
171
+ try {
172
+ return await fn();
173
+ }
174
+ catch (error) {
175
+ // Don't retry on client errors (4xx) or if retries are disabled
176
+ if (!this.enableRetry || currentAttempt >= this.maxRetries) {
177
+ throw error;
178
+ }
179
+ // Don't retry on validation or auth errors
180
+ if (error instanceof types_1.ObjectQLError) {
181
+ const nonRetryableCodes = [
182
+ types_1.ApiErrorCode.VALIDATION_ERROR,
183
+ types_1.ApiErrorCode.UNAUTHORIZED,
184
+ types_1.ApiErrorCode.FORBIDDEN,
185
+ types_1.ApiErrorCode.NOT_FOUND
186
+ ];
187
+ if (nonRetryableCodes.includes(error.code)) {
188
+ throw error;
189
+ }
190
+ }
191
+ // Calculate exponential backoff delay
192
+ const delay = Math.min(1000 * Math.pow(2, currentAttempt), 10000);
193
+ if (this.enableLogging) {
194
+ console.log(`Retry attempt ${currentAttempt + 1}/${this.maxRetries} after ${delay}ms delay`);
195
+ }
196
+ await new Promise(resolve => setTimeout(resolve, delay));
197
+ currentAttempt++;
198
+ }
199
+ }
200
+ }
201
+ /**
202
+ * Log request/response if logging is enabled
203
+ * @private
204
+ */
205
+ log(message, data) {
206
+ if (this.enableLogging) {
207
+ console.log(`[RemoteDriver] ${message}`, data || '');
208
+ }
209
+ }
210
+ /**
211
+ * Connect to the remote server (for DriverInterface compatibility)
212
+ */
213
+ async connect() {
214
+ // Test connection with a simple health check
215
+ try {
216
+ await this.checkHealth();
217
+ }
218
+ catch (error) {
219
+ throw new Error(`Failed to connect to remote server: ${error.message}`);
220
+ }
221
+ }
222
+ /**
223
+ * Check remote server connection health
224
+ */
225
+ async checkHealth() {
226
+ try {
227
+ const endpoint = `${this.baseUrl.replace(/\/$/, '')}${this.rpcPath}`;
228
+ const res = await fetch(endpoint, {
229
+ method: 'POST',
230
+ headers: {
231
+ 'Content-Type': 'application/json'
232
+ },
233
+ body: JSON.stringify({
234
+ op: 'ping',
235
+ object: '_health',
236
+ args: {}
237
+ })
238
+ });
239
+ return res.ok;
240
+ }
241
+ catch (error) {
242
+ return false;
243
+ }
244
+ }
245
+ /**
246
+ * Execute a query using QueryAST format (DriverInterface v4.0)
247
+ *
248
+ * Sends a QueryAST to the remote server's /api/query endpoint
249
+ * and returns the query results.
250
+ *
251
+ * @param ast - The QueryAST to execute
252
+ * @param options - Optional execution options
253
+ * @returns Query result with value array and optional count
254
+ *
255
+ * @example
256
+ * ```typescript
257
+ * const result = await driver.executeQuery({
258
+ * object: 'users',
259
+ * fields: ['name', 'email'],
260
+ * filters: {
261
+ * type: 'comparison',
262
+ * field: 'status',
263
+ * operator: '=',
264
+ * value: 'active'
265
+ * },
266
+ * sort: [{ field: 'created_at', order: 'desc' }],
267
+ * top: 10
268
+ * });
269
+ * ```
270
+ */
271
+ async executeQuery(ast, options) {
272
+ return this.retryWithBackoff(async () => {
273
+ const endpoint = this.buildEndpoint(this.queryPath);
274
+ this.log('executeQuery', { endpoint, ast });
275
+ const headers = {
276
+ 'Content-Type': 'application/json',
277
+ ...this.getAuthHeaders(),
278
+ ...this.headers
279
+ };
280
+ const response = await fetch(endpoint, {
281
+ method: 'POST',
282
+ headers,
283
+ body: JSON.stringify(ast),
284
+ signal: createTimeoutSignal(this.timeout)
285
+ });
286
+ if (!response.ok) {
287
+ await this.handleHttpError(response);
288
+ }
289
+ const json = await response.json();
290
+ this.log('executeQuery response', json);
291
+ // Handle both direct data response and wrapped response formats
292
+ if (json.error) {
293
+ throw new types_1.ObjectQLError({
294
+ code: json.error.code || types_1.ApiErrorCode.INTERNAL_ERROR,
295
+ message: json.error.message,
296
+ details: json.error.details
297
+ });
298
+ }
299
+ // Support multiple response formats
300
+ if (json.value !== undefined) {
301
+ return {
302
+ value: Array.isArray(json.value) ? json.value : [json.value],
303
+ count: json.count
304
+ };
305
+ }
306
+ else if (json.data !== undefined) {
307
+ return {
308
+ value: Array.isArray(json.data) ? json.data : [json.data],
309
+ count: json.count || (Array.isArray(json.data) ? json.data.length : 1)
310
+ };
311
+ }
312
+ else if (Array.isArray(json)) {
313
+ return {
314
+ value: json,
315
+ count: json.length
316
+ };
317
+ }
318
+ else {
319
+ return {
320
+ value: [json],
321
+ count: 1
322
+ };
323
+ }
324
+ });
325
+ }
326
+ /**
327
+ * Execute a command using Command format (DriverInterface v4.0)
328
+ *
329
+ * Sends a Command to the remote server's /api/command endpoint
330
+ * for mutation operations (create, update, delete, bulk operations).
331
+ *
332
+ * @param command - The command to execute
333
+ * @param options - Optional execution options
334
+ * @returns Command execution result
335
+ *
336
+ * @example
337
+ * ```typescript
338
+ * // Create a record
339
+ * const result = await driver.executeCommand({
340
+ * type: 'create',
341
+ * object: 'users',
342
+ * data: { name: 'Alice', email: 'alice@example.com' }
343
+ * });
344
+ *
345
+ * // Bulk update
346
+ * const bulkResult = await driver.executeCommand({
347
+ * type: 'bulkUpdate',
348
+ * object: 'users',
349
+ * updates: [
350
+ * { id: '1', data: { status: 'active' } },
351
+ * { id: '2', data: { status: 'inactive' } }
352
+ * ]
353
+ * });
354
+ * ```
355
+ */
356
+ async executeCommand(command, options) {
357
+ return this.retryWithBackoff(async () => {
358
+ const endpoint = this.buildEndpoint(this.commandPath);
359
+ this.log('executeCommand', { endpoint, command });
360
+ const headers = {
361
+ 'Content-Type': 'application/json',
362
+ ...this.getAuthHeaders(),
363
+ ...this.headers
364
+ };
365
+ const response = await fetch(endpoint, {
366
+ method: 'POST',
367
+ headers,
368
+ body: JSON.stringify(command),
369
+ signal: createTimeoutSignal(this.timeout)
370
+ });
371
+ if (!response.ok) {
372
+ await this.handleHttpError(response);
373
+ }
374
+ const json = await response.json();
375
+ this.log('executeCommand response', json);
376
+ // Handle error response
377
+ if (json.error) {
378
+ return {
379
+ success: false,
380
+ error: json.error.message || 'Command execution failed',
381
+ affected: 0
382
+ };
383
+ }
384
+ // Handle standard CommandResult format
385
+ if (json.success !== undefined) {
386
+ return {
387
+ success: json.success,
388
+ data: json.data,
389
+ affected: json.affected || 0,
390
+ error: json.error
391
+ };
392
+ }
393
+ // Handle legacy response formats
394
+ return {
395
+ success: true,
396
+ data: json.data || json,
397
+ affected: json.affected || 1
398
+ };
399
+ });
400
+ }
401
+ /**
402
+ * Execute a custom operation on the remote server
403
+ *
404
+ * Allows calling custom HTTP endpoints with flexible parameters.
405
+ * Useful for custom actions, workflows, or specialized operations.
406
+ *
407
+ * @param endpoint - Optional custom endpoint path (defaults to /api/execute)
408
+ * @param payload - Request payload
409
+ * @param options - Optional execution options
410
+ * @returns Execution result
411
+ *
412
+ * @example
413
+ * ```typescript
414
+ * // Execute a custom workflow
415
+ * const result = await driver.execute('/api/workflows/approve', {
416
+ * workflowId: 'wf_123',
417
+ * comment: 'Approved'
418
+ * });
419
+ *
420
+ * // Use default execute endpoint
421
+ * const result = await driver.execute(undefined, {
422
+ * action: 'calculateMetrics',
423
+ * params: { year: 2024 }
424
+ * });
425
+ * ```
426
+ */
427
+ async execute(endpoint, payload, options) {
428
+ return this.retryWithBackoff(async () => {
429
+ const targetEndpoint = endpoint
430
+ ? this.buildEndpoint(endpoint)
431
+ : this.buildEndpoint(this.executePath);
432
+ this.log('execute', { endpoint: targetEndpoint, payload });
433
+ const headers = {
434
+ 'Content-Type': 'application/json',
435
+ ...this.getAuthHeaders(),
436
+ ...this.headers
437
+ };
438
+ const response = await fetch(targetEndpoint, {
439
+ method: 'POST',
440
+ headers,
441
+ body: payload !== undefined ? JSON.stringify(payload) : undefined,
442
+ signal: createTimeoutSignal(this.timeout)
443
+ });
444
+ if (!response.ok) {
445
+ await this.handleHttpError(response);
446
+ }
447
+ const json = await response.json();
448
+ this.log('execute response', json);
449
+ if (json.error) {
450
+ throw new types_1.ObjectQLError({
451
+ code: json.error.code || types_1.ApiErrorCode.INTERNAL_ERROR,
452
+ message: json.error.message,
453
+ details: json.error.details
454
+ });
455
+ }
456
+ return json;
457
+ });
51
458
  }
52
459
  async request(op, objectName, args) {
53
460
  // Implementation detail: we assume there is a standard endpoint at rpcPath
@@ -70,11 +477,42 @@ class RemoteDriver {
70
477
  }
71
478
  return json.data;
72
479
  }
480
+ /**
481
+ * Normalizes query format to support both legacy UnifiedQuery and QueryAST formats.
482
+ * This ensures backward compatibility while supporting the new @objectstack/spec interface.
483
+ *
484
+ * QueryAST format uses 'top' for limit, while UnifiedQuery uses 'limit'.
485
+ * QueryAST sort is array of {field, order}, while UnifiedQuery is array of [field, order].
486
+ */
487
+ normalizeQuery(query) {
488
+ if (!query)
489
+ return {};
490
+ const normalized = { ...query };
491
+ // Normalize limit/top
492
+ if (normalized.top !== undefined && normalized.limit === undefined) {
493
+ normalized.limit = normalized.top;
494
+ }
495
+ // Normalize sort format
496
+ if (normalized.sort && Array.isArray(normalized.sort)) {
497
+ // Check if it's already in the array format [field, order]
498
+ const firstSort = normalized.sort[0];
499
+ if (firstSort && typeof firstSort === 'object' && !Array.isArray(firstSort)) {
500
+ // Convert from QueryAST format {field, order} to internal format [field, order]
501
+ normalized.sort = normalized.sort.map((item) => [
502
+ item.field,
503
+ item.order || item.direction || item.dir || 'asc'
504
+ ]);
505
+ }
506
+ }
507
+ return normalized;
508
+ }
73
509
  async find(objectName, query, options) {
74
- return this.request('find', objectName, query);
510
+ const normalizedQuery = this.normalizeQuery(query);
511
+ return this.request('find', objectName, normalizedQuery);
75
512
  }
76
513
  async findOne(objectName, id, query, options) {
77
- return this.request('findOne', objectName, { id, query }); // Note: args format must match server expectation
514
+ const normalizedQuery = query ? this.normalizeQuery(query) : undefined;
515
+ return this.request('findOne', objectName, { id, query: normalizedQuery }); // Note: args format must match server expectation
78
516
  }
79
517
  async create(objectName, data, options) {
80
518
  return this.request('create', objectName, data);
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/jest.config.js CHANGED
@@ -1,3 +1,11 @@
1
+ /**
2
+ * ObjectQL
3
+ * Copyright (c) 2026-present ObjectStack Inc.
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
+
1
9
  module.exports = {
2
10
  preset: 'ts-jest',
3
11
  testEnvironment: 'node',
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@objectql/sdk",
3
- "version": "3.0.1",
4
- "description": "Remote HTTP driver for ObjectQL - Universal client for browser, Node.js, and edge runtimes",
3
+ "version": "4.0.0",
4
+ "description": "Remote HTTP driver for ObjectQL - Universal client for browser, Node.js, and edge runtimes with DriverInterface v4.0 compliance",
5
5
  "keywords": [
6
6
  "objectql",
7
7
  "sdk",
@@ -27,6 +27,7 @@
27
27
  "browser": "dist/index.js",
28
28
  "sideEffects": false,
29
29
  "dependencies": {
30
+ "@objectstack/spec": "^0.2.0",
30
31
  "@objectql/types": "3.0.1"
31
32
  },
32
33
  "devDependencies": {