@kosdev-code/kos-ui-sdk 0.1.0-dev.5216 → 0.1.0-dev.5264

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.
@@ -75,8 +75,12 @@ export type MultipleFutureProperties<T extends string> = FutureGetters<T> & Prog
75
75
  * // All Future Container properties and named futures are now available automatically
76
76
  * // Access: this.pourFuture, this.agitateFuture, this.gateFuture
77
77
  *
78
- * onFutureUpdate?(future: IFutureModel): void {
78
+ * onFutureUpdate?(future: IFutureModel, alias?: string): void {
79
79
  * // Handle updates from any managed Future
80
+ * // Use alias to identify which future triggered the update
81
+ * if (alias === 'pour') {
82
+ * console.log(`Pour operation: ${future.progress}%`);
83
+ * }
80
84
  * }
81
85
  * }
82
86
  * ```
@@ -153,8 +157,14 @@ export type KosMultipleFutureAwareFull<T extends string = string> = KosMultipleF
153
157
  * return !!(this.pourFuture && !this.pourFuture?.endState);
154
158
  * }
155
159
  *
156
- * onFutureUpdate?(future: IFutureModel): void {
160
+ * onFutureUpdate?(future: IFutureModel, alias?: string): void {
157
161
  * // Handle Future updates from any operation
162
+ * // Use alias to discriminate between different future types
163
+ * if (alias === 'pour') {
164
+ * console.log(`Pouring ice: ${future.progress}%`);
165
+ * } else if (alias === 'agitate') {
166
+ * console.log(`Agitating: ${future.progress}%`);
167
+ * }
158
168
  * }
159
169
  *
160
170
  * @kosFuture({ alias: "pour" })
@@ -1 +1 @@
1
- {"version":3,"file":"kos-multiple-future-aware.d.ts","sourceRoot":"","sources":["../../../../../../../packages/sdk/kos-ui-sdk/src/core/core/decorators/kos-multiple-future-aware.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,4CAA4C,CAAC;AACxF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4CAA4C,CAAC;AAG/E,MAAM,WAAW,6BAA6B;IAC5C,mGAAmG;IACnG,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,mEAAmE;IACnE,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,WAAW,6BAA6B;IAC5C;;;;OAIG;IACH,aAAa,EAAE,qBAAqB,CAAC;IAErC;;;OAGG;IACH,MAAM,CAAC,EAAE,YAAY,CAAC;CACvB;AAED;;GAEG;AACH,KAAK,aAAa,CAAC,CAAC,SAAS,MAAM,IAAI;IACrC,QAAQ,EAAE,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,YAAY;CACjD,CAAC;AAEF,KAAK,eAAe,CAAC,CAAC,SAAS,MAAM,IAAI;IACvC,QAAQ,EAAE,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,UAAU,GAAG,MAAM;CAC5C,CAAC;AAEF,KAAK,aAAa,CAAC,CAAC,SAAS,MAAM,IAAI;IACrC,QAAQ,EAAE,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,QAAQ,GAAG,MAAM;CAC1C,CAAC;AAEF,KAAK,gBAAgB,CAAC,CAAC,SAAS,MAAM,IAAI;IACxC,QAAQ,EAAE,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,WAAW,GAAG,OAAO;CAC9C,CAAC;AAEF,KAAK,kBAAkB,CAAC,CAAC,SAAS,MAAM,IAAI;IAC1C,QAAQ,EAAE,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,aAAa,GAAG,OAAO;CAChD,CAAC;AAEF,KAAK,aAAa,CAAC,CAAC,SAAS,MAAM,IAAI;IACrC,QAAQ,EAAE,CAAC,IAAI,CAAC,IAAI,SAAS,UAAU,CAAC,CAAC,CAAC,EAAE,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC;CACnE,CAAC;AAEF,MAAM,MAAM,wBAAwB,CAAC,CAAC,SAAS,MAAM,IAAI,aAAa,CAAC,CAAC,CAAC,GACvE,eAAe,CAAC,CAAC,CAAC,GAClB,aAAa,CAAC,CAAC,CAAC,GAChB,gBAAgB,CAAC,CAAC,CAAC,GACnB,kBAAkB,CAAC,CAAC,CAAC,GACrB,aAAa,CAAC,CAAC,CAAC,CAAC;AAEnB;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,MAAM,0BAA0B,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,IAC9D,6BAA6B,GAC3B,wBAAwB,CAAC,CAAC,CAAC,GAAG;IAC5B;;;;OAIG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;;;OAIG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf;;;;OAIG;IACH,SAAS,EAAE,OAAO,CAAC;IAEnB;;;;OAIG;IACH,WAAW,EAAE,OAAO,CAAC;IAErB;;;;;;OAMG;IACH,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC/B,CAAC;AAEN;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwEG;AACH,wBAAgB,sBAAsB,CACpC,OAAO,CAAC,EAAE,6BAA6B,GACtC,cAAc,CAchB"}
1
+ {"version":3,"file":"kos-multiple-future-aware.d.ts","sourceRoot":"","sources":["../../../../../../../packages/sdk/kos-ui-sdk/src/core/core/decorators/kos-multiple-future-aware.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,4CAA4C,CAAC;AACxF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4CAA4C,CAAC;AAG/E,MAAM,WAAW,6BAA6B;IAC5C,mGAAmG;IACnG,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,mEAAmE;IACnE,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,WAAW,6BAA6B;IAC5C;;;;OAIG;IACH,aAAa,EAAE,qBAAqB,CAAC;IAErC;;;OAGG;IACH,MAAM,CAAC,EAAE,YAAY,CAAC;CACvB;AAED;;GAEG;AACH,KAAK,aAAa,CAAC,CAAC,SAAS,MAAM,IAAI;IACrC,QAAQ,EAAE,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,YAAY;CACjD,CAAC;AAEF,KAAK,eAAe,CAAC,CAAC,SAAS,MAAM,IAAI;IACvC,QAAQ,EAAE,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,UAAU,GAAG,MAAM;CAC5C,CAAC;AAEF,KAAK,aAAa,CAAC,CAAC,SAAS,MAAM,IAAI;IACrC,QAAQ,EAAE,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,QAAQ,GAAG,MAAM;CAC1C,CAAC;AAEF,KAAK,gBAAgB,CAAC,CAAC,SAAS,MAAM,IAAI;IACxC,QAAQ,EAAE,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,WAAW,GAAG,OAAO;CAC9C,CAAC;AAEF,KAAK,kBAAkB,CAAC,CAAC,SAAS,MAAM,IAAI;IAC1C,QAAQ,EAAE,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,aAAa,GAAG,OAAO;CAChD,CAAC;AAEF,KAAK,aAAa,CAAC,CAAC,SAAS,MAAM,IAAI;IACrC,QAAQ,EAAE,CAAC,IAAI,CAAC,IAAI,SAAS,UAAU,CAAC,CAAC,CAAC,EAAE,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC;CACnE,CAAC;AAEF,MAAM,MAAM,wBAAwB,CAAC,CAAC,SAAS,MAAM,IAAI,aAAa,CAAC,CAAC,CAAC,GACvE,eAAe,CAAC,CAAC,CAAC,GAClB,aAAa,CAAC,CAAC,CAAC,GAChB,gBAAgB,CAAC,CAAC,CAAC,GACnB,kBAAkB,CAAC,CAAC,CAAC,GACrB,aAAa,CAAC,CAAC,CAAC,CAAC;AAEnB;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,MAAM,0BAA0B,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,IAC9D,6BAA6B,GAC3B,wBAAwB,CAAC,CAAC,CAAC,GAAG;IAC5B;;;;OAIG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;;;OAIG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf;;;;OAIG;IACH,SAAS,EAAE,OAAO,CAAC;IAEnB;;;;OAIG;IACH,WAAW,EAAE,OAAO,CAAC;IAErB;;;;;;OAMG;IACH,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC/B,CAAC;AAEN;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8EG;AACH,wBAAgB,sBAAsB,CACpC,OAAO,CAAC,EAAE,6BAA6B,GACtC,cAAc,CAchB"}
@@ -0,0 +1,58 @@
1
+ /**
2
+ * Helper functions for kosServiceRequest decorator.
3
+ *
4
+ * These functions are extracted to reduce complexity and improve maintainability
5
+ * of the service request decorator implementation.
6
+ */
7
+ /**
8
+ * Resolves all parameters for a service request.
9
+ *
10
+ * This helper function handles the complex parameter resolution logic including:
11
+ * - Resolving PropKeys in path
12
+ * - Merging decorator-defined params with runtime params
13
+ * - Building the final API params object
14
+ *
15
+ * @param metadata - Service request metadata
16
+ * @param modelInstance - The model instance (this context)
17
+ * @param args - Original method arguments
18
+ * @param runtimeOptions - Runtime execution options
19
+ * @returns Resolved parameters for the API request
20
+ */
21
+ export declare function resolveServiceRequestParameters(metadata: any, modelInstance: any, args: any[], runtimeOptions: any): {
22
+ resolvedPath: string;
23
+ apiParams: any;
24
+ finalBody: any;
25
+ finalRequestOptions: any;
26
+ };
27
+ /**
28
+ * Executes an API method with the appropriate HTTP verb.
29
+ *
30
+ * This helper function handles the complexity of method selection and execution,
31
+ * supporting GET, POST, PUT, and DELETE operations with proper parameter passing.
32
+ *
33
+ * @param API - The API client instance
34
+ * @param method - HTTP method (get, post, put, delete)
35
+ * @param path - Resolved API path
36
+ * @param params - API parameters (path, query)
37
+ * @param body - Request body (for POST, PUT, DELETE)
38
+ * @param requestOptions - Additional request options
39
+ * @returns Error-first tuple with response
40
+ */
41
+ export declare function executeApiMethod(API: any, method: string | undefined, path: string, params: any, body: any, requestOptions: any): Promise<[string | null, any]>;
42
+ /**
43
+ * Handles service request errors according to the configured error handling strategy.
44
+ *
45
+ * This helper function implements the error handling strategies defined in metadata:
46
+ * - "throw": Return error tuple for caller to handle
47
+ * - "log": Log error and return default value
48
+ * - "ignore": Silently return default value
49
+ * - "default": Return default value
50
+ *
51
+ * @param error - Error message from API call
52
+ * @param response - API response (may contain status code)
53
+ * @param errorHandler - Error handler configuration from metadata
54
+ * @param modelInstance - The model instance (this context)
55
+ * @returns Error-first tuple with default value or error
56
+ */
57
+ export declare function handleServiceRequestError(error: string, response: any, errorHandler: any, modelInstance: any): [string | null, any];
58
+ //# sourceMappingURL=kos-service-request-helpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"kos-service-request-helpers.d.ts","sourceRoot":"","sources":["../../../../../../../packages/sdk/kos-ui-sdk/src/core/core/decorators/kos-service-request-helpers.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AAEH;;;;;;;;;;;;;GAaG;AACH,wBAAgB,+BAA+B,CAC7C,QAAQ,EAAE,GAAG,EACb,aAAa,EAAE,GAAG,EAClB,IAAI,EAAE,GAAG,EAAE,EACX,cAAc,EAAE,GAAG;;;;;EAgEpB;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAsB,gBAAgB,CACpC,GAAG,EAAE,GAAG,EACR,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,GAAG,EACX,IAAI,EAAE,GAAG,EACT,cAAc,EAAE,GAAG,GAClB,OAAO,CAAC,CAAC,MAAM,GAAG,IAAI,EAAE,GAAG,CAAC,CAAC,CAgB/B;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,GAAG,EACb,YAAY,EAAE,GAAG,EACjB,aAAa,EAAE,GAAG,GACjB,CAAC,MAAM,GAAG,IAAI,EAAE,GAAG,CAAC,CAsBtB"}
@@ -66,23 +66,69 @@ export interface ExtensionConfig {
66
66
  phase?: "before" | "after" | "transform";
67
67
  }
68
68
  /**
69
- * Error handling strategy for service requests
69
+ * Configuration for error handling in service requests.
70
+ *
71
+ * Provides multiple strategies for handling request failures, enabling soft failures
72
+ * with cached default values and error-first parameter patterns.
73
+ *
74
+ * @remarks
75
+ * All strategies except 'throw' cache defaultValue in the response store, ensuring
76
+ * consistency across model lifecycle. Lifecycle-triggered handlers receive error-first
77
+ * parameters: (error, data), while method-driven requests use $request executor
78
+ * returning tuple: [error, data].
79
+ *
80
+ * @example
81
+ * ```typescript
82
+ * // Soft failure with logging
83
+ * @kosServiceRequest({
84
+ * path: '/api/data',
85
+ * errorHandler: {
86
+ * strategy: 'log',
87
+ * defaultValue: []
88
+ * }
89
+ * })
90
+ * async loadData(error: string | null, data: DataType[]): Promise<void> {
91
+ * if (error) {
92
+ * this.logger.error(`Load failed: ${error}`);
93
+ * }
94
+ * this.processData(data); // Either real data or defaultValue
95
+ * }
96
+ * ```
97
+ *
98
+ * @category Service Request
99
+ * @see {@link KosServiceRequestConfig} for complete decorator configuration
70
100
  */
71
101
  export interface ErrorHandlerConfig {
72
102
  /**
73
- * How to handle errors
74
- * - 'throw': Re-throw error (default)
75
- * - 'log': Log error and continue
76
- * - 'ignore': Silently ignore errors
77
- * - 'default': Return default value
103
+ * How to handle errors:
104
+ *
105
+ * - 'throw': Re-throw error (default) - handler not called, no caching
106
+ *
107
+ * - 'log': Log error, cache defaultValue, and call handler with (error, defaultValue)
108
+ * Enables soft failure - log the error but continue processing with default data
109
+ *
110
+ * - 'ignore': Cache defaultValue and call handler with (error, defaultValue)
111
+ * Soft failure without logging - silent recovery
112
+ *
113
+ * - 'default': Same as 'ignore' - cache defaultValue and call handler
114
+ * (Kept for backward compatibility, behaves identically to 'ignore')
115
+ *
116
+ * All strategies except 'throw' cache defaultValue in response store for consistency.
117
+ *
118
+ * Note: For lifecycle requests, handler receives error-first parameters: (error, data)
119
+ * For method-driven requests, $request executor returns tuple: [error, data]
78
120
  */
79
121
  strategy: "throw" | "log" | "ignore" | "default";
80
122
  /**
81
- * Default value to return when strategy is 'default'
123
+ * Default value to use when an error occurs.
124
+ * Used with 'log', 'ignore', or 'default' strategies.
125
+ * - Stored in response cache for subsequent access
126
+ * - Passed to handler as second parameter: handler(errorMessage, defaultValue)
82
127
  */
83
128
  defaultValue?: any;
84
129
  /**
85
- * Custom error handler function
130
+ * Custom error handler function called before strategy is applied.
131
+ * Use for logging, metrics, or side effects.
86
132
  */
87
133
  onError?: (error: Error, model: IKosDataModel) => void;
88
134
  }
@@ -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 +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;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"}
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;AAqKhE;;;;;;;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;IAkBtB;;;OAGG;YACW,cAAc;IAoB5B;;;OAGG;YACW,eAAe;IAwB7B;;;OAGG;YACW,qBAAqB;IAiCnC;;;OAGG;IACH,OAAO,CAAC,yBAAyB;IAcjC;;OAEG;YACW,WAAW;IA4BzB;;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;CAiF1B"}
@@ -5,53 +5,197 @@ interface Identifiable {
5
5
  id: string;
6
6
  }
7
7
  /**
8
- * Function that transforms an entity, typically to update its id property before container insertion.
9
- * Useful for normalizing ids or adding prefixes/suffixes.
8
+ * Function that transforms an entity's ID before container synchronization.
9
+ *
10
+ * The IdMapper pattern enables two critical capabilities:
11
+ *
12
+ * 1. **Compound Model IDs**: Transform simple backend IDs into compound IDs that include
13
+ * parent context (e.g., `"123"` → `"release-version-abc-123"`). This ensures unique
14
+ * model IDs even when backend IDs are only unique within their parent scope.
15
+ *
16
+ * 2. **Backend ID Preservation**: Add a `rawId` property to preserve the original backend ID
17
+ * for server communication while using compound IDs for model identity.
18
+ *
19
+ * @template D - Input entity type (data from backend)
20
+ * @template M - Mapped entity type (data after transformation, defaults to D if no transformation)
21
+ *
22
+ * @example Simple ID prefix transformation
23
+ * ```typescript
24
+ * const idMapper: IdMapper<User, User & { rawId: string }> = (user) => ({
25
+ * ...user,
26
+ * rawId: user.id,
27
+ * id: `user-${user.id}`
28
+ * });
29
+ * ```
30
+ *
31
+ * @example Compound ID with parent context
32
+ * ```typescript
33
+ * type WithRawId<T> = T & { rawId: string };
34
+ *
35
+ * const idMapper: IdMapper<VersionResponse, WithRawId<VersionResponse>> = (version) => ({
36
+ * ...version,
37
+ * rawId: version.id,
38
+ * id: `release-version-${templateId}-${version.id}`
39
+ * });
40
+ * ```
41
+ *
42
+ * @example Multi-level compound ID
43
+ * ```typescript
44
+ * const idMapper: IdMapper<CandidateResponse, WithRawId<CandidateResponse>> = (candidate) => ({
45
+ * ...candidate,
46
+ * rawId: candidate.id,
47
+ * id: `release-candidate-${templateId}-${versionId}-${candidate.id}`
48
+ * });
49
+ * ```
10
50
  */
11
- export type IdMapper = <D extends Identifiable = Identifiable>(entity: D) => D;
51
+ export type IdMapper<D extends Identifiable = Identifiable, M extends Identifiable = D> = (entity: D) => M;
12
52
  type Container = IKosContainerModel<any, any> | IKosModelContainer<any>;
13
53
  /**
14
54
  * Parameters for resolving container deltas.
15
55
  * @template T - The container type
16
- * @template D - The entity type with an id property
56
+ * @template D - The input entity type with an id property
57
+ * @template M - The mapped entity type (after idMapper transformation)
17
58
  */
18
- interface ResolveParams<T extends Container, D> {
59
+ interface ResolveParams<T extends Container, D extends Identifiable, M extends Identifiable = D> {
19
60
  /** The container to synchronize */
20
61
  container: T;
21
62
  /** Callback to create a new item when an entity is added */
22
- onAddItem: (entity: D) => any;
63
+ onAddItem: (entity: M) => any;
23
64
  /** Optional callback when an item is removed, receives the id to remove */
24
65
  onRemoveItem?: (id: string) => any;
25
66
  /** Optional callback when an existing item needs updating */
26
- onUpdateItem?: (entity: D, existingModel: any) => any;
67
+ onUpdateItem?: (entity: M, existingModel: any) => any;
27
68
  /** Optional mapper to transform entity ids before processing */
28
- idMapper?: IdMapper;
69
+ idMapper?: IdMapper<D, M>;
29
70
  }
30
71
  /**
31
72
  * Creates a function that synchronizes a container with a new list of entities.
32
- * Handles additions, removals, and optional updates to keep the container in sync.
73
+ *
74
+ * This is the primary utility for delta-based container synchronization. It compares incoming
75
+ * data against the current container state and performs minimal operations (add/update/remove)
76
+ * to achieve synchronization.
77
+ *
78
+ * Key features:
79
+ * - **Delta resolution**: Only processes actual changes (add/update/remove)
80
+ * - **ID transformation**: Optional `idMapper` transforms backend IDs to model IDs
81
+ * - **Update-in-place**: `onUpdateItem` can update existing models without recreating
82
+ * - **Type safety**: Generic type parameters ensure type consistency through transformation
83
+ *
84
+ * Workflow:
85
+ * 1. Apply `idMapper` to transform entity IDs (if provided)
86
+ * 2. Calculate deltas: which IDs are missing from new data (removals)
87
+ * 3. Invoke `onRemoveItem` for each ID to remove
88
+ * 4. For each entity in new data:
89
+ * - If model exists: invoke `onUpdateItem` (if provided) or `onAddItem`
90
+ * - If model doesn't exist: invoke `onAddItem`
91
+ * 5. Add all new models to container in batch
33
92
  *
34
93
  * @template T - Container type implementing IKosModelContainer
35
- * @template D - Entity type with an id property
94
+ * @template D - Input entity type (data from backend)
95
+ * @template M - Mapped entity type (after idMapper transformation, defaults to D)
96
+ *
36
97
  * @param params - Configuration for resolving deltas
98
+ * @param params.container - The container to synchronize
99
+ * @param params.onAddItem - Callback to create a new model from entity data
100
+ * @param params.onUpdateItem - Optional callback to update existing model (return null to skip adding)
101
+ * @param params.onRemoveItem - Optional callback invoked with each ID to remove (default: identity function)
102
+ * @param params.idMapper - Optional function to transform entity IDs before processing
103
+ *
37
104
  * @returns A function that accepts entities and synchronizes the container
38
105
  *
39
- * @example
106
+ * @example Basic synchronization without ID transformation
107
+ * ```typescript
40
108
  * const syncUsers = resolveContainerDeltas({
41
109
  * container: userContainer,
42
110
  * onAddItem: (user) => User.instance(user.id).options(user).build(),
43
- * onUpdateItem: (user, existing) => existing.update(user),
111
+ * onUpdateItem: (user, existing) => {
112
+ * existing.updateModel(user);
113
+ * return null; // Don't add, just updated in place
114
+ * },
44
115
  * onRemoveItem: (id) => id
45
116
  * });
46
117
  * syncUsers(newUserList);
118
+ * ```
119
+ *
120
+ * @example ID transformation with compound IDs and rawId preservation
121
+ * ```typescript
122
+ * type WithRawId<T> = T & { rawId: string };
123
+ *
124
+ * const syncVersions = resolveContainerDeltas<
125
+ * typeof template.versions,
126
+ * VersionResponse,
127
+ * WithRawId<VersionResponse>
128
+ * >({
129
+ * container: template.versions,
130
+ * idMapper: (versionData) => ({
131
+ * ...versionData,
132
+ * rawId: versionData.id, // Preserve backend ID
133
+ * id: ReleaseIdFactory.version(templateId, versionData.id) // Compound model ID
134
+ * }),
135
+ * onAddItem: (data) => {
136
+ * const model = ReleaseVersion.instance(data.id)
137
+ * .options({
138
+ * rawId: data.rawId, // Store backend ID for server communication
139
+ * version: data.version,
140
+ * // ... other options
141
+ * })
142
+ * .build();
143
+ * // Recursively sync nested containers
144
+ * syncCandidates(model, data.candidates || []);
145
+ * return model;
146
+ * },
147
+ * onUpdateItem: (data, existingVersion) => {
148
+ * existingVersion.updateModel({
149
+ * rawId: data.rawId || existingVersion.rawId,
150
+ * version: data.version,
151
+ * // ... other updates
152
+ * });
153
+ * // Recursively sync nested containers
154
+ * syncCandidates(existingVersion, data.candidates || []);
155
+ * return null; // Don't add, just updated in place
156
+ * },
157
+ * onRemoveItem: (id) => id
158
+ * })(versionsData);
159
+ * ```
160
+ *
161
+ * @example Nested container synchronization
162
+ * ```typescript
163
+ * // Parent level
164
+ * syncTemplates(containerModel, templatesData);
165
+ *
166
+ * // Within onAddItem and onUpdateItem, sync children
167
+ * function syncTemplates(container, templates) {
168
+ * resolveContainerDeltas({
169
+ * container: container.container,
170
+ * idMapper: (template) => ({
171
+ * ...template,
172
+ * rawId: template.id,
173
+ * id: ReleaseIdFactory.template(template.id)
174
+ * }),
175
+ * onAddItem: (template) => {
176
+ * const model = createTemplateModel(template);
177
+ * syncQueues(model, template.queues); // Nested sync
178
+ * syncVersions(model, template.versions); // Nested sync
179
+ * return model;
180
+ * },
181
+ * onUpdateItem: (template, existing) => {
182
+ * existing.updateModel(template);
183
+ * syncQueues(existing, template.queues); // Nested sync
184
+ * syncVersions(existing, template.versions); // Nested sync
185
+ * return null;
186
+ * }
187
+ * })(templates);
188
+ * }
189
+ * ```
47
190
  */
48
- export declare const resolveContainerDeltas: <T extends IKosModelContainer<any>, D extends Identifiable>({ container, onAddItem, onUpdateItem, onRemoveItem, idMapper, }: ResolveParams<T, D>) => (entities: D[]) => void;
191
+ export declare const resolveContainerDeltas: <T extends IKosModelContainer<any>, D extends Identifiable, M extends Identifiable = D>({ container, onAddItem, onUpdateItem, onRemoveItem, idMapper, }: ResolveParams<T, D, M>) => (entities: D[]) => void;
49
192
  /**
50
193
  * Creates a function that synchronizes a container model's list with new entities.
51
194
  * Simpler alternative to resolveContainerDeltas that directly invokes callbacks for each addition and removal.
52
195
  *
53
196
  * @template T - Container model type implementing IKosContainerModel
54
- * @template D - Entity type with an id property
197
+ * @template D - Input entity type with an id property
198
+ * @template M - Mapped entity type (after idMapper transformation)
55
199
  * @param params - Configuration for resolving deltas
56
200
  * @returns A function that accepts entities and synchronizes by invoking callbacks
57
201
  *
@@ -63,28 +207,30 @@ export declare const resolveContainerDeltas: <T extends IKosModelContainer<any>,
63
207
  * });
64
208
  * syncLayers(newLayerList);
65
209
  */
66
- export declare const resolveListDeltas: <T extends IKosContainerModel<any, any>, D extends Identifiable>({ container, onAddItem, onRemoveItem, idMapper, }: ResolveParams<T, D>) => (entities: D[]) => void;
210
+ export declare const resolveListDeltas: <T extends IKosContainerModel<any, any>, D extends Identifiable, M extends Identifiable = D>({ container, onAddItem, onRemoveItem, idMapper, }: ResolveParams<T, D, M>) => (entities: D[]) => void;
67
211
  /**
68
212
  * Parameters for resolving deltas on plain item arrays (not container models).
69
213
  * @template T - Current item type with an id property
70
- * @template D - New entity type with an id property
214
+ * @template D - Input entity type with an id property
215
+ * @template M - Mapped entity type (after idMapper transformation)
71
216
  */
72
- interface ResolveItemsParams<T extends Identifiable, D> {
217
+ interface ResolveItemsParams<T extends Identifiable, D extends Identifiable, M extends Identifiable = D> {
73
218
  /** The current array of items to synchronize */
74
219
  items: T[];
75
220
  /** Callback invoked for each entity to add */
76
- onAddItem: (entity: D) => void;
221
+ onAddItem: (entity: M) => void;
77
222
  /** Callback invoked for each id to remove */
78
223
  onRemoveItem: (id: string) => void;
79
224
  /** Optional mapper to transform entity ids before processing */
80
- idMapper?: IdMapper;
225
+ idMapper?: IdMapper<D, M>;
81
226
  }
82
227
  /**
83
228
  * Creates a function that synchronizes a plain array of items with new entities.
84
229
  * Does not require a container model - works with any array of identifiable items.
85
230
  *
86
231
  * @template T - Current item type with an id property
87
- * @template D - New entity type with an id property
232
+ * @template D - Input entity type with an id property
233
+ * @template M - Mapped entity type (after idMapper transformation)
88
234
  * @param params - Configuration including the items array and callbacks
89
235
  * @returns A function that accepts entities and synchronizes the array
90
236
  *
@@ -100,7 +246,7 @@ interface ResolveItemsParams<T extends Identifiable, D> {
100
246
  * });
101
247
  * syncItems(newItems);
102
248
  */
103
- export declare const resolveItemListDeltas: <T extends Identifiable, D extends Identifiable>({ items, onAddItem, onRemoveItem, idMapper, }: ResolveItemsParams<T, D>) => (entities: D[]) => void;
249
+ export declare const resolveItemListDeltas: <T extends Identifiable, D extends Identifiable, M extends Identifiable = D>({ items, onAddItem, onRemoveItem, idMapper, }: ResolveItemsParams<T, D, M>) => (entities: D[]) => void;
104
250
  /**
105
251
  * Removes a prefix from an id string if present.
106
252
  * Useful for normalizing ids that may have parent or namespace prefixes.
@@ -1 +1 @@
1
- {"version":3,"file":"container-utils.d.ts","sourceRoot":"","sources":["../../../../../../packages/sdk/kos-ui-sdk/src/core/util/container-utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AACjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAEtD,UAAU,YAAY;IACpB,EAAE,EAAE,MAAM,CAAC;CACZ;AAqBD;;;GAGG;AACH,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,SAAS,YAAY,GAAG,YAAY,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC;AAE/E,KAAK,SAAS,GAAG,kBAAkB,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC;AAExE;;;;GAIG;AACH,UAAU,aAAa,CAAC,CAAC,SAAS,SAAS,EAAE,CAAC;IAC5C,mCAAmC;IACnC,SAAS,EAAE,CAAC,CAAC;IACb,4DAA4D;IAC5D,SAAS,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,GAAG,CAAC;IAC9B,2EAA2E;IAC3E,YAAY,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,GAAG,CAAC;IACnC,6DAA6D;IAC7D,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,aAAa,EAAE,GAAG,KAAK,GAAG,CAAC;IACtD,gEAAgE;IAChE,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACrB;AAKD;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,sBAAsB,+HAO9B,cAAc,CAAC,EAAE,CAAC,CAAC,gBACX,CAAC,EAAE,SAkBb,CAAC;AAEJ;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,iBAAiB,sHAMzB,cAAc,CAAC,EAAE,CAAC,CAAC,gBACX,CAAC,EAAE,SAKb,CAAC;AAEJ;;;;GAIG;AACH,UAAU,kBAAkB,CAAC,CAAC,SAAS,YAAY,EAAE,CAAC;IACpD,gDAAgD;IAChD,KAAK,EAAE,CAAC,EAAE,CAAC;IACX,8CAA8C;IAC9C,SAAS,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,IAAI,CAAC;IAC/B,6CAA6C;IAC7C,YAAY,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,gEAAgE;IAChE,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACrB;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,eAAO,MAAM,qBAAqB,kGAM7B,mBAAmB,CAAC,EAAE,CAAC,CAAC,gBAChB,CAAC,EAAE,SAKb,CAAC;AAEJ;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,SAAS,OAAQ,MAAM,4BAMnC,CAAC"}
1
+ {"version":3,"file":"container-utils.d.ts","sourceRoot":"","sources":["../../../../../../packages/sdk/kos-ui-sdk/src/core/util/container-utils.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyDG;AACH,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AACjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAEtD,UAAU,YAAY;IACpB,EAAE,EAAE,MAAM,CAAC;CACZ;AAqBD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AACH,MAAM,MAAM,QAAQ,CAClB,CAAC,SAAS,YAAY,GAAG,YAAY,EACrC,CAAC,SAAS,YAAY,GAAG,CAAC,IACxB,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC;AAErB,KAAK,SAAS,GAAG,kBAAkB,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC;AAExE;;;;;GAKG;AACH,UAAU,aAAa,CACrB,CAAC,SAAS,SAAS,EACnB,CAAC,SAAS,YAAY,EACtB,CAAC,SAAS,YAAY,GAAG,CAAC;IAE1B,mCAAmC;IACnC,SAAS,EAAE,CAAC,CAAC;IACb,4DAA4D;IAC5D,SAAS,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,GAAG,CAAC;IAC9B,2EAA2E;IAC3E,YAAY,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,GAAG,CAAC;IACnC,6DAA6D;IAC7D,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,aAAa,EAAE,GAAG,KAAK,GAAG,CAAC;IACtD,gEAAgE;IAChE,QAAQ,CAAC,EAAE,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;CAC3B;AAKD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuHG;AACH,eAAO,MAAM,sBAAsB,2JAW9B,cAAc,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,gBACd,CAAC,EAAE,SAkBb,CAAC;AAEJ;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,iBAAiB,kJAUzB,cAAc,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,gBACd,CAAC,EAAE,SAKb,CAAC;AAEJ;;;;;GAKG;AACH,UAAU,kBAAkB,CAC1B,CAAC,SAAS,YAAY,EACtB,CAAC,SAAS,YAAY,EACtB,CAAC,SAAS,YAAY,GAAG,CAAC;IAE1B,gDAAgD;IAChD,KAAK,EAAE,CAAC,EAAE,CAAC;IACX,8CAA8C;IAC9C,SAAS,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,IAAI,CAAC;IAC/B,6CAA6C;IAC7C,YAAY,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,gEAAgE;IAChE,QAAQ,CAAC,EAAE,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;CAC3B;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,eAAO,MAAM,qBAAqB,8HAM7B,mBAAmB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,gBACnB,CAAC,EAAE,SAKb,CAAC;AAEJ;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,SAAS,OAAQ,MAAM,4BAMnC,CAAC"}
@@ -3,6 +3,7 @@ interface KosConfig {
3
3
  profiles: string[];
4
4
  [key: string]: boolean | string[] | string | number | undefined;
5
5
  }
6
+ export declare const PROFILE_ENABLE_RELEASES = "studio.enable.releases";
6
7
  export declare const PROFILE_TOOLS_PREVIEW = "studio.tools.preview";
7
8
  export declare const PROFILE_RELAX_STORE_VALIDATION = "studio.relax.store.validation";
8
9
  export declare const PROFILE_LOG_DEBUG = "studio.log.debug";
@@ -1 +1 @@
1
- {"version":3,"file":"kos-config-init.d.ts","sourceRoot":"","sources":["../../../../../../packages/sdk/kos-ui-sdk/src/core/util/kos-config-init.ts"],"names":[],"mappings":"AAAA,UAAU,SAAS;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,EAAE,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;CACjE;AAED,eAAO,MAAM,qBAAqB,yBAAyB,CAAC;AAC5D,eAAO,MAAM,8BAA8B,kCAAkC,CAAC;AAC9E,eAAO,MAAM,iBAAiB,qBAAqB,CAAC;AACpD,eAAO,MAAM,gBAAgB,oBAAoB,CAAC;AAUlD,eAAO,MAAM,eAAe,EAAE,SAAqB,CAAC;AAEpD,eAAO,MAAM,kBAAkB,gBAAuC,CAAC;AAEvE,eAAO,MAAM,aAAa,YAAa,MAAM,YACL,CAAC;AAEzC,eAAO,MAAM,mBAAmB,eAAyC,CAAC"}
1
+ {"version":3,"file":"kos-config-init.d.ts","sourceRoot":"","sources":["../../../../../../packages/sdk/kos-ui-sdk/src/core/util/kos-config-init.ts"],"names":[],"mappings":"AAAA,UAAU,SAAS;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,EAAE,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;CACjE;AAED,eAAO,MAAM,uBAAuB,2BAA2B,CAAC;AAChE,eAAO,MAAM,qBAAqB,yBAAyB,CAAC;AAC5D,eAAO,MAAM,8BAA8B,kCAAkC,CAAC;AAC9E,eAAO,MAAM,iBAAiB,qBAAqB,CAAC;AACpD,eAAO,MAAM,gBAAgB,oBAAoB,CAAC;AAUlD,eAAO,MAAM,eAAe,EAAE,SAAqB,CAAC;AAEpD,eAAO,MAAM,kBAAkB,gBAAuC,CAAC;AAEvE,eAAO,MAAM,aAAa,YAAa,MAAM,YACL,CAAC;AAEzC,eAAO,MAAM,mBAAmB,eAAyC,CAAC"}
@@ -59,7 +59,7 @@ export type ClientBody<Paths extends Record<string, any>, K extends keyof Paths,
59
59
  } ? B[keyof B] : never;
60
60
  export type ServiceResponse<T> = [string, null] | [null, T];
61
61
  export type DeepRequired<T> = {
62
- [K in keyof T]-?: T[K] extends object ? DeepRequired<T[K]> : T[K];
62
+ [K in keyof T]-?: T[K] extends object ? DeepRequired<T[K]> : T[K] extends Array<infer U> ? Array<DeepRequired<U>> : T[K];
63
63
  };
64
64
  export type ElementType<T> = T extends (infer U)[] ? U : never;
65
65
  type RequestOptions = Omit<KosFetchOptions, "method" | "body">;
@@ -1 +1 @@
1
- {"version":3,"file":"kos-service-request.d.ts","sourceRoot":"","sources":["../../../../../../packages/sdk/kos-ui-sdk/src/core/util/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/util/kos-service-request.ts"],"names":[],"mappings":"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"}