@kosdev-code/kos-ui-sdk 0.1.0-dev.5070 → 0.1.0-dev.5072

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,4 +1,5 @@
1
1
  import { KosExecutionContext } from './kos-execution-context';
2
+ import { KosModelRegistrationType } from '../registration/model-registration';
2
3
  import { IKosDataModel } from '../kosModel';
3
4
  import { ClientBody, ClientParams } from '../../util/kos-service-request';
4
5
  import { ResponseCacheConfig } from '../../types/service-response-store';
@@ -184,13 +185,25 @@ export interface IKosServiceRequestParams<Paths extends Record<string, any> = Re
184
185
  */
185
186
  iterateOver?: string;
186
187
  /**
187
- * Model factory to create instances from array items
188
- * Used with iterateOver to create child models
188
+ * Model registration object for creating instances from array items
189
+ * Used with iterateOver to create child models using the builder pattern
189
190
  *
190
191
  * @example
191
- * modelFactory: Ingredient.factory
192
+ * modelFactory: IngredientModel // The registration object itself
193
+ *
194
+ * deprecated The old curried function signature is deprecated:
195
+ * modelFactory?: (id: string) => (options: any) => IKosDataModel
196
+ */
197
+ modelFactory?: KosModelRegistrationType<IKosDataModel, Record<string, unknown>> | ((id: string) => (options: unknown) => IKosDataModel);
198
+ /**
199
+ * Function to extract the model ID from response data items
200
+ * Required when using modelFactory if items don't have an 'id' field
201
+ *
202
+ * @example
203
+ * idExtractor: (item) => item.ingredientId
204
+ * idExtractor: (item) => `${item.type}-${item.index}`
192
205
  */
193
- modelFactory?: (id: string) => (options: any) => IKosDataModel;
206
+ idExtractor?: (item: any) => string;
194
207
  /**
195
208
  * Field mappings for data transformation
196
209
  * Same format as @kosTopicHandler mappings
@@ -1 +1 @@
1
- {"version":3,"file":"kos-service-request.d.ts","sourceRoot":"","sources":["../../../../../../../packages/sdk/kos-ui-sdk/src/core/core/decorators/kos-service-request.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"kos-service-request.d.ts","sourceRoot":"","sources":["../../../../../../../packages/sdk/kos-ui-sdk/src/core/core/decorators/kos-service-request.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import { FlowControlOptions } from './kos-topic-handler-flow-control';
2
2
  import { IKosDataModel } from '../kosModel';
3
+ import { BaselineDependency } from '../../types/service-response-store';
3
4
  import { DependencyLifecycle } from '../../types';
4
5
  import { ApiCallback } from '../../../common/events';
5
6
 
@@ -10,15 +11,15 @@ export interface ApiCallbackWithWildcard<T = string> extends ApiCallback<T> {
10
11
  wildcardCapture?: Record<string, string>;
11
12
  }
12
13
  /**
13
- * Utility function to extract trailing wildcard from a topic pattern and actual topic
14
+ * Zone 3: Parses wildcard segment from topic pattern and actual topic
14
15
  * @internal - exported for testing
15
16
  */
16
- export declare function extractTrailingWildcard(pattern: string, actualTopic: string, wildcardName?: string): Record<string, string>;
17
+ export declare function parseWildcardSegment(pattern: string, actualTopic: string, wildcardName?: string): Record<string, string>;
17
18
  /**
18
- * Check if a topic pattern has a trailing wildcard
19
+ * Zone 3: Checks if topic pattern has trailing wildcard
19
20
  * @internal - exported for testing
20
21
  */
21
- export declare function hasTrailingWildcard(pattern: string): boolean;
22
+ export declare function checkWildcardPattern(pattern: string): boolean;
22
23
  /**
23
24
  * Configuration parameters for defining a Kos topic handler function within a Kos Data Model class.
24
25
  *
@@ -153,6 +154,33 @@ export interface IKosTopicHandlerParams<Response = any, Model extends IKosDataMo
153
154
  * ```
154
155
  */
155
156
  flow?: FlowControlOptions<Response, TransformedResponse>;
157
+ /**
158
+ * Baseline dependency configuration for baseline-delta race condition handling.
159
+ * When specified, this handler will wait for the baseline service request to complete
160
+ * before processing events, and will intelligently replay queued events based on
161
+ * temporal comparison with the baseline request/response timing.
162
+ *
163
+ * @example
164
+ * ```typescript
165
+ * @kosTopicHandler({
166
+ * topic: TOPIC_INGREDIENT_UPDATE,
167
+ * websocket: true,
168
+ * lifecycle: DependencyLifecycle.READY,
169
+ * requiresBaseline: {
170
+ * path: PATH_INGREDIENTS,
171
+ * method: 'get',
172
+ * replayStrategy: 'after-request'
173
+ * }
174
+ * })
175
+ * handleIngredientUpdate(payload: IngredientUpdatePayload) {
176
+ * // Framework guarantees:
177
+ * // 1. Baseline loaded before this handler executes
178
+ * // 2. Queued events replayed with temporal filtering
179
+ * // 3. Only events newer than baseline are processed
180
+ * }
181
+ * ```
182
+ */
183
+ requiresBaseline?: BaselineDependency;
156
184
  }
157
185
  /**
158
186
  * Decorator for defining a Kos topic handler function within a Kos Data Model class.
@@ -216,5 +244,5 @@ export interface IKosTopicHandlerParams<Response = any, Model extends IKosDataMo
216
244
  * ```
217
245
  * @category KOS Model Decorator
218
246
  */
219
- export declare function kosTopicHandler<Response = any, Model extends IKosDataModel = any, TransformedResponse = Response>({ topic, condition, transform, websocket, fos, bridge, skipParse, lifecycle, destinationAddress, debounce, throttle, buffer, filter, once, replay, wildcardName, flow, }: IKosTopicHandlerParams<Response, Model, TransformedResponse>): (target: any, _propertyKey: string, descriptor: PropertyDescriptor) => void;
247
+ export declare function kosTopicHandler<Response = any, Model extends IKosDataModel = any, TransformedResponse = Response>(params: IKosTopicHandlerParams<Response, Model, TransformedResponse>): (target: any, _propertyKey: string, descriptor: PropertyDescriptor) => void;
220
248
  //# sourceMappingURL=kosTopicHandler.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"kosTopicHandler.d.ts","sourceRoot":"","sources":["../../../../../../../packages/sdk/kos-ui-sdk/src/core/core/decorators/kosTopicHandler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"kosTopicHandler.d.ts","sourceRoot":"","sources":["../../../../../../../packages/sdk/kos-ui-sdk/src/core/core/decorators/kosTopicHandler.ts"],"names":[],"mappings":"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"}
@@ -1,15 +1,92 @@
1
+ import { ReplayStrategy } from '../../types/service-response-store';
2
+
1
3
  export interface KosOfflineQueueLogger {
2
4
  info: (...args: any[]) => void;
3
5
  warn: (...args: any[]) => void;
4
6
  error: (...args: any[]) => void;
5
7
  debug: (...args: any[]) => void;
6
8
  }
9
+ /**
10
+ * Queued event with temporal metadata
11
+ */
12
+ export interface QueuedEvent {
13
+ /**
14
+ * Event handler function
15
+ */
16
+ handler: () => void;
17
+ /**
18
+ * When this event was received at the framework (timestamp)
19
+ * Used for baseline-delta temporal filtering
20
+ */
21
+ receivedAt: number;
22
+ /**
23
+ * Topic this event was received on (for debugging)
24
+ */
25
+ topic?: string;
26
+ /**
27
+ * Event payload (for debugging)
28
+ */
29
+ payload?: any;
30
+ }
31
+ /**
32
+ * Statistics about queued events
33
+ */
34
+ export interface QueueStatistics {
35
+ /**
36
+ * Total events in queue
37
+ */
38
+ total: number;
39
+ /**
40
+ * Oldest event timestamp
41
+ */
42
+ oldestEventAt?: number;
43
+ /**
44
+ * Newest event timestamp
45
+ */
46
+ newestEventAt?: number;
47
+ /**
48
+ * Events that would be replayed with AFTER_REQUEST strategy
49
+ */
50
+ afterRequest?: number;
51
+ /**
52
+ * Events that would be replayed with AFTER_RESPONSE strategy
53
+ */
54
+ afterResponse?: number;
55
+ }
7
56
  export declare class KosOfflineQueue {
8
57
  private log;
9
58
  private queue;
10
59
  constructor(log: KosOfflineQueueLogger);
11
- enqueue(handler: () => void): void;
60
+ /**
61
+ * Enqueue an event handler with temporal tracking
62
+ *
63
+ * @param handler - Event handler function
64
+ * @param topic - Optional topic for debugging
65
+ * @param payload - Optional payload for debugging
66
+ */
67
+ enqueue(handler: () => void, topic?: string, payload?: any): void;
68
+ /**
69
+ * Flush all queued events (original behavior for backward compatibility)
70
+ */
12
71
  flush(): void;
72
+ /**
73
+ * Flush queued events with temporal filtering strategy
74
+ * Used for baseline-delta race condition handling
75
+ *
76
+ * @param strategy - Replay strategy to use
77
+ * @param baselineRequestedAt - When baseline request was sent (for AFTER_REQUEST)
78
+ * @param baselineReceivedAt - When baseline response received (for AFTER_RESPONSE)
79
+ */
80
+ flushWithStrategy(strategy: ReplayStrategy, baselineRequestedAt?: number, baselineReceivedAt?: number): void;
81
+ /**
82
+ * Filter events based on replay strategy
83
+ * @private
84
+ */
85
+ private filterEventsByStrategy;
86
+ /**
87
+ * Get queue statistics for monitoring
88
+ */
89
+ getStatistics(baselineRequestedAt?: number, baselineReceivedAt?: number): QueueStatistics;
13
90
  clear(): void;
14
91
  get length(): number;
15
92
  get isEmpty(): boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"kos-offline-queue.d.ts","sourceRoot":"","sources":["../../../../../../../packages/sdk/kos-ui-sdk/src/core/core/model/kos-offline-queue.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;IAC/B,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;IAC/B,KAAK,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;IAChC,KAAK,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;CACjC;AAED,qBAAa,eAAe;IAGd,OAAO,CAAC,GAAG;IAFvB,OAAO,CAAC,KAAK,CAAsB;gBAEf,GAAG,EAAE,qBAAqB;IAE9C,OAAO,CAAC,OAAO,EAAE,MAAM,IAAI,GAAG,IAAI;IAIlC,KAAK,IAAI,IAAI;IAgBb,KAAK,IAAI,IAAI;IAIb,IAAI,MAAM,IAAI,MAAM,CAEnB;IAED,IAAI,OAAO,IAAI,OAAO,CAErB;CACF"}
1
+ {"version":3,"file":"kos-offline-queue.d.ts","sourceRoot":"","sources":["../../../../../../../packages/sdk/kos-ui-sdk/src/core/core/model/kos-offline-queue.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AAEpE,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;IAC/B,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;IAC/B,KAAK,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;IAChC,KAAK,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;CACjC;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B;;OAEG;IACH,OAAO,EAAE,MAAM,IAAI,CAAC;IAEpB;;;OAGG;IACH,UAAU,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,OAAO,CAAC,EAAE,GAAG,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,qBAAa,eAAe;IAGd,OAAO,CAAC,GAAG;IAFvB,OAAO,CAAC,KAAK,CAAqB;gBAEd,GAAG,EAAE,qBAAqB;IAE9C;;;;;;OAMG;IACH,OAAO,CAAC,OAAO,EAAE,MAAM,IAAI,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,GAAG,IAAI;IASjE;;OAEG;IACH,KAAK,IAAI,IAAI;IAgBb;;;;;;;OAOG;IACH,iBAAiB,CACf,QAAQ,EAAE,cAAc,EACxB,mBAAmB,CAAC,EAAE,MAAM,EAC5B,kBAAkB,CAAC,EAAE,MAAM,GAC1B,IAAI;IAgCP;;;OAGG;IACH,OAAO,CAAC,sBAAsB;IAwC9B;;OAEG;IACH,aAAa,CACX,mBAAmB,CAAC,EAAE,MAAM,EAC5B,kBAAkB,CAAC,EAAE,MAAM,GAC1B,eAAe;IA2BlB,KAAK,IAAI,IAAI;IAIb,IAAI,MAAM,IAAI,MAAM,CAEnB;IAED,IAAI,OAAO,IAAI,OAAO,CAErB;CACF"}
@@ -26,9 +26,29 @@ export declare class ServiceRequestManager {
26
26
  */
27
27
  executeForLifecycle(lifecycle: DependencyLifecycle): Promise<void>;
28
28
  /**
29
- * Zone 1: Execute a single service request handler - orchestrates the entire request flow
29
+ * Zone 1: Orchestrates the entire service request flow
30
30
  */
31
31
  private executeHandler;
32
+ /**
33
+ * Zone 2: Validates request preconditions
34
+ */
35
+ private shouldProcessRequest;
36
+ /**
37
+ * Zone 2: Coordinates request preparation, execution, and timing capture
38
+ */
39
+ private prepareAndExecuteRequest;
40
+ /**
41
+ * Zone 3: Captures request timestamp
42
+ */
43
+ private captureRequestTiming;
44
+ /**
45
+ * Zone 3: Captures response timestamp
46
+ */
47
+ private captureResponseTiming;
48
+ /**
49
+ * Zone 2: Coordinates response processing and storage
50
+ */
51
+ private processAndStoreResponse;
32
52
  /**
33
53
  * Zone 2: Prepares request parameters by coordinating parameter resolution
34
54
  * @internal
@@ -49,6 +69,11 @@ export declare class ServiceRequestManager {
49
69
  * @internal
50
70
  */
51
71
  private storeAndInvokeHandler;
72
+ /**
73
+ * Trigger queue flush for topic handlers waiting on this baseline
74
+ * @private
75
+ */
76
+ private triggerBaselineQueueFlush;
52
77
  /**
53
78
  * Make HTTP request using existing KOS API client
54
79
  */
@@ -1 +1 @@
1
- {"version":3,"file":"kos-service-request-manager.d.ts","sourceRoot":"","sources":["../../../../../../../packages/sdk/kos-ui-sdk/src/core/core/model/kos-service-request-manager.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AASlD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEjD,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAsJhE;;;;;;;GAOG;AACH,qBAAa,qBAAqB;IAChC,OAAO,CAAC,KAAK,CAAgB;IAC7B,OAAO,CAAC,aAAa,CAAuB;IAC5C,OAAO,CAAC,QAAQ,CAAqD;gBAEzD,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,oBAAoB;IAQrE;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAwBxB;;;;OAIG;IACG,mBAAmB,CAAC,SAAS,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IAexE;;OAEG;YACW,cAAc;IAuC5B;;;OAGG;IACH,OAAO,CAAC,cAAc;IAgBtB;;;OAGG;YACW,cAAc;IAkB5B;;;OAGG;YACW,eAAe;IAwB7B;;;OAGG;YACW,qBAAqB;IAqBnC;;OAEG;YACW,WAAW;IA2BzB;;OAEG;IACH,OAAO,CAAC,aAAa;IAoCrB;;OAEG;IACH,OAAO,CAAC,cAAc;IAItB;;OAEG;IACH,OAAO,CAAC,cAAc;IA0BtB;;OAEG;YACW,eAAe;IAkC7B;;OAEG;YACW,WAAW;CA0C1B"}
1
+ {"version":3,"file":"kos-service-request-manager.d.ts","sourceRoot":"","sources":["../../../../../../../packages/sdk/kos-ui-sdk/src/core/core/model/kos-service-request-manager.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AASlD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEjD,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAsJhE;;;;;;;GAOG;AACH,qBAAa,qBAAqB;IAChC,OAAO,CAAC,KAAK,CAAgB;IAC7B,OAAO,CAAC,aAAa,CAAuB;IAC5C,OAAO,CAAC,QAAQ,CAAqD;gBAEzD,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,oBAAoB;IAQrE;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAwBxB;;;;OAIG;IACG,mBAAmB,CAAC,SAAS,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IAexE;;OAEG;YACW,cAAc;IAgB5B;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAQ5B;;OAEG;YACW,wBAAwB;IAetC;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAI5B;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAI7B;;OAEG;YACW,uBAAuB;IAkCrC;;;OAGG;IACH,OAAO,CAAC,cAAc;IAgBtB;;;OAGG;YACW,cAAc;IAkB5B;;;OAGG;YACW,eAAe;IAwB7B;;;OAGG;YACW,qBAAqB;IAiCnC;;;OAGG;IACH,OAAO,CAAC,yBAAyB;IAcjC;;OAEG;YACW,WAAW;IA2BzB;;OAEG;IACH,OAAO,CAAC,aAAa;IAoCrB;;OAEG;IACH,OAAO,CAAC,cAAc;IAItB;;OAEG;IACH,OAAO,CAAC,cAAc;IA0BtB;;OAEG;YACW,eAAe;IA4D7B;;OAEG;YACW,WAAW;CA0C1B"}
@@ -10,6 +10,7 @@ export declare class KosSubscriptionManager {
10
10
  private disposers;
11
11
  private activatableDisposers;
12
12
  private flowControllers;
13
+ private baselineDependencies;
13
14
  constructor(model: IKosModel, modelData: IKosDataModel, modelId: string, offlineQueue: KosOfflineQueue, log: KosOfflineQueueLogger);
14
15
  registerAll(lifecycle?: string): void;
15
16
  deactivate(): void;
@@ -27,5 +28,22 @@ export declare class KosSubscriptionManager {
27
28
  * Get flow control statistics for monitoring
28
29
  */
29
30
  getFlowControlStats(): Record<string, any>;
31
+ /**
32
+ * Get ServiceResponseStore from model
33
+ * @private
34
+ */
35
+ private getResponseStore;
36
+ /**
37
+ * Check if baseline is ready for a topic handler
38
+ * @private
39
+ */
40
+ private isBaselineReady;
41
+ /**
42
+ * Trigger smart queue flush with baseline temporal filtering
43
+ * Called after baseline loads to replay queued events
44
+ *
45
+ * @param topic - Topic that had baseline dependency
46
+ */
47
+ flushQueueForBaseline(topic: string): void;
30
48
  }
31
49
  //# sourceMappingURL=kos-subscription-manager.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"kos-subscription-manager.d.ts","sourceRoot":"","sources":["../../../../../../../packages/sdk/kos-ui-sdk/src/core/core/model/kos-subscription-manager.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAEvD,OAAO,KAAK,EACV,eAAe,EACf,qBAAqB,EACtB,MAAM,qBAAqB,CAAC;AAG7B,qBAAa,sBAAsB;IAM/B,OAAO,CAAC,KAAK;IACb,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,YAAY;IACpB,OAAO,CAAC,GAAG;IATb,OAAO,CAAC,SAAS,CAAsB;IACvC,OAAO,CAAC,oBAAoB,CAAsB;IAClD,OAAO,CAAC,eAAe,CAAyC;gBAGtD,KAAK,EAAE,SAAS,EAChB,SAAS,EAAE,aAAa,EACxB,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,eAAe,EAC7B,GAAG,EAAE,qBAAqB;IAGpC,WAAW,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI;IAmCrC,UAAU,IAAI,IAAI;IAalB,UAAU,IAAI,IAAI;IAuBlB,OAAO,CAAC,SAAS;IA8BjB,OAAO,CAAC,aAAa;IA+DrB,OAAO,CAAC,sBAAsB;IAkB9B,OAAO,CAAC,uBAAuB;IA6B/B,OAAO,CAAC,cAAc;YAgBR,wBAAwB;YAmCxB,mBAAmB;IA0DjC,OAAO,CAAC,wBAAwB;YAqClB,YAAY;IAoB1B;;OAEG;IACI,mBAAmB,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;CASlD"}
1
+ {"version":3,"file":"kos-subscription-manager.d.ts","sourceRoot":"","sources":["../../../../../../../packages/sdk/kos-ui-sdk/src/core/core/model/kos-subscription-manager.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAEvD,OAAO,KAAK,EACV,eAAe,EACf,qBAAqB,EACtB,MAAM,qBAAqB,CAAC;AAG7B,qBAAa,sBAAsB;IAO/B,OAAO,CAAC,KAAK;IACb,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,YAAY;IACpB,OAAO,CAAC,GAAG;IAVb,OAAO,CAAC,SAAS,CAAsB;IACvC,OAAO,CAAC,oBAAoB,CAAsB;IAClD,OAAO,CAAC,eAAe,CAAyC;IAChE,OAAO,CAAC,oBAAoB,CAAyC;gBAG3D,KAAK,EAAE,SAAS,EAChB,SAAS,EAAE,aAAa,EACxB,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,eAAe,EAC7B,GAAG,EAAE,qBAAqB;IAGpC,WAAW,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI;IA2CrC,UAAU,IAAI,IAAI;IAalB,UAAU,IAAI,IAAI;IAuBlB,OAAO,CAAC,SAAS;IA8BjB,OAAO,CAAC,aAAa;IAwErB,OAAO,CAAC,sBAAsB;IAkB9B,OAAO,CAAC,uBAAuB;IA6B/B,OAAO,CAAC,cAAc;YAgBR,wBAAwB;YAsCxB,mBAAmB;IA+DjC,OAAO,CAAC,wBAAwB;YAyDlB,YAAY;IA+B1B;;OAEG;IACI,mBAAmB,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAYjD;;;OAGG;IACH,OAAO,CAAC,gBAAgB;IAIxB;;;OAGG;IACH,OAAO,CAAC,eAAe;IAkBvB;;;;;OAKG;IACI,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;CA0ClD"}
@@ -36,9 +36,11 @@ export declare class ServiceResponseStore {
36
36
  * @param key - Storage key (typically `{method}:{path}`)
37
37
  * @param response - Response data to cache
38
38
  * @param config - Caching configuration (defaults to SINGLE retention)
39
+ * @param requestedAt - When the request was sent (for temporal tracking)
40
+ * @param receivedAt - When the response was received (for temporal tracking)
39
41
  * @returns true if response was stored, false if refresh extended existing TTL
40
42
  */
41
- set<T>(key: string, response: T, config?: ResponseCacheConfig): boolean;
43
+ set<T>(key: string, response: T, config?: ResponseCacheConfig, requestedAt?: number, receivedAt?: number): boolean;
42
44
  /**
43
45
  * Get response if not expired
44
46
  *
@@ -132,6 +134,28 @@ export declare class ServiceResponseStore {
132
134
  * Extract method from storage key
133
135
  */
134
136
  private extractMethod;
137
+ /**
138
+ * Get temporal metadata for a cached response
139
+ * Used for baseline-delta race condition handling
140
+ *
141
+ * @param key - Storage key
142
+ * @returns Temporal metadata or undefined if not found
143
+ */
144
+ getTemporalMetadata(key: string): {
145
+ requestedAt: number;
146
+ receivedAt: number;
147
+ } | undefined;
148
+ /**
149
+ * Get temporal metadata by path and method
150
+ *
151
+ * @param path - API path
152
+ * @param method - HTTP method (defaults to 'get')
153
+ * @returns Temporal metadata or undefined if not found
154
+ */
155
+ getTemporalMetadataByPath(path: string, method?: string): {
156
+ requestedAt: number;
157
+ receivedAt: number;
158
+ } | undefined;
135
159
  /**
136
160
  * Cleanup expired responses (called periodically if needed)
137
161
  */
@@ -1 +1 @@
1
- {"version":3,"file":"service-response-store.d.ts","sourceRoot":"","sources":["../../../../../../../packages/sdk/kos-ui-sdk/src/core/core/model/service-response-store.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,mBAAmB,EAEpB,MAAM,oCAAoC,CAAC;AAmD5C;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,SAAS,CAAqC;IACtD,OAAO,CAAC,iBAAiB,CAA0C;IACnE,OAAO,CAAC,aAAa,CAAqC;IAE1D;;;;;;;OAOG;IACH,GAAG,CAAC,CAAC,EACH,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,CAAC,EACX,MAAM,GAAE,mBAA6D,GACpE,OAAO;IAWV;;;;;OAKG;IACH,GAAG,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,MAAM,GAAG,CAAC,GAAG,SAAS;IAcxC;;;;;;OAMG;IACH,SAAS,CAAC,CAAC,GAAG,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,SAAQ,GAAG,CAAC,GAAG,SAAS;IAI/D;;;;;OAKG;IACH,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAIzB;;;;OAIG;IACH,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAWzB;;;;OAIG;IACH,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAQ7B;;OAEG;IACH,KAAK,IAAI,IAAI;IAOb;;OAEG;IACH,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED;;;;;OAKG;IACH,yBAAyB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAK/C;;OAEG;IACH,OAAO,CAAC,eAAe;IAevB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAMzB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAKzB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAQ1B;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAc5B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAM1B;;OAEG;IACH,OAAO,CAAC,aAAa;IAUrB;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAiC5B;;OAEG;IACH,OAAO,CAAC,OAAO;IAIf;;OAEG;IACH,OAAO,CAAC,WAAW;IAInB;;OAEG;IACH,OAAO,CAAC,aAAa;IAIrB;;OAEG;IACH,OAAO,IAAI,IAAI;CAQhB"}
1
+ {"version":3,"file":"service-response-store.d.ts","sourceRoot":"","sources":["../../../../../../../packages/sdk/kos-ui-sdk/src/core/core/model/service-response-store.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,mBAAmB,EAEpB,MAAM,oCAAoC,CAAC;AAmD5C;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,SAAS,CAAqC;IACtD,OAAO,CAAC,iBAAiB,CAA0C;IACnE,OAAO,CAAC,aAAa,CAAqC;IAE1D;;;;;;;;;OASG;IACH,GAAG,CAAC,CAAC,EACH,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,CAAC,EACX,MAAM,GAAE,mBAA6D,EACrE,WAAW,SAAa,EACxB,UAAU,SAAa,GACtB,OAAO;IAiBV;;;;;OAKG;IACH,GAAG,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,MAAM,GAAG,CAAC,GAAG,SAAS;IAcxC;;;;;;OAMG;IACH,SAAS,CAAC,CAAC,GAAG,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,SAAQ,GAAG,CAAC,GAAG,SAAS;IAI/D;;;;;OAKG;IACH,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAIzB;;;;OAIG;IACH,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAWzB;;;;OAIG;IACH,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAQ7B;;OAEG;IACH,KAAK,IAAI,IAAI;IAOb;;OAEG;IACH,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED;;;;;OAKG;IACH,yBAAyB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAK/C;;OAEG;IACH,OAAO,CAAC,eAAe;IAevB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAMzB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAKzB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAQ1B;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAkB5B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAM1B;;OAEG;IACH,OAAO,CAAC,aAAa;IAUrB;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAiC5B;;OAEG;IACH,OAAO,CAAC,OAAO;IAIf;;OAEG;IACH,OAAO,CAAC,WAAW;IAInB;;OAEG;IACH,OAAO,CAAC,aAAa;IAIrB;;;;;;OAMG;IACH,mBAAmB,CACjB,GAAG,EAAE,MAAM,GACV;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS;IAU1D;;;;;;OAMG;IACH,yBAAyB,CACvB,IAAI,EAAE,MAAM,EACZ,MAAM,SAAQ,GACb;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS;IAI1D;;OAEG;IACH,OAAO,IAAI,IAAI;CAQhB"}
@@ -68,18 +68,74 @@ export interface ResponseCacheConfig {
68
68
  */
69
69
  maxSize?: number;
70
70
  }
71
+ /**
72
+ * Replay strategy for baseline-delta race condition handling
73
+ * Determines which queued events to replay after baseline loads
74
+ */
75
+ export declare enum ReplayStrategy {
76
+ /**
77
+ * Replay all queued events
78
+ * Use for: State machines, audit trails requiring complete event history
79
+ */
80
+ ALL = "all",
81
+ /**
82
+ * Replay events received at or after baseline request was sent
83
+ * Use for: High-frequency idempotent updates (quantities, sensor readings, status)
84
+ */
85
+ AFTER_REQUEST = "after-request",
86
+ /**
87
+ * Replay events received at or after baseline response was received
88
+ * Use for: Low-frequency config where baseline likely includes recent changes
89
+ */
90
+ AFTER_RESPONSE = "after-response",
91
+ /**
92
+ * Discard all queued events
93
+ * Use for: Baseline is always complete source of truth
94
+ */
95
+ NONE = "none"
96
+ }
97
+ /**
98
+ * Baseline dependency configuration for topic handlers
99
+ */
100
+ export interface BaselineDependency {
101
+ /**
102
+ * API path of the baseline request this handler depends on
103
+ */
104
+ path: string;
105
+ /**
106
+ * HTTP method of the baseline request
107
+ * @default 'get'
108
+ */
109
+ method?: string;
110
+ /**
111
+ * Strategy for replaying queued events after baseline loads
112
+ * @default ReplayStrategy.AFTER_REQUEST
113
+ */
114
+ replayStrategy?: ReplayStrategy;
115
+ }
71
116
  /**
72
117
  * Cached response with metadata
73
118
  */
74
- export interface CachedResponse<T = any> {
119
+ export interface CachedResponse<T = unknown> {
75
120
  /**
76
121
  * The response data
77
122
  */
78
123
  data: T;
79
124
  /**
80
125
  * When the response was cached (timestamp)
126
+ * @deprecated Use requestedAt or receivedAt for temporal comparisons
81
127
  */
82
128
  timestamp: number;
129
+ /**
130
+ * When the HTTP request was sent (timestamp)
131
+ * Used for baseline-delta temporal filtering
132
+ */
133
+ requestedAt: number;
134
+ /**
135
+ * When the HTTP response was received (timestamp)
136
+ * Used for baseline-delta temporal filtering
137
+ */
138
+ receivedAt: number;
83
139
  /**
84
140
  * The API path this response came from
85
141
  */
@@ -1 +1 @@
1
- {"version":3,"file":"service-response-store.d.ts","sourceRoot":"","sources":["../../../../../../packages/sdk/kos-ui-sdk/src/core/types/service-response-store.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,oBAAY,iBAAiB;IAC3B;;;;;;OAMG;IACH,SAAS,cAAc;IAEvB;;;OAGG;IACH,MAAM,WAAW;IAEjB;;;OAGG;IACH,GAAG,QAAQ;IAEX;;;OAGG;IACH,SAAS,cAAc;IAEvB;;;OAGG;IACH,MAAM,WAAW;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC;;OAEG;IACH,SAAS,EAAE,iBAAiB,CAAC;IAE7B;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb;;;;;;;;;;;;;;;;;OAiBG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAE1B;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc,CAAC,CAAC,GAAG,GAAG;IACrC;;OAEG;IACH,IAAI,EAAE,CAAC,CAAC;IAER;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB"}
1
+ {"version":3,"file":"service-response-store.d.ts","sourceRoot":"","sources":["../../../../../../packages/sdk/kos-ui-sdk/src/core/types/service-response-store.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,oBAAY,iBAAiB;IAC3B;;;;;;OAMG;IACH,SAAS,cAAc;IAEvB;;;OAGG;IACH,MAAM,WAAW;IAEjB;;;OAGG;IACH,GAAG,QAAQ;IAEX;;;OAGG;IACH,SAAS,cAAc;IAEvB;;;OAGG;IACH,MAAM,WAAW;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC;;OAEG;IACH,SAAS,EAAE,iBAAiB,CAAC;IAE7B;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb;;;;;;;;;;;;;;;;;OAiBG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAE1B;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;GAGG;AACH,oBAAY,cAAc;IACxB;;;OAGG;IACH,GAAG,QAAQ;IAEX;;;OAGG;IACH,aAAa,kBAAkB;IAE/B;;;OAGG;IACH,cAAc,mBAAmB;IAEjC;;;OAGG;IACH,IAAI,SAAS;CACd;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;;OAGG;IACH,cAAc,CAAC,EAAE,cAAc,CAAC;CACjC;AAED;;GAEG;AACH,MAAM,WAAW,cAAc,CAAC,CAAC,GAAG,OAAO;IACzC;;OAEG;IACH,IAAI,EAAE,CAAC,CAAC;IAER;;;OAGG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;;OAGG;IACH,WAAW,EAAE,MAAM,CAAC;IAEpB;;;OAGG;IACH,UAAU,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB"}