@kosdev-code/kos-ui-sdk 2.1.22 → 2.1.25

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.
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Constants for KOS model lifecycle and operations
3
+ */
4
+ /**
5
+ * Timeout in milliseconds for model lifecycle transitions.
6
+ * Models that don't complete their transition within this time will reject.
7
+ */
8
+ export declare const MODEL_PROMISE_TIMEOUT_MS = 5000;
9
+ //# sourceMappingURL=model-constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model-constants.d.ts","sourceRoot":"","sources":["../../../../../../packages/sdk/kos-ui-sdk/src/core/constants/model-constants.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;;GAGG;AACH,eAAO,MAAM,wBAAwB,OAAO,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"model-instantiator.d.ts","sourceRoot":"","sources":["../../../../../../packages/sdk/kos-ui-sdk/src/core/core/model-instantiator.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAGpD,OAAO,EAAY,KAAK,aAAa,EAAE,KAAK,SAAS,EAAE,MAAM,YAAY,CAAC;AAE1E,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAC1D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAU5C;;;GAGG;AACH,qBAAa,oBAAoB;IAI7B,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,KAAK;IAJf,OAAO,CAAC,qBAAqB,CAA2B;gBAG9C,QAAQ,EAAE,YAAY,EACtB,KAAK,EAAE,oBAAoB;IASrC,mBAAmB,CAAC,OAAO,SAAS,aAAa,EAC/C,MAAM,EAAE,MAAM,EACd,EAAE,CAAC,EAAE,MAAM,EACX,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAM,GAChC;QAAE,KAAK,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC;QAAC,IAAI,EAAE,OAAO,CAAA;KAAE;IA4C/C;;;;;;;OAOG;IACH,qBAAqB,CACnB,KAAK,EAAE,SAAS,EAChB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC5B,SAAS,CAAC,EAAE,mBAAmB;IAKjC;;;OAGG;IACH,OAAO,CAAC,sBAAsB;CAM/B"}
1
+ {"version":3,"file":"model-instantiator.d.ts","sourceRoot":"","sources":["../../../../../../packages/sdk/kos-ui-sdk/src/core/core/model-instantiator.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAKpD,OAAO,EAAY,KAAK,aAAa,EAAE,KAAK,SAAS,EAAE,MAAM,YAAY,CAAC;AAE1E,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAC1D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAU5C;;;GAGG;AACH,qBAAa,oBAAoB;IAI7B,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,KAAK;IAJf,OAAO,CAAC,qBAAqB,CAA2B;gBAG9C,QAAQ,EAAE,YAAY,EACtB,KAAK,EAAE,oBAAoB;IASrC,mBAAmB,CAAC,OAAO,SAAS,aAAa,EAC/C,MAAM,EAAE,MAAM,EACd,EAAE,CAAC,EAAE,MAAM,EACX,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAM,GAChC;QAAE,KAAK,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC;QAAC,IAAI,EAAE,OAAO,CAAA;KAAE;IAwF/C;;;;;;;OAOG;IACH,qBAAqB,CACnB,KAAK,EAAE,SAAS,EAChB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC5B,SAAS,CAAC,EAAE,mBAAmB;IAKjC;;;OAGG;IACH,OAAO,CAAC,sBAAsB;CAM/B"}
@@ -7,20 +7,28 @@ export declare enum DependencyLifecycle {
7
7
  }
8
8
  /**
9
9
  * Policy for handling dependency resolution failures.
10
+ *
11
+ * All policies follow a lookup-first approach: The framework first checks if a model
12
+ * with the specified ID already exists. If found and the type matches, it returns the
13
+ * existing instance. Only if no existing model is found does the framework apply the
14
+ * resolution policy below.
10
15
  */
11
16
  export declare enum DependencyResolutionPolicy {
12
17
  /**
13
- * CREATE (default) - Attempt to create a new instance of the model if it doesn't exist.
14
- * If the model expects options and none are provided, it will fail with an exception.
18
+ * CREATE (default) - After lookup fails, attempt to create a new instance of the model.
19
+ * If the model requires options (via optionsRequired flag) and none are provided,
20
+ * it will fail with an exception.
15
21
  */
16
22
  CREATE = "create",
17
23
  /**
18
- * CONTINUE - Do not create a new instance if the dependency cannot be resolved.
19
- * The property will be set to undefined/null. Log the failure but allow execution to continue.
24
+ * CONTINUE - After lookup fails, do not attempt to create a new instance.
25
+ * The property will be set to undefined. Log the failure but allow execution to continue.
26
+ * Use for optional dependencies that can degrade gracefully.
20
27
  */
21
28
  CONTINUE = "continue",
22
29
  /**
23
- * FAIL - Throw an exception and log detailed failure information if the dependency cannot be resolved.
30
+ * FAIL - After lookup fails, throw an exception with detailed diagnostic logging.
31
+ * Use for critical dependencies where failure should halt execution.
24
32
  */
25
33
  FAIL = "fail"
26
34
  }
@@ -38,9 +46,13 @@ export interface KosDependencyParams<Options = unknown> {
38
46
  lifecycle?: DependencyLifecycle;
39
47
  /**
40
48
  * Policy for handling dependency resolution failures.
41
- * - CREATE (default): Attempts to create model instance, fails if options are missing
42
- * - CONTINUE: Logs error but continues with undefined dependency
43
- * - FAIL: Throws exception with detailed error logging
49
+ *
50
+ * All policies first attempt to look up an existing model instance. If found and the type
51
+ * matches, the existing instance is returned. Only if lookup fails does the policy apply:
52
+ *
53
+ * - CREATE (default): Attempts to create model instance after lookup fails
54
+ * - CONTINUE: Returns undefined after lookup fails, allows graceful degradation
55
+ * - FAIL: Throws exception with detailed logging after lookup fails
44
56
  */
45
57
  resolutionPolicy?: DependencyResolutionPolicy;
46
58
  }
@@ -1 +1 @@
1
- {"version":3,"file":"kos-dependency.d.ts","sourceRoot":"","sources":["../../../../../../packages/sdk/kos-ui-sdk/src/core/types/kos-dependency.ts"],"names":[],"mappings":"AAAA,oBAAY,mBAAmB;IAC7B,IAAI,SAAS;IACb,IAAI,SAAS;IACb,KAAK,UAAU;IACf,QAAQ,aAAa;IACrB,MAAM,WAAW;CAClB;AAED;;GAEG;AACH,oBAAY,0BAA0B;IACpC;;;OAGG;IACH,MAAM,WAAW;IACjB;;;OAGG;IACH,QAAQ,aAAa;IACrB;;OAEG;IACH,IAAI,SAAS;CACd;AAED;;KAEK;AACL,MAAM,WAAW,mBAAmB,CAAC,OAAO,GAAG,OAAO;IACpD,4CAA4C;IAC5C,SAAS,EAAE,MAAM,CAAC;IAClB,0CAA0C;IAC1C,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,yDAAyD;IACzD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,gEAAgE;IAChE,SAAS,CAAC,EAAE,mBAAmB,CAAC;IAChC;;;;;OAKG;IACH,gBAAgB,CAAC,EAAE,0BAA0B,CAAC;CAC/C"}
1
+ {"version":3,"file":"kos-dependency.d.ts","sourceRoot":"","sources":["../../../../../../packages/sdk/kos-ui-sdk/src/core/types/kos-dependency.ts"],"names":[],"mappings":"AAAA,oBAAY,mBAAmB;IAC7B,IAAI,SAAS;IACb,IAAI,SAAS;IACb,KAAK,UAAU;IACf,QAAQ,aAAa;IACrB,MAAM,WAAW;CAClB;AAED;;;;;;;GAOG;AACH,oBAAY,0BAA0B;IACpC;;;;OAIG;IACH,MAAM,WAAW;IACjB;;;;OAIG;IACH,QAAQ,aAAa;IACrB;;;OAGG;IACH,IAAI,SAAS;CACd;AAED;;KAEK;AACL,MAAM,WAAW,mBAAmB,CAAC,OAAO,GAAG,OAAO;IACpD,4CAA4C;IAC5C,SAAS,EAAE,MAAM,CAAC;IAClB,0CAA0C;IAC1C,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,yDAAyD;IACzD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,gEAAgE;IAChE,SAAS,CAAC,EAAE,mBAAmB,CAAC;IAChC;;;;;;;;;OASG;IACH,gBAAgB,CAAC,EAAE,0BAA0B,CAAC;CAC/C"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Zone 3 utility for logging errors with structured context
3
+ */
4
+ export interface ModelInstantiationErrorContext {
5
+ modelType: string;
6
+ options: any;
7
+ registryId: string;
8
+ }
9
+ /**
10
+ * Logs a model instantiation error with structured metadata.
11
+ *
12
+ * @param error - The error that occurred during instantiation
13
+ * @param context - Contextual information about the failed instantiation
14
+ */
15
+ export declare function logModelInstantiationError(error: unknown, context: ModelInstantiationErrorContext): void;
16
+ //# sourceMappingURL=error-logger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"error-logger.d.ts","sourceRoot":"","sources":["../../../../../../packages/sdk/kos-ui-sdk/src/core/util/error-logger.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,WAAW,8BAA8B;IAC7C,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,GAAG,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;;;;GAKG;AACH,wBAAgB,0BAA0B,CACxC,KAAK,EAAE,OAAO,EACd,OAAO,EAAE,8BAA8B,GACtC,IAAI,CASN"}
@@ -0,0 +1,41 @@
1
+ import { IKosModel } from '../core/kosModel';
2
+
3
+ /**
4
+ * Transition map type for lifecycle operations
5
+ */
6
+ export type ModelPromiseResolver = (model: IKosModel) => Promise<void>;
7
+ /**
8
+ * Transitions a model to the ACTIVE state
9
+ */
10
+ export declare const transitionToActive: (model: IKosModel) => Promise<void>;
11
+ /**
12
+ * Transitions a model to the READY state
13
+ */
14
+ export declare const transitionToReady: (model: IKosModel) => Promise<void>;
15
+ /**
16
+ * Transitions a model to the LOADED state
17
+ */
18
+ export declare const transitionToLoad: (model: IKosModel) => Promise<void>;
19
+ /**
20
+ * Transitions a model to the UNLOADED state
21
+ */
22
+ export declare const transitionToUnload: (model: IKosModel) => Promise<void>;
23
+ /**
24
+ * Transitions a model to the INITIALIZED state
25
+ */
26
+ export declare const transitionToInit: (model: IKosModel) => Promise<void>;
27
+ /**
28
+ * Enum defining available lifecycle transitions
29
+ */
30
+ export declare enum Transitions {
31
+ ACTIVE = "active",
32
+ READY = "ready",
33
+ LOAD = "load",
34
+ UNLOAD = "unload",
35
+ INIT = "init"
36
+ }
37
+ /**
38
+ * Mapping of transition types to their corresponding transition functions
39
+ */
40
+ export declare const TransitionMap: Record<Transitions, ModelPromiseResolver>;
41
+ //# sourceMappingURL=model-transition-utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model-transition-utils.d.ts","sourceRoot":"","sources":["../../../../../../packages/sdk/kos-ui-sdk/src/core/util/model-transition-utils.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAGlD;;GAEG;AACH,MAAM,MAAM,oBAAoB,GAAG,CAAC,KAAK,EAAE,SAAS,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;AAEvE;;GAEG;AACH,eAAO,MAAM,kBAAkB,UAAW,SAAS,KAAG,QAAQ,IAAI,CACM,CAAC;AAEzE;;GAEG;AACH,eAAO,MAAM,iBAAiB,UAAW,SAAS,KAAG,QAAQ,IAAI,CAC9C,CAAC;AAEpB;;GAEG;AACH,eAAO,MAAM,gBAAgB,UAAW,SAAS,KAAG,QAAQ,IAAI,CACG,CAAC;AAEpE;;GAEG;AACH,eAAO,MAAM,kBAAkB,UAAW,SAAS,KAAG,QAAQ,IAAI,CACK,CAAC;AAExE;;GAEG;AACH,eAAO,MAAM,gBAAgB,UAAW,SAAS,KAAG,QAAQ,IAAI,CACc,CAAC;AAE/E;;GAEG;AACH,oBAAY,WAAW;IACrB,MAAM,WAAW;IACjB,KAAK,UAAU;IACf,IAAI,SAAS;IACb,MAAM,WAAW;IACjB,IAAI,SAAS;CACd;AAED;;GAEG;AACH,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,WAAW,EAAE,oBAAoB,CAMnE,CAAC"}
@@ -0,0 +1,26 @@
1
+ import { IKosDataModel } from '../core/kosModel';
2
+ import { IKosModelContainer } from '../core/kos-container-model';
3
+
4
+ /**
5
+ * Type guard to check if a model has a toJSON method
6
+ */
7
+ export declare const isPrintable: (model: any) => model is {
8
+ toJSON: () => object;
9
+ };
10
+ /**
11
+ * Type guard to check if an object is a KOS data model
12
+ */
13
+ export declare const isKosDataModel: (model: any) => model is IKosDataModel;
14
+ /**
15
+ * Type guard to check if a model is a KOS model container
16
+ */
17
+ export declare const isKosModelContainer: (model: any) => model is IKosModelContainer<any>;
18
+ /**
19
+ * Resolves a child attribute to its data model representation.
20
+ * Handles various collection types and extracts KOS data models.
21
+ *
22
+ * @param attribute - The attribute to resolve (can be a model, container, collection, or array)
23
+ * @returns The resolved data model(s) or undefined
24
+ */
25
+ export declare const resolveChild: (attribute: any) => IKosDataModel | IKosDataModel[] | undefined;
26
+ //# sourceMappingURL=model-type-guards.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model-type-guards.d.ts","sourceRoot":"","sources":["../../../../../../packages/sdk/kos-ui-sdk/src/core/util/model-type-guards.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AACjE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEtD;;GAEG;AACH,eAAO,MAAM,WAAW,UAAW,GAAG;YAAsB,MAAM,MAAM;CACpC,CAAC;AAErC;;GAEG;AACH,eAAO,MAAM,cAAc,UAAW,GAAG,2BACF,CAAC;AAExC;;GAEG;AACH,eAAO,MAAM,mBAAmB,UACvB,GAAG,qCAE+C,CAAC;AAE5D;;;;;;GAMG;AACH,eAAO,MAAM,YAAY,cACZ,GAAG,KACb,aAAa,GAAG,aAAa,EAAE,GAAG,SAepC,CAAC"}
@@ -1,7 +1,11 @@
1
+ import { Transitions } from './model-transition-utils';
1
2
  import { DependencyLifecycle, KosDependencyParams } from '../types/kos-dependency';
2
3
  import { IKosDataModel, IKosModel } from '../core/kosModel';
3
- import { IKosModelContainer } from '../core/kos-container-model';
4
4
 
5
+ export { Transitions, TransitionMap } from './model-transition-utils';
6
+ export { isPrintable, isKosDataModel, isKosModelContainer, resolveChild, } from './model-type-guards';
7
+ export { ModelError } from './promise-utils';
8
+ export type { ModelPromiseResolver } from './model-transition-utils';
5
9
  export interface ModelPromise {
6
10
  promise?: Promise<void>;
7
11
  modelId?: string;
@@ -9,31 +13,15 @@ export interface ModelPromise {
9
13
  type?: string;
10
14
  status?: string;
11
15
  }
12
- export type ModelPromiseResolver = (model: IKosModel) => Promise<void>;
13
- export declare const transitionToActive: (model: IKosModel) => Promise<void>;
14
- export declare const transitionToReady: (model: IKosModel) => Promise<void>;
15
- export declare const transitionToLoad: (model: IKosModel) => Promise<void>;
16
- export declare const transitionToUnload: (model: IKosModel) => Promise<void>;
17
- export declare const transitionToInit: (model: IKosModel) => Promise<void>;
18
- export declare enum Transitions {
19
- ACTIVE = "active",
20
- READY = "ready",
21
- LOAD = "load",
22
- UNLOAD = "unload",
23
- INIT = "init"
24
- }
25
- export declare const TransitionMap: {
26
- active: (model: IKosModel) => Promise<void>;
27
- ready: (model: IKosModel) => Promise<void>;
28
- load: (model: IKosModel) => Promise<void>;
29
- init: (model: IKosModel) => Promise<void>;
30
- };
31
16
  export declare const createModelDependency: (model: IKosModel, dependency: KosDependencyParams<any>) => {
32
17
  dependentModel: null;
33
18
  dataModelId: string;
34
19
  success: boolean;
35
20
  } | {
36
- dependentModel: import('../core/types/kos-model-manager-types').IKosCreateInstanceResponse<IKosDataModel>;
21
+ dependentModel: {
22
+ model: IKosModel<IKosDataModel>;
23
+ data: IKosDataModel;
24
+ };
37
25
  dataModelId: string;
38
26
  success: boolean;
39
27
  };
@@ -41,10 +29,4 @@ export declare const getDependenciesByLifecycle: (model: IKosModel, lifecycle?:
41
29
  export declare const executeListLifecycle: (sourceModel: IKosModel, models: (IKosModel | undefined)[], target: Transitions, sourceLifecycle: DependencyLifecycle) => Promise<void>;
42
30
  export declare const executeChildrenModelLifecycle: (model: IKosModel, target: Transitions, sourceLifecycle: DependencyLifecycle) => Promise<void>;
43
31
  export declare const executeDependentModelLifecycle: (model: IKosModel, lifecycle: DependencyLifecycle) => Promise<void>;
44
- export declare const isPrintable: (model: any) => model is {
45
- toJSON: () => object;
46
- };
47
- export declare const isKosDataModel: (model: any) => model is IKosDataModel;
48
- export declare const isKosModelContainer: (model: any) => model is IKosModelContainer<any>;
49
- export declare const resolveChild: (attribute: any) => any[] | IKosDataModel | undefined;
50
32
  //# sourceMappingURL=model-utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"model-utils.d.ts","sourceRoot":"","sources":["../../../../../../packages/sdk/kos-ui-sdk/src/core/util/model-utils.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAEjE,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAGjE,OAAO,EACL,mBAAmB,EAEnB,mBAAmB,EACpB,MAAM,yBAAyB,CAAC;AAIjC,MAAM,WAAW,YAAY;IAC3B,OAAO,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AASD,MAAM,MAAM,oBAAoB,GAAG,CAAC,KAAK,EAAE,SAAS,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;AA8BvE,eAAO,MAAM,kBAAkB,UAAW,SAAS,KAAG,QAAQ,IAAI,CACM,CAAC;AAEzE,eAAO,MAAM,iBAAiB,UAAW,SAAS,KAAG,QAAQ,IAAI,CAC9C,CAAC;AAEpB,eAAO,MAAM,gBAAgB,UAAW,SAAS,KAAG,QAAQ,IAAI,CACG,CAAC;AAEpE,eAAO,MAAM,kBAAkB,UAAW,SAAS,KAAG,QAAQ,IAAI,CACK,CAAC;AAExE,eAAO,MAAM,gBAAgB,UAAW,SAAS,KAAG,QAAQ,IAAI,CACc,CAAC;AAE/E,oBAAY,WAAW;IACrB,MAAM,WAAW;IACjB,KAAK,UAAU;IACf,IAAI,SAAS;IACb,MAAM,WAAW;IACjB,IAAI,SAAS;CACd;AACD,eAAO,MAAM,aAAa;oBAtBgB,SAAS,KAAG,QAAQ,IAAI,CAAC;mBAG1B,SAAS,KAAG,QAAQ,IAAI,CAAC;kBAG1B,SAAS,KAAG,QAAQ,IAAI,CAAC;kBAMzB,SAAS,KAAG,QAAQ,IAAI,CAAC;CAehE,CAAC;AAEF,eAAO,MAAM,qBAAqB,UACzB,SAAS,cACJ,oBAAoB,GAAG,CAAC;;;;;;;;CA+HrC,CAAC;AAEF,eAAO,MAAM,0BAA0B,UAC9B,SAAS,cACL,mBAAmB,6BAqE/B,CAAC;AAEF,eAAO,MAAM,oBAAoB,gBAClB,SAAS,UACd,CAAC,SAAS,GAAG,SAAS,CAAC,EAAE,UACzB,WAAW,mBACF,mBAAmB,kBAiHrC,CAAC;AAEF,eAAO,MAAM,6BAA6B,UACjC,SAAS,UACR,WAAW,mBACF,mBAAmB,kBAQrC,CAAC;AAEF,eAAO,MAAM,8BAA8B,UAClC,SAAS,aACL,mBAAmB,kBAa/B,CAAC;AAEF,eAAO,MAAM,WAAW,UAAW,GAAG;YAAsB,MAAM,MAAM;CACpC,CAAC;AAErC,eAAO,MAAM,cAAc,UAAW,GAAG,2BACF,CAAC;AAExC,eAAO,MAAM,mBAAmB,UACvB,GAAG,qCAE+C,CAAC;AAE5D,eAAO,MAAM,YAAY,cAAe,GAAG,sCAe1C,CAAC"}
1
+ {"version":3,"file":"model-utils.d.ts","sourceRoot":"","sources":["../../../../../../packages/sdk/kos-ui-sdk/src/core/util/model-utils.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAGjE,OAAO,EACL,mBAAmB,EAEnB,mBAAmB,EACpB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EAAiB,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAUtE,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACtE,OAAO,EACL,WAAW,EACX,cAAc,EACd,mBAAmB,EACnB,YAAY,GACb,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,YAAY,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAErE,MAAM,WAAW,YAAY;IAC3B,OAAO,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,eAAO,MAAM,qBAAqB,UACzB,SAAS,cACJ,oBAAoB,GAAG,CAAC;;;;;;;;;;;CA+KrC,CAAC;AAEF,eAAO,MAAM,0BAA0B,UAC9B,SAAS,cACL,mBAAmB,6BAqE/B,CAAC;AAEF,eAAO,MAAM,oBAAoB,gBAClB,SAAS,UACd,CAAC,SAAS,GAAG,SAAS,CAAC,EAAE,UACzB,WAAW,mBACF,mBAAmB,kBAqHrC,CAAC;AAEF,eAAO,MAAM,6BAA6B,UACjC,SAAS,UACR,WAAW,mBACF,mBAAmB,kBAQrC,CAAC;AAEF,eAAO,MAAM,8BAA8B,UAClC,SAAS,aACL,mBAAmB,kBAa/B,CAAC"}
@@ -0,0 +1,58 @@
1
+ import { IKosModel } from '../core/kosModel';
2
+
3
+ /**
4
+ * Custom error for model timeout scenarios
5
+ */
6
+ export declare class ModelError extends Error {
7
+ model: IKosModel;
8
+ constructor(message: string | undefined, model: IKosModel);
9
+ }
10
+ /**
11
+ * Creates a promise that rejects after a specified delay with model context.
12
+ * Provides a cancel function to prevent rejection if the operation completes.
13
+ *
14
+ * @param ms - Timeout duration in milliseconds
15
+ * @param model - The model being operated on
16
+ * @param status - Description of the operation status (e.g., "ACTIVE", "INACTIVE")
17
+ * @returns Object containing the timeout promise and a cancel function
18
+ *
19
+ * @example
20
+ * ```typescript
21
+ * const { promise: timeoutPromise, cancel } = rejectAfterDelay(
22
+ * MODEL_PROMISE_TIMEOUT_MS,
23
+ * myModel,
24
+ * 'ACTIVE'
25
+ * );
26
+ *
27
+ * Promise.race([
28
+ * myOperation().then(() => cancel()),
29
+ * timeoutPromise
30
+ * ]);
31
+ * ```
32
+ */
33
+ export declare const rejectAfterDelay: (ms: number, model: IKosModel, status: string) => {
34
+ promise: Promise<void>;
35
+ cancel: () => void;
36
+ };
37
+ /**
38
+ * Races a promise against a timeout with automatic cleanup.
39
+ * Useful for ensuring operations complete within a time limit.
40
+ *
41
+ * @param promise - The operation promise to race
42
+ * @param timeoutMs - Timeout duration in milliseconds (defaults to MODEL_PROMISE_TIMEOUT_MS)
43
+ * @param model - The model being operated on
44
+ * @param status - Description of the operation
45
+ * @returns Promise that resolves/rejects based on whichever completes first
46
+ *
47
+ * @example
48
+ * ```typescript
49
+ * await raceWithTimeout(
50
+ * model.transitionToActive(),
51
+ * MODEL_PROMISE_TIMEOUT_MS,
52
+ * model,
53
+ * 'ACTIVE'
54
+ * );
55
+ * ```
56
+ */
57
+ export declare const raceWithTimeout: <T>(promise: Promise<T>, timeoutMs: number | undefined, model: IKosModel, status: string) => Promise<T>;
58
+ //# sourceMappingURL=promise-utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"promise-utils.d.ts","sourceRoot":"","sources":["../../../../../../packages/sdk/kos-ui-sdk/src/core/util/promise-utils.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAGlD;;GAEG;AACH,qBAAa,UAAW,SAAQ,KAAK;IACnC,KAAK,EAAE,SAAS,CAAC;gBACL,OAAO,EAAE,MAAM,GAAG,SAAS,EAAE,KAAK,EAAE,SAAS;CAI1D;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,eAAO,MAAM,gBAAgB,OACvB,MAAM,SACH,SAAS,UACR,MAAM,KACb;IAAE,OAAO,EAAE,QAAQ,IAAI,CAAC,CAAC;IAAC,MAAM,EAAE,MAAM,IAAI,CAAA;CAsB9C,CAAC;AAEF;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,eAAe,eACjB,QAAQ,CAAC,CAAC,wCAEZ,SAAS,UACR,MAAM,KACb,QAAQ,CAAC,CAeX,CAAC"}