@prestizni-software/server-dem 0.10.2 → 0.11.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/CommonTypes.d.ts CHANGED
@@ -62,6 +62,7 @@ export interface IAutoUpdatedClientObjectBase {
62
62
  export interface IAutoUpdatedClientObject<T extends object = any> extends IAutoUpdatedClientObjectBase {
63
63
  readonly extractedData: ExtractedData<T, IAutoUpdatedClientObject<any>>;
64
64
  getValue<K extends Paths<T, IAutoUpdatedClientObject<any>>>(key: K): PathValueOf<T, K>;
65
+ getValue(key: string): never;
65
66
  setValue<K extends Paths<T, IAutoUpdatedClientObject<any>>>(key: K, val: PathValueOf<IsData<T>, K>): Promise<{
66
67
  success: boolean;
67
68
  msg: string;
@@ -116,11 +117,17 @@ export type ServerResponse<T> = {
116
117
  code?: DEMErrorCode;
117
118
  success: true;
118
119
  related?: Record<string, any[]>;
120
+ updatedArray?: unknown[];
121
+ newRevision?: number;
122
+ newHash?: string;
119
123
  } | {
120
124
  message: string;
121
125
  code?: DEMErrorCode;
122
126
  details?: unknown;
123
127
  success: false;
128
+ updatedArray?: unknown[];
129
+ newRevision?: number;
130
+ newHash?: string;
124
131
  };
125
132
  /**
126
133
  * Lightweight entity descriptor providing human-readable identification before hydration.
@@ -295,6 +302,172 @@ export declare class DEMGlobalCache {
295
302
  }
296
303
  export type GlobalCache = DEMGlobalCache;
297
304
  export declare const globalCache: DEMGlobalCache;
305
+ /**
306
+ * Permitted operation types for DEMArray asynchronous mutations.
307
+ */
308
+ export type DEMArrayMutationOp = "push" | "pop" | "shift" | "unshift" | "splice" | "set" | "reverse" | "sort" | "clear";
309
+ /**
310
+ * Socket payload structure for an array mutation request.
311
+ */
312
+ export type DEMArrayMutationParams = Omit<DEMArrayMutationRequest, "key">;
313
+ export interface DEMArrayMutationRequest {
314
+ /**
315
+ * The specific mutation operator to execute.
316
+ */
317
+ op: DEMArrayMutationOp;
318
+ /**
319
+ * Target property key holding the array.
320
+ */
321
+ key: string;
322
+ /**
323
+ * Optional items to insert or append (primitive values, entity instances, or string IDs).
324
+ */
325
+ items?: unknown[];
326
+ /**
327
+ * Optional anchor entity identifier for positional mutations (splice/set).
328
+ */
329
+ targetId?: string;
330
+ /**
331
+ * Optional list of anchor identifiers for multi-item splices.
332
+ */
333
+ targetIds?: string[];
334
+ /**
335
+ * Optional zero-based target offset.
336
+ */
337
+ index?: number;
338
+ /**
339
+ * Optional count of elements to delete.
340
+ */
341
+ deleteCount?: number;
342
+ /**
343
+ * Monotonic revision counter of the client state prior to mutation.
344
+ */
345
+ baseRevision?: number;
346
+ /**
347
+ * Content hash of the array prior to mutation for concurrency verification.
348
+ */
349
+ baseHash?: string;
350
+ /**
351
+ * Synchronized client timestamp when mutation was initiated.
352
+ */
353
+ clientTimestamp?: number;
354
+ }
355
+ /**
356
+ * Server acknowledgment payload returned for an array mutation request.
357
+ */
358
+ export interface DEMArrayMutationResponse {
359
+ /**
360
+ * Whether the mutation succeeded and was persisted.
361
+ */
362
+ success: boolean;
363
+ /**
364
+ * Optional error code on failure.
365
+ */
366
+ code?: DEMErrorCode;
367
+ /**
368
+ * Optional descriptive message.
369
+ */
370
+ message?: string;
371
+ /**
372
+ * The authoritative updated array state resolved and persisted by the server.
373
+ */
374
+ updatedArray?: unknown[];
375
+ /**
376
+ * Incremented monotonic revision counter after applying the mutation.
377
+ */
378
+ newRevision?: number;
379
+ /**
380
+ * Content hash of the updated array.
381
+ */
382
+ newHash?: string;
383
+ }
384
+ /**
385
+ * Reactive array wrapper for DEM entity array properties.
386
+ * Exposes synchronous ReadonlyArray queries and asynchronous mutation Promises.
387
+ */
388
+ export interface DEMArray<T> extends ReadonlyArray<T> {
389
+ /**
390
+ * Appends elements asynchronously and awaits server persistence.
391
+ *
392
+ * @param items - Elements to append (entity instances, string IDs, or primitive values).
393
+ * @returns Promise resolving to the new length of the array.
394
+ * @throws {DEMError} Throws on network failure, validation rejection, or database error.
395
+ */
396
+ push(...items: (T | string | ObjectId)[]): Promise<number>;
397
+ /**
398
+ * Removes the last element asynchronously and awaits server persistence.
399
+ *
400
+ * @returns Promise resolving to the removed element, or undefined if empty.
401
+ * @throws {DEMError} Throws on server rejection.
402
+ */
403
+ pop(): Promise<T | undefined>;
404
+ /**
405
+ * Removes the first element asynchronously and awaits server persistence.
406
+ *
407
+ * @returns Promise resolving to the removed element, or undefined if empty.
408
+ * @throws {DEMError} Throws on server rejection.
409
+ */
410
+ shift(): Promise<T | undefined>;
411
+ /**
412
+ * Inserts elements at the start asynchronously and awaits server persistence.
413
+ *
414
+ * @param items - Elements to prepend.
415
+ * @returns Promise resolving to the new length of the array.
416
+ * @throws {DEMError} Throws on server rejection.
417
+ */
418
+ unshift(...items: (T | string | ObjectId)[]): Promise<number>;
419
+ /**
420
+ * Removes and/or inserts elements at an index asynchronously and awaits server persistence.
421
+ * Anchors mutations to target element identifiers to eliminate positional drift under concurrency.
422
+ *
423
+ * @param start - Zero-based index at which to start changing the array.
424
+ * @param deleteCount - Number of elements to remove.
425
+ * @param items - Elements to insert.
426
+ * @returns Promise resolving to an array containing the removed elements.
427
+ * @throws {DEMError} Throws on server rejection.
428
+ */
429
+ splice(start: number, deleteCount?: number, ...items: (T | string | ObjectId)[]): Promise<T[]>;
430
+ /**
431
+ * Replaces an element at a specific index asynchronously and awaits server persistence.
432
+ *
433
+ * @param index - Target index to replace.
434
+ * @param item - New value or entity to assign.
435
+ * @returns Promise resolving to the assigned item.
436
+ * @throws {DEMError} Throws on server rejection.
437
+ */
438
+ set(index: number, item: T | string | ObjectId): Promise<T>;
439
+ /**
440
+ * Reverses array elements in place asynchronously and awaits server persistence.
441
+ *
442
+ * @returns Promise resolving to this DEMArray.
443
+ * @throws {DEMError} Throws on server rejection.
444
+ */
445
+ reverse(): Promise<this>;
446
+ /**
447
+ * Sorts array elements in place asynchronously and awaits server persistence.
448
+ *
449
+ * @param compareFn - Optional comparison function determining order.
450
+ * @returns Promise resolving to this DEMArray.
451
+ * @throws {DEMError} Throws on server rejection.
452
+ */
453
+ sort(compareFn?: (a: T, b: T) => number): Promise<this>;
454
+ /**
455
+ * Clears all elements from the array asynchronously and awaits server persistence.
456
+ *
457
+ * @returns Promise resolving once the array is cleared.
458
+ * @throws {DEMError} Throws on server rejection.
459
+ */
460
+ clear(): Promise<void>;
461
+ /**
462
+ * Hydrates all referenced entities in the array up to designated reference depth.
463
+ *
464
+ * @param options - Hydration options containing graph depth.
465
+ * @returns Promise resolving to this DEMArray once all entities are hydrated.
466
+ */
467
+ ensureLoaded(options?: {
468
+ depth?: number;
469
+ }): Promise<this>;
470
+ }
298
471
  export * from "./sync/types.js";
299
472
  export * from "./sync/storage/IClientStorageAdapter.js";
300
473
  export * from "./sync/storage/MemoryStorageAdapter.js";
@@ -1 +1 @@
1
- {"version":3,"file":"CommonTypes.js","sourceRoot":"","sources":["../CommonTypes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CommonTypes.js","sourceRoot":"","sources":["../CommonTypes.ts"],"names":[],"mappings":"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"}
package/DEMErrors.d.ts CHANGED
@@ -37,6 +37,9 @@ export declare enum DEMErrorCode {
37
37
  STORAGE_NOT_SUPPORTED = "DEM_ERR_STORAGE_NOT_SUPPORTED",
38
38
  STORAGE_OPERATION_FAILED = "DEM_ERR_STORAGE_OPERATION_FAILED",
39
39
  DELTA_SYNC_FAILED = "DEM_ERR_DELTA_SYNC_FAILED",
40
+ ARRAY_MUTATION_FAILED = "DEM_ERR_ARRAY_MUTATION_FAILED",
41
+ CONCURRENT_MODIFICATION = "DEM_ERR_CONCURRENT_MODIFICATION",
42
+ INDEX_OUT_OF_BOUNDS = "DEM_ERR_INDEX_OUT_OF_BOUNDS",
40
43
  INTERNAL_ERROR = "DEM_ERR_INTERNAL_ERROR"
41
44
  }
42
45
  /**
package/DEMErrors.js CHANGED
@@ -45,6 +45,10 @@ export var DEMErrorCode;
45
45
  DEMErrorCode["STORAGE_NOT_SUPPORTED"] = "DEM_ERR_STORAGE_NOT_SUPPORTED";
46
46
  DEMErrorCode["STORAGE_OPERATION_FAILED"] = "DEM_ERR_STORAGE_OPERATION_FAILED";
47
47
  DEMErrorCode["DELTA_SYNC_FAILED"] = "DEM_ERR_DELTA_SYNC_FAILED";
48
+ // Array and mutation errors
49
+ DEMErrorCode["ARRAY_MUTATION_FAILED"] = "DEM_ERR_ARRAY_MUTATION_FAILED";
50
+ DEMErrorCode["CONCURRENT_MODIFICATION"] = "DEM_ERR_CONCURRENT_MODIFICATION";
51
+ DEMErrorCode["INDEX_OUT_OF_BOUNDS"] = "DEM_ERR_INDEX_OUT_OF_BOUNDS";
48
52
  // General internal error
49
53
  DEMErrorCode["INTERNAL_ERROR"] = "DEM_ERR_INTERNAL_ERROR";
50
54
  })(DEMErrorCode || (DEMErrorCode = {}));
@@ -87,6 +91,9 @@ export const DEM_ERROR_DESCRIPTIONS = {
87
91
  [DEMErrorCode.STORAGE_NOT_SUPPORTED]: "Storage adapter is not supported in this runtime environment.",
88
92
  [DEMErrorCode.STORAGE_OPERATION_FAILED]: "Storage read or write operation failed.",
89
93
  [DEMErrorCode.DELTA_SYNC_FAILED]: "Delta synchronization reconciliation failed.",
94
+ [DEMErrorCode.ARRAY_MUTATION_FAILED]: "Array mutation operation failed.",
95
+ [DEMErrorCode.CONCURRENT_MODIFICATION]: "Concurrent modification conflict detected.",
96
+ [DEMErrorCode.INDEX_OUT_OF_BOUNDS]: "Specified array index is out of bounds.",
90
97
  [DEMErrorCode.INTERNAL_ERROR]: "Internal DEM library error occurred.",
91
98
  };
92
99
  /**
package/DEMErrors.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"DEMErrors.js","sourceRoot":"","sources":["../DEMErrors.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DEMErrors.js","sourceRoot":"","sources":["../DEMErrors.ts"],"names":[],"mappings":"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"}
package/README.md CHANGED
@@ -45,6 +45,14 @@ DEM isolates responsibilities into two distinct packages:
45
45
  - Resolves entity relations through `@populatedRef` decorators.
46
46
  - Supports self-contained snapshot entities using raw `@classProp` attributes.
47
47
 
48
+ ### 5. Reactive DEMArray Wrappers (v0.11.0+)
49
+ - Wraps primitive and relational arrays in `DEMArray<T>`.
50
+ - Provides synchronous queries (`length`, `map`, `filter`, `find`, `includes`, `slice`).
51
+ - Intercepts mutations (`push`, `pop`, `shift`, `unshift`, `splice`, `set`, `reverse`, `sort`, `clear`) returning Promises.
52
+ - Executes mutations pessimistically after server confirmation.
53
+ - Uses element-anchored operations (`targetId`) to eliminate index-drift under concurrent writes.
54
+ - Synchronizes client and server clocks using Cristian's algorithm during handshake.
55
+
48
56
  ---
49
57
 
50
58
  ## Packages
@@ -153,6 +161,7 @@ await task.setValue("completed", true);
153
161
  Detailed architectural guides exist in the `docs/` directory:
154
162
  - [Object Loading Process](docs/LOADING_PROCESS.md)
155
163
  - [ADR 0001: Smart Lazy Loading & Static Snapshots](docs/adr/0001-smart-lazy-loading-and-static-snapshots.md)
164
+ - [ADR 0002: DEMArray Reactive Mutation Architecture](docs/adr/0002-demarray-reactive-mutation-architecture.md)
156
165
  - [Delta Synchronization Architecture](docs/DELTA_SYNC_ARCHITECTURE.md)
157
166
  - [Delta Synchronization User Guide](docs/DELTA_SYNC.md)
158
167
  - [Database States and Error Handling](docs/ERRORS_AND_DB_STATE.md)
package/jest.config.js CHANGED
@@ -1,15 +1,13 @@
1
1
  const config = {
2
- globals: {
3
- "ts-jest": {
4
- useESM: true
5
- }
2
+ transform: {
3
+ '\\.[jt]s?$': ['ts-jest', { useESM: true, tsconfig: { allowJs: true } }],
6
4
  },
7
- transform: { '\\.[jt]s?$': ['ts-jest', { tsconfig: { allowJs: true } }] },
8
5
  preset: 'ts-jest/presets/default-esm',
9
6
  roots: ["tests/"],
10
7
  modulePathIgnorePatterns: [
11
8
  "node_modules/"
12
- ], moduleNameMapper: {
9
+ ],
10
+ moduleNameMapper: {
13
11
  '^(\\.{1,2}/.*)\\.[jt]s$': '$1',
14
12
  },
15
13
  };
@@ -1 +1 @@
1
- {"version":3,"file":"jest.config.js","sourceRoot":"","sources":["../jest.config.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,GAAyB;IACjC,OAAO,EAAE;QACL,SAAS,EAAE;YACP,MAAM,EAAE,IAAI;SACf;KACJ;IACD,SAAS,EAAE,EAAE,YAAY,EAAE,CAAC,SAAS,EAAE,EAAE,QAAQ,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC,EAAE;IACzE,MAAM,EAAE,6BAA6B;IACrC,KAAK,EAAE,CAAC,QAAQ,CAAC;IACjB,wBAAwB,EAAE;QACtB,eAAe;KAClB,EAAE,gBAAgB,EAAE;QACrB,yBAAyB,EAAE,IAAI;KAChC;CACF,CAAC;AAEF,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"jest.config.js","sourceRoot":"","sources":["../jest.config.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,GAAyB;IACjC,SAAS,EAAE;QACP,YAAY,EAAE,CAAC,SAAS,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC;KAC3E;IACD,MAAM,EAAE,6BAA6B;IACrC,KAAK,EAAE,CAAC,QAAQ,CAAC;IACjB,wBAAwB,EAAE;QACtB,eAAe;KAClB;IACD,gBAAgB,EAAE;QACd,yBAAyB,EAAE,IAAI;KAClC;CACJ,CAAC;AAEF,eAAe,MAAM,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@prestizni-software/server-dem",
3
- "version": "0.10.2",
3
+ "version": "0.11.0",
4
4
  "description": "Real-time server synchronization library for DEM",
5
5
  "type": "module",
6
6
  "main": "./server.js",
@@ -1,6 +1,6 @@
1
1
  import { DeltaSyncPayload } from "./types.js";
2
2
  import { IClientStorageAdapter } from "./storage/IClientStorageAdapter.js";
3
- import { IAutoUpdatedClientObjectBase } from "../CommonTypes.js";
3
+ import { EntityDescriptor, IAutoUpdatedClientObjectBase } from "../CommonTypes.js";
4
4
  export interface ReconcilableClientManager<T extends IAutoUpdatedClientObjectBase = IAutoUpdatedClientObjectBase> {
5
5
  className: string;
6
6
  classParam: any;
@@ -15,6 +15,8 @@ export interface ReconcilableClientManager<T extends IAutoUpdatedClientObjectBas
15
15
  totalObjects: number;
16
16
  loadedObjects: number;
17
17
  isLoaded_: boolean;
18
+ manifest?: EntityDescriptor[];
19
+ isLazyLoadingEnabled?: boolean;
18
20
  getObject(id: string): T | undefined;
19
21
  deleteObject(id: any, isRemote?: boolean): Promise<any>;
20
22
  registerDynamicProperty?(prop: string): void;
@@ -33,9 +33,16 @@ export class ClientStateReconciler {
33
33
  }
34
34
  }
35
35
  }
36
+ if (state.manifest && Array.isArray(state.manifest)) {
37
+ manager.manifest = [...state.manifest];
38
+ }
36
39
  for (const id of state.ids) {
37
40
  const objData = objectMap.get(id);
38
41
  const instance = new manager.classParam(manager.classParam, manager.socket, objData || id, manager.loggers, manager.className, manager, manager.callbacks, manager.emitter);
42
+ if (objData && objData.__isLazyStub) {
43
+ instance.isLazyStub = true;
44
+ instance.descriptor = objData.descriptor;
45
+ }
39
46
  manager.objects_[id] = instance;
40
47
  globalCache.objects[id] = {
41
48
  className: manager.className,
@@ -71,10 +78,26 @@ export class ClientStateReconciler {
71
78
  const objectsAsArray = manager.objectsAsArray;
72
79
  const ids = objectsAsArray.map((o) => (o._id ? o._id.toString() : o.data?._id?.toString())).filter(Boolean);
73
80
  const objects = objectsAsArray.map((o) => {
81
+ const idStr = o._id ? o._id.toString() : (o.data?._id?.toString() ?? "unknown");
82
+ if (o.isLazyStub) {
83
+ return {
84
+ _id: idStr,
85
+ __isLazyStub: true,
86
+ descriptor: o.descriptor,
87
+ };
88
+ }
74
89
  if (typeof o.extractedData !== "undefined") {
75
- return o.extractedData;
90
+ const extracted = { ...o.extractedData };
91
+ if (!extracted._id && idStr !== "unknown") {
92
+ extracted._id = idStr;
93
+ }
94
+ return extracted;
95
+ }
96
+ const data = o.data ? { ...o.data } : { _id: idStr };
97
+ if (!data._id && idStr !== "unknown") {
98
+ data._id = idStr;
76
99
  }
77
- return o.data || { _id: o._id ? o._id.toString() : "unknown" };
100
+ return data;
78
101
  });
79
102
  const state = {
80
103
  className: manager.className,
@@ -82,6 +105,7 @@ export class ClientStateReconciler {
82
105
  ids,
83
106
  objects,
84
107
  properties: manager.properties || [],
108
+ manifest: manager.manifest ? [...manager.manifest] : undefined,
85
109
  savedAt: Date.now(),
86
110
  };
87
111
  await storageAdapter.saveManagerState(manager.className, state);
@@ -111,6 +135,9 @@ export class ClientStateReconciler {
111
135
  if ("_cachedObjectsArray" in manager) {
112
136
  manager._cachedObjectsArray = null;
113
137
  }
138
+ if (manager.manifest && Array.isArray(manager.manifest)) {
139
+ manager.manifest = manager.manifest.filter((m) => String(m._id) !== String(id));
140
+ }
114
141
  manager.callbacks?.delete?.(manager);
115
142
  }
116
143
  }
@@ -126,6 +153,23 @@ export class ClientStateReconciler {
126
153
  className: manager.className,
127
154
  object: instance,
128
155
  };
156
+ if (manager.manifest && Array.isArray(manager.manifest)) {
157
+ let desc;
158
+ if (typeof manager.classParam?.getDescriptor === "function") {
159
+ try {
160
+ desc = manager.classParam.getDescriptor(change.data ?? {});
161
+ }
162
+ catch {
163
+ desc = id;
164
+ }
165
+ }
166
+ else {
167
+ desc = id;
168
+ }
169
+ if (!manager.manifest.some((m) => String(m._id) === String(id))) {
170
+ manager.manifest.push({ _id: id, description: desc });
171
+ }
172
+ }
129
173
  manager.totalObjects += 1;
130
174
  manager.loadedObjects += 1;
131
175
  manager.callbacks?.new?.(instance);
@@ -1 +1 @@
1
- {"version":3,"file":"ClientStateReconciler.js","sourceRoot":"","sources":["../../sync/ClientStateReconciler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ClientStateReconciler.js","sourceRoot":"","sources":["../../sync/ClientStateReconciler.ts"],"names":[],"mappings":"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"}
package/sync/types.d.ts CHANGED
@@ -1,3 +1,4 @@
1
+ import { EntityDescriptor } from "../CommonTypes.js";
1
2
  /**
2
3
  * Core types and interfaces for DEM Delta Synchronization & Change Tracking.
3
4
  */
@@ -48,6 +49,7 @@ export interface StoredManagerState<T = unknown> {
48
49
  objects: T[];
49
50
  properties: string[];
50
51
  savedAt: number;
52
+ manifest?: EntityDescriptor[];
51
53
  }
52
54
  export interface ClientDeltaSyncOptions {
53
55
  /**
package/sync/types.js CHANGED
@@ -1,5 +1,2 @@
1
- /**
2
- * Core types and interfaces for DEM Delta Synchronization & Change Tracking.
3
- */
4
1
  export {};
5
2
  //# sourceMappingURL=types.js.map
package/sync/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../sync/types.ts"],"names":[],"mappings":"AAAA;;GAEG"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../sync/types.ts"],"names":[],"mappings":""}
package/version.d.ts CHANGED
@@ -1,20 +1,20 @@
1
1
  /**
2
2
  * Current version of @prestizni-software/client-dem.
3
3
  */
4
- export declare const DEM_CLIENT_VERSION = "0.10.2";
4
+ export declare const DEM_CLIENT_VERSION = "0.11.0";
5
5
  /**
6
6
  * Current version of @prestizni-software/server-dem.
7
7
  */
8
- export declare const DEM_SERVER_VERSION = "0.10.2";
8
+ export declare const DEM_SERVER_VERSION = "0.11.0";
9
9
  /**
10
10
  * Lowest client version that the server is compatible with.
11
11
  * Server patches do not increment this value unless breaking compatibility.
12
12
  */
13
- export declare const DEM_MIN_COMPATIBLE_CLIENT_VERSION = "0.10.0";
13
+ export declare const DEM_MIN_COMPATIBLE_CLIENT_VERSION = "0.11.0";
14
14
  /**
15
15
  * Global DEM version constant indicating minimum compatible client version.
16
16
  */
17
- export declare const DEM_VERSION = "0.10.0";
17
+ export declare const DEM_VERSION = "0.11.0";
18
18
  /**
19
19
  * Socket protocol version for DEM communications.
20
20
  */
package/version.js CHANGED
@@ -1,16 +1,16 @@
1
1
  /**
2
2
  * Current version of @prestizni-software/client-dem.
3
3
  */
4
- export const DEM_CLIENT_VERSION = "0.10.2";
4
+ export const DEM_CLIENT_VERSION = "0.11.0";
5
5
  /**
6
6
  * Current version of @prestizni-software/server-dem.
7
7
  */
8
- export const DEM_SERVER_VERSION = "0.10.2";
8
+ export const DEM_SERVER_VERSION = "0.11.0";
9
9
  /**
10
10
  * Lowest client version that the server is compatible with.
11
11
  * Server patches do not increment this value unless breaking compatibility.
12
12
  */
13
- export const DEM_MIN_COMPATIBLE_CLIENT_VERSION = "0.10.0";
13
+ export const DEM_MIN_COMPATIBLE_CLIENT_VERSION = "0.11.0";
14
14
  /**
15
15
  * Global DEM version constant indicating minimum compatible client version.
16
16
  */