@kosdev-code/kos-ui-sdk 0.1.0-dev.5167 → 0.1.0-dev.5168

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.
@@ -60,7 +60,9 @@ export interface KosContainerAwareOptions<T extends IKosDataModel = IKosDataMode
60
60
  * active: (device) => device.isOnline
61
61
  * },
62
62
  * parentId: "custom-parent", // Overrides automatic inference
63
- * extensionId: "device-manager"
63
+ * extensionId: "device-manager",
64
+ * maxCapacity: 1000, // Safety net for unbounded growth
65
+ * evictionStrategy: "fifo"
64
66
  * }
65
67
  * })
66
68
  * ```
@@ -92,6 +94,52 @@ export interface KosContainerAwareOptions<T extends IKosDataModel = IKosDataMode
92
94
  parentId?: string;
93
95
  /** Extension identifier for the container */
94
96
  extensionId?: string;
97
+ /**
98
+ * SAFETY NET: Maximum number of models this container can hold.
99
+ * When exceeded, models are automatically evicted and destroyed based on evictionStrategy.
100
+ *
101
+ * **Primary use case**: Prevent memory overflow when cleanup handlers are missing or
102
+ * data becomes inconsistent. Set higher than normal usage to catch edge cases.
103
+ *
104
+ * @example
105
+ * ```typescript
106
+ * containerOptions: {
107
+ * maxCapacity: 10000, // Safety net: expect ~100-1000 normally
108
+ * evictionStrategy: 'fifo'
109
+ * }
110
+ * ```
111
+ */
112
+ maxCapacity?: number;
113
+ /**
114
+ * Strategy for selecting which models to evict when maxCapacity is exceeded.
115
+ *
116
+ * - **fifo** (default): Remove oldest models first - best for event streams, logs
117
+ * - **lru**: Remove least recently accessed models - best for caches
118
+ * - **custom**: Use customEvictionFilter to determine eviction candidates
119
+ *
120
+ * @default 'fifo'
121
+ */
122
+ evictionStrategy?: "fifo" | "lru" | "custom";
123
+ /**
124
+ * Number of models to evict when maxCapacity is exceeded.
125
+ * @default Math.max(10, Math.ceil(maxCapacity * 0.1))
126
+ */
127
+ evictionBatchSize?: number;
128
+ /**
129
+ * Custom filter function for 'custom' eviction strategy.
130
+ * Should return models that are candidates for eviction.
131
+ *
132
+ * @example
133
+ * ```typescript
134
+ * customEvictionFilter: (models) => {
135
+ * return models.filter(m =>
136
+ * m.status === 'resolved' &&
137
+ * Date.now() - m.resolvedAt > 3600000
138
+ * );
139
+ * }
140
+ * ```
141
+ */
142
+ customEvictionFilter?: (models: T[]) => T[];
95
143
  };
96
144
  /**
97
145
  * Custom name for the reactive models array getter.
@@ -1 +1 @@
1
- {"version":3,"file":"kos-container-aware.d.ts","sourceRoot":"","sources":["../../../../../../../packages/sdk/kos-ui-sdk/src/core/core/decorators/kos-container-aware.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEjD,KAAK,YAAY,CAAC,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;AACtC;;;;GAIG;AACH,MAAM,WAAW,wBAAwB,CACvC,CAAC,SAAS,aAAa,GAAG,aAAa;IAEvC;;;;;;;;;;;OAWG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE3B;;;;;;;;;;;OAWG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IAEzB;;;;;;;;;;;OAWG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IAEzB;;;;;;;;;;;;;;;;;OAiBG;IACH,gBAAgB,CAAC,EAAE;QACjB,yCAAyC;QACzC,OAAO,CAAC,EAAE,MAAM,CAAC,CAAC;QAElB;;;;;;;;;;;;;WAaG;QACH,QAAQ,CAAC,EAAE,MAAM,CACf,MAAM,EACN,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,KAAK,YAAY,CAAC,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC,CAAC,CACtE,CAAC;QAEF;;;;;WAKG;QACH,QAAQ,CAAC,EAAE,MAAM,CAAC;QAElB,6CAA6C;QAC7C,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,CAAC;IAEF;;;;;;;;;;;OAWG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB;;;;;;OAMG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwGG;AACH,MAAM,WAAW,iBAAiB,CAAC,CAAC,SAAS,aAAa,GAAG,aAAa;IACxE;;;;OAIG;IACH,SAAS,EAAE,kBAAkB,CAAC,CAAC,CAAC,CAAC;IAEjC;;;;OAIG;IACH,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,CAAC,GAAG,SAAS,CAAC;IAEpC;;;OAGG;IACH,QAAQ,CAAC,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC;IAEzB;;;OAGG;IACH,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IAE9B;;;;;OAKG;IACH,QAAQ,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC,CAAC,CAAC;IAEvC;;;;OAIG;IACH,IAAI,EAAE,CAAC,EAAE,CAAC;CACX;AAED;;;;;GAKG;AACH,MAAM,WAAW,qBAAqB,CACpC,CAAC,SAAS,aAAa,GAAG,aAAa;IAEvC;;;;OAIG;IACH,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,CAAC,GAAG,SAAS,CAAC;IAEpC;;;OAGG;IACH,QAAQ,CAAC,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC;IAEzB;;;OAGG;IACH,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IAE9B;;;;;OAKG;IACH,QAAQ,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC,CAAC,CAAC;IAEvC;;;;OAIG;IACH,IAAI,EAAE,CAAC,EAAE,CAAC;CACX;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqDG;AACH,MAAM,MAAM,yBAAyB,CACnC,CAAC,SAAS,aAAa,GAAG,aAAa,EACvC,CAAC,SAAS,MAAM,GAAG,WAAW,IAC5B,qBAAqB,CAAC,CAAC,CAAC,GAAG;KAC5B,CAAC,IAAI,CAAC,GAAG,kBAAkB,CAAC,CAAC,CAAC;CAChC,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4GG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,aAAa,GAAG,aAAa,EACvE,OAAO,CAAC,EAAE,wBAAwB,CAAC,CAAC,CAAC,GACpC,cAAc,CAuBhB"}
1
+ {"version":3,"file":"kos-container-aware.d.ts","sourceRoot":"","sources":["../../../../../../../packages/sdk/kos-ui-sdk/src/core/core/decorators/kos-container-aware.ts"],"names":[],"mappings":"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"}
@@ -28,11 +28,92 @@ export interface IKosModelContainer<T extends IKosDataModel> extends IKosBaseCon
28
28
  getIndexKeys: (indexName: string) => string[];
29
29
  toJSON?: () => object;
30
30
  }
31
+ /**
32
+ * Eviction strategy for container capacity management
33
+ *
34
+ * - **fifo**: First-In-First-Out - removes oldest models first (default for event streams)
35
+ * - **lru**: Least Recently Used - removes models not accessed recently (good for caches)
36
+ * - **custom**: Uses customEvictionFilter function to determine which models to evict
37
+ *
38
+ * @category Container Capacity Management
39
+ * @see {@link ContainerOptions.maxCapacity}
40
+ * @see {@link ContainerOptions.evictionStrategy}
41
+ */
42
+ export type EvictionStrategy = "fifo" | "lru" | "custom";
31
43
  interface ContainerOptions<T extends IKosDataModel> {
32
44
  sortKey?: keyof T;
33
45
  indexMap?: Record<string, keyof T | IndexMapper<T>>;
34
46
  parentId?: string;
35
47
  extensionId?: string;
48
+ /**
49
+ * SAFETY NET: Maximum number of models this container can hold.
50
+ * When exceeded, models are automatically evicted and destroyed based on evictionStrategy.
51
+ *
52
+ * **Primary use case**: Prevent memory overflow when cleanup handlers are missing or
53
+ * data becomes inconsistent. Set higher than normal usage to catch edge cases.
54
+ *
55
+ * **Eviction is logged**: All automatic evictions are logged at WARNING level
56
+ * to aid in debugging and identifying data inconsistencies.
57
+ *
58
+ * @category Capacity Management
59
+ * @see {@link EvictionStrategy}
60
+ * @see {@link evictionBatchSize}
61
+ *
62
+ * @example
63
+ * ```typescript
64
+ * containerOptions: {
65
+ * maxCapacity: 10000, // Safety net: expect ~100-1000 normally
66
+ * evictionStrategy: 'fifo'
67
+ * }
68
+ * ```
69
+ */
70
+ maxCapacity?: number;
71
+ /**
72
+ * Strategy for selecting which models to evict when maxCapacity is exceeded.
73
+ *
74
+ * - **fifo** (default): Remove oldest models first - best for event streams, logs
75
+ * - **lru**: Remove least recently accessed models - best for caches
76
+ * - **custom**: Use customEvictionFilter to determine eviction candidates
77
+ *
78
+ * @category Capacity Management
79
+ * @see {@link EvictionStrategy}
80
+ * @see {@link maxCapacity}
81
+ * @see {@link customEvictionFilter}
82
+ *
83
+ * @default 'fifo'
84
+ */
85
+ evictionStrategy?: EvictionStrategy;
86
+ /**
87
+ * Number of models to evict when maxCapacity is exceeded.
88
+ * Removing in batches prevents thrashing at the capacity boundary.
89
+ *
90
+ * @category Capacity Management
91
+ * @see {@link maxCapacity}
92
+ *
93
+ * @default Math.max(10, Math.ceil(maxCapacity * 0.1))
94
+ */
95
+ evictionBatchSize?: number;
96
+ /**
97
+ * Custom filter function for 'custom' eviction strategy.
98
+ * Should return models that are candidates for eviction.
99
+ * The container will evict up to evictionBatchSize models from the returned array.
100
+ *
101
+ * @category Capacity Management
102
+ * @see {@link EvictionStrategy}
103
+ * @see {@link maxCapacity}
104
+ *
105
+ * @example
106
+ * ```typescript
107
+ * // Evict resolved troubles older than 1 hour
108
+ * customEvictionFilter: (models) => {
109
+ * return models.filter(m =>
110
+ * m.status === 'resolved' &&
111
+ * Date.now() - m.resolvedAt > 3600000
112
+ * );
113
+ * }
114
+ * ```
115
+ */
116
+ customEvictionFilter?: (models: T[]) => T[];
36
117
  }
37
118
  export declare class KosModelContainer<T extends IKosDataModel> implements IKosModelContainer<T> {
38
119
  _data: Map<string, T>;
@@ -43,6 +124,12 @@ export declare class KosModelContainer<T extends IKosDataModel> implements IKosM
43
124
  private _disposerMap;
44
125
  private _parentId?;
45
126
  idx: KosData<Record<string, Record<string, T[]>>>;
127
+ private _maxCapacity?;
128
+ private _evictionStrategy;
129
+ private _evictionBatchSize;
130
+ private _insertionOrder;
131
+ private _accessTimes?;
132
+ private _customEvictionFilter?;
46
133
  constructor(options?: ContainerOptions<T>);
47
134
  init(): void;
48
135
  [Symbol.iterator](): IterableIterator<T>;
@@ -54,12 +141,84 @@ export declare class KosModelContainer<T extends IKosDataModel> implements IKosM
54
141
  increment(): void;
55
142
  addAll(models: T[]): void;
56
143
  removeAll(ids: string[]): void;
144
+ /**
145
+ * Add a model to the container (Zone 2: Workflow orchestration)
146
+ *
147
+ * @param model - The model to add
148
+ * @param defer - If true, skip incrementing revision (for batch operations)
149
+ */
57
150
  addModel(model: T, defer?: boolean): void;
151
+ /**
152
+ * Persist model to container storage (Zone 3)
153
+ * @private
154
+ */
155
+ private _persistModel;
156
+ /**
157
+ * Track model metadata for capacity management (Zone 3)
158
+ * @private
159
+ */
160
+ private _trackModelMetadata;
161
+ /**
162
+ * Establish parent-child relationships (Zone 3)
163
+ * @private
164
+ */
165
+ private _establishModelRelationships;
166
+ /**
167
+ * Enforce capacity limits and trigger eviction if needed (Zone 3)
168
+ * @private
169
+ */
170
+ private _enforceCapacityLimits;
171
+ /**
172
+ * Configure MobX observers for model property changes (Zone 3)
173
+ * @private
174
+ */
175
+ private _configureModelMonitoring;
58
176
  removeModel(id: string, defer?: boolean): void;
59
177
  updateModel(model: T): void;
60
178
  getModel(id: string): T | undefined;
61
179
  getIndexKeys(indexName: string): string[];
62
180
  getIndexByKey(indexName: string, indexKey: string): T[];
181
+ /**
182
+ * SAFETY NET: Evict models when capacity is exceeded (Zone 2: Workflow orchestration)
183
+ * Logs all evictions at WARNING level for debugging.
184
+ * @private
185
+ */
186
+ private _evictModels;
187
+ /**
188
+ * Log capacity exceeded warning (Zone 3)
189
+ * @private
190
+ */
191
+ private _logCapacityWarning;
192
+ /**
193
+ * Select models for eviction based on strategy (Zone 3)
194
+ * @private
195
+ */
196
+ private _selectModelsForEviction;
197
+ /**
198
+ * Select oldest models for FIFO eviction (Zone 3)
199
+ * @private
200
+ */
201
+ private _selectFifoModels;
202
+ /**
203
+ * Select least recently used models for LRU eviction (Zone 3)
204
+ * @private
205
+ */
206
+ private _selectLruModels;
207
+ /**
208
+ * Select models using custom filter for eviction (Zone 3)
209
+ * @private
210
+ */
211
+ private _selectCustomModels;
212
+ /**
213
+ * Remove and destroy evicted models (Zone 3)
214
+ * @private
215
+ */
216
+ private _removeEvictedModels;
217
+ /**
218
+ * Log eviction completion (Zone 3)
219
+ * @private
220
+ */
221
+ private _logEvictionComplete;
63
222
  clear(): Promise<void>;
64
223
  filter<S extends any>(predicate: (value: any, index: number, array: any[]) => value is S, thisArg?: any): T[];
65
224
  sort(compareFn?: ((a: any, b: any) => number) | undefined): T[];
@@ -1 +1 @@
1
- {"version":3,"file":"kos-container-model.d.ts","sourceRoot":"","sources":["../../../../../../packages/sdk/kos-ui-sdk/src/core/core/kos-container-model.ts"],"names":[],"mappings":"AAUA,OAAO,EAAkB,KAAK,OAAO,EAAE,MAAM,8BAA8B,CAAC;AAG5E,OAAO,EACL,kBAAkB,EAClB,WAAW,EAEZ,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEjD,MAAM,WAAW,iBAAiB,CAAC,CAAC,SAAS,gBAAgB;IAC3D,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,CAAC,EAAE,CAAC;IACV,GAAG,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAClD,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1C,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC,CAAC;IAChD,QAAQ,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,CAAC;IAC7B,WAAW,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,MAAM,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,KAAK,IAAI,CAAC;IAC9B,SAAS,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IACnC,QAAQ,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,CAAC,GAAG,SAAS,CAAC;IACxC,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3B,GAAG,EAAE,CAAC,OAAO,KAAK,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,CAAC;IACrC,MAAM,EAAE,CAAC,OAAO,KAAK,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,CAAC;IAC3C,IAAI,EAAE,CAAC,OAAO,KAAK,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC;IACvC,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,gBAAgB,CAAC,CAAC,CAAC,CAAC;CAC1C;AA2BD,MAAM,WAAW,kBAAkB,CAAC,CAAC,SAAS,aAAa,CACzD,SAAQ,iBAAiB,CAAC,CAAC,CAAC;IAC5B,WAAW,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,CAAC;IAChC,QAAQ,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,CAAC,GAAG,SAAS,CAAC;IACxC,aAAa,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,CAAC,EAAE,CAAC;IAC5D,YAAY,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,MAAM,EAAE,CAAC;IAC9C,MAAM,CAAC,EAAE,MAAM,MAAM,CAAC;CACvB;AAID,UAAU,gBAAgB,CAAC,CAAC,SAAS,aAAa;IAChD,OAAO,CAAC,EAAE,MAAM,CAAC,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;IACpD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AACD,qBAAa,iBAAiB,CAAC,CAAC,SAAS,aAAa,CACpD,YAAW,kBAAkB,CAAC,CAAC,CAAC;IAEhC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IACtB,OAAO,CAAC,QAAQ,CAAC,CAAW;IAC5B,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,MAAM,CAAqC;IACnD,OAAO,CAAC,WAAW,CAAkC;IACrD,OAAO,CAAC,YAAY,CAAsC;IAC1D,OAAO,CAAC,SAAS,CAAC,CAAS;IAC3B,GAAG,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;gBACtC,OAAO,CAAC,EAAE,gBAAgB,CAAC,CAAC,CAAC;IA2BzC,IAAI;IAWJ,CAAC,MAAM,CAAC,QAAQ,CAAC;IAIjB,IAAI,KAAK,uCAER;IACD,IAAI,QAAQ,WAEX;IAED,IAAI,SAAS,yCAOZ;IAED,MAAM,CAAC,CAAC,KAAA,EAAE,CAAC,KAAA,GAAG,MAAM;IAWpB,IAAI,IAAI,QAOP;IAED,SAAS;IAMT,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE;IAOlB,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE;IAOvB,QAAQ,CAAC,KAAK,EAAE,CAAC,EAAE,KAAK,CAAC,EAAE,OAAO;IA2ClC,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO;IAYvC,WAAW,CAAC,KAAK,EAAE,CAAC;IAKpB,QAAQ,CAAC,EAAE,EAAE,MAAM;IAInB,YAAY,CAAC,SAAS,EAAE,MAAM;IAW9B,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM;IAqB3C,KAAK;IAaX,MAAM,CAAC,CAAC,SAAS,GAAG,EAClB,SAAS,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,KAAK,IAAI,CAAC,EAClE,OAAO,CAAC,EAAE,GAAG;IAKf,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,KAAK,MAAM,CAAC,GAAG,SAAS;IAGzD,GAAG,CAAC,CAAC,EACH,UAAU,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,CAAC,EAC1D,OAAO,CAAC,EAAE,GAAG;IAKf,OAAO,CACL,UAAU,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,IAAI,EAC7D,OAAO,CAAC,EAAE,GAAG;IAKf,MAAM;;;;;;;CAYP"}
1
+ {"version":3,"file":"kos-container-model.d.ts","sourceRoot":"","sources":["../../../../../../packages/sdk/kos-ui-sdk/src/core/core/kos-container-model.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { IKosIdentifiable } from './types/model';
2
- import { IKosBaseContainer } from './kos-container-model';
2
+ import { IKosBaseContainer, EvictionStrategy } from './kos-container-model';
3
3
  import { IKosContainerIndex, IndexMapper } from './kos-container-index';
4
4
  import { KosData } from '../util/observable-proxy-map';
5
5
 
@@ -12,6 +12,14 @@ export interface IKosDataContainer<T extends IKosIdentifiable> extends IKosBaseC
12
12
  interface ContainerOptions<T extends IKosIdentifiable> {
13
13
  sortKey?: keyof T;
14
14
  indexMap?: Record<string, keyof T | IndexMapper<T>>;
15
+ /** SAFETY NET: Maximum capacity before eviction */
16
+ maxCapacity?: number;
17
+ /** Eviction strategy when maxCapacity is exceeded */
18
+ evictionStrategy?: EvictionStrategy;
19
+ /** Number of items to evict when capacity exceeded */
20
+ evictionBatchSize?: number;
21
+ /** Custom eviction filter for 'custom' strategy */
22
+ customEvictionFilter?: (models: T[]) => T[];
15
23
  }
16
24
  export declare class KosDataContainer<T extends IKosIdentifiable> implements IKosDataContainer<T> {
17
25
  _data: Map<string, T>;
@@ -21,6 +29,12 @@ export declare class KosDataContainer<T extends IKosIdentifiable> implements IKo
21
29
  private _optionsMap;
22
30
  private _disposerMap;
23
31
  idx: KosData<Record<string, Record<string, T[]>>>;
32
+ private _maxCapacity?;
33
+ private _evictionStrategy;
34
+ private _evictionBatchSize;
35
+ private _insertionOrder;
36
+ private _accessTimes?;
37
+ private _customEvictionFilter?;
24
38
  constructor(options?: ContainerOptions<T>);
25
39
  init(): void;
26
40
  [Symbol.iterator](): IterableIterator<T>;
@@ -32,12 +46,90 @@ export declare class KosDataContainer<T extends IKosIdentifiable> implements IKo
32
46
  sortFn(a: any, b: any): number;
33
47
  get data(): T[];
34
48
  increment(): void;
49
+ /**
50
+ * Add a data object to the container (Zone 2: Workflow orchestration)
51
+ *
52
+ * @param model - The data object to add
53
+ * @param defer - If true, skip incrementing revision (for batch operations)
54
+ */
35
55
  addModel(model: T, defer?: boolean): void;
56
+ /**
57
+ * Ensure data is observable (Zone 3)
58
+ * @private
59
+ */
60
+ private _ensureObservable;
61
+ /**
62
+ * Clean up existing disposer if present (Zone 3)
63
+ * @private
64
+ */
65
+ private _cleanupExistingDisposer;
66
+ /**
67
+ * Persist data to container storage (Zone 3)
68
+ * @private
69
+ */
70
+ private _persistData;
71
+ /**
72
+ * Track data metadata for capacity management (Zone 3)
73
+ * @private
74
+ */
75
+ private _trackDataMetadata;
76
+ /**
77
+ * Enforce capacity limits and trigger eviction if needed (Zone 3)
78
+ * @private
79
+ */
80
+ private _enforceCapacityLimits;
81
+ /**
82
+ * Configure MobX observers for data property changes (Zone 3)
83
+ * @private
84
+ */
85
+ private _configureDataMonitoring;
36
86
  removeModel(id: string): void;
37
87
  updateModel(model: T): void;
38
88
  getModel(id: string): T | undefined;
39
89
  getIndexKeys(indexName: string): string[];
40
90
  getIndexByKey(indexName: string, indexKey: string): T[];
91
+ /**
92
+ * SAFETY NET: Evict data models when capacity is exceeded (Zone 2: Workflow orchestration)
93
+ * Logs all evictions at WARNING level for debugging.
94
+ * Note: Data models are not destroyed (no lifecycle), only removed from container.
95
+ * @private
96
+ */
97
+ private _evictModels;
98
+ /**
99
+ * Log capacity exceeded warning for data container (Zone 3)
100
+ * @private
101
+ */
102
+ private _logDataCapacityWarning;
103
+ /**
104
+ * Select data for eviction based on strategy (Zone 3)
105
+ * @private
106
+ */
107
+ private _selectDataForEviction;
108
+ /**
109
+ * Select oldest data IDs for FIFO eviction (Zone 3)
110
+ * @private
111
+ */
112
+ private _selectFifoData;
113
+ /**
114
+ * Select least recently used data IDs for LRU eviction (Zone 3)
115
+ * @private
116
+ */
117
+ private _selectLruData;
118
+ /**
119
+ * Select data using custom filter for eviction (Zone 3)
120
+ * @private
121
+ */
122
+ private _selectCustomData;
123
+ /**
124
+ * Remove evicted data items (Zone 3)
125
+ * @private
126
+ */
127
+ private _removeEvictedData;
128
+ /**
129
+ * Log eviction completion for data container (Zone 3)
130
+ * @private
131
+ */
132
+ private _logDataEvictionComplete;
41
133
  clear(): Promise<void>;
42
134
  filter<S extends any>(predicate: (value: any, index: number, array: any[]) => value is S, thisArg?: any): T[];
43
135
  sort(compareFn?: ((a: any, b: any) => number) | undefined): T[];
@@ -1 +1 @@
1
- {"version":3,"file":"kos-data-container.d.ts","sourceRoot":"","sources":["../../../../../../packages/sdk/kos-ui-sdk/src/core/core/kos-data-container.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"kos-data-container.d.ts","sourceRoot":"","sources":["../../../../../../packages/sdk/kos-ui-sdk/src/core/core/kos-data-container.ts"],"names":[],"mappings":"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"}