@kosdev-code/kos-ui-sdk 0.1.0-next.810 → 0.1.0-next.812

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.
@@ -8,6 +8,11 @@ declare global {
8
8
  }
9
9
  }
10
10
  export interface IKosCoreLifecycle {
11
+ /**
12
+ * Starts the lifecycle state machine. Idempotent; called by `create()` once
13
+ * the core has a model manager.
14
+ */
15
+ startLifecycle(): void;
11
16
  /**
12
17
  * lifecycle function to initialize the core and provide initial values that
13
18
  * will be used by the system. For example, loading the logger, setting up
@@ -52,8 +57,10 @@ export declare class KosCore implements IKosCoreManager {
52
57
  isOnline: boolean;
53
58
  private _reloading;
54
59
  private _unloading;
60
+ private lifecycleStarted;
55
61
  connectionAlias?: string;
56
62
  private constructor();
63
+ startLifecycle(): void;
57
64
  get onlineStatus(): boolean;
58
65
  get reloading(): boolean;
59
66
  get unloading(): boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"kosCore.d.ts","sourceRoot":"","sources":["../../../../../packages/kos-ui-sdk/src/core/core/kosCore.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"kosCore.d.ts","sourceRoot":"","sources":["../../../../../packages/kos-ui-sdk/src/core/core/kosCore.ts"],"names":[],"mappings":"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"}
@@ -12,7 +12,8 @@ export declare enum KosCoreState {
12
12
  OFFLINE = "offline",
13
13
  UNLOADING = "unloading",
14
14
  UNLOADED = "unloaded",
15
- RELOADING = "reloading"
15
+ RELOADING = "reloading",
16
+ FAILED = "failed"
16
17
  }
17
18
  export declare enum KosCoreEvents {
18
19
  CREATE = "create",
@@ -60,6 +61,7 @@ export declare const coreFsm: (core: IKosCoreManager) => {
60
61
  loaded: import('robot3').MachineState;
61
62
  readying: import('robot3').MachineState;
62
63
  reloading: import('robot3').MachineState;
64
+ failed: import('robot3').MachineState;
63
65
  ready: import('robot3').MachineState;
64
66
  unloaded: import('robot3').MachineState;
65
67
  }, {}, import('robot3').AllStateKeys<{
@@ -71,6 +73,7 @@ export declare const coreFsm: (core: IKosCoreManager) => {
71
73
  loaded: unknown;
72
74
  readying: unknown;
73
75
  reloading: unknown;
76
+ failed: unknown;
74
77
  ready: unknown;
75
78
  unloaded: unknown;
76
79
  }>>>;
@@ -1 +1 @@
1
- {"version":3,"file":"kosCoreLifecycle.d.ts","sourceRoot":"","sources":["../../../../../../packages/kos-ui-sdk/src/core/core/lifecycle/kosCoreLifecycle.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAElD,oBAAY,YAAY;IACtB,QAAQ,aAAa;IACrB,OAAO,YAAY;IACnB,YAAY,iBAAiB;IAC7B,WAAW,gBAAgB;IAC3B,OAAO,YAAY;IACnB,MAAM,WAAW;IACjB,MAAM,WAAW;IACjB,QAAQ,aAAa;IACrB,KAAK,UAAU;IACf,OAAO,YAAY;IACnB,SAAS,cAAc;IACvB,QAAQ,aAAa;IACrB,SAAS,cAAc;CACxB;AAED,oBAAY,aAAa;IACvB,MAAM,WAAW;IACjB,UAAU,SAAS;IACnB,KAAK,UAAU;IACf,SAAS,cAAc;IACvB,UAAU,eAAe;IACzB,MAAM,WAAW;IACjB,MAAM,WAAW;CAClB;AAED,MAAM,WAAW,KAAK;IACpB,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,SAAS,CAAC,OAAO;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;IACxC,MAAM,EAAE;QACN,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;CACH;AACD,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,KAAK,CAAC;CACX;AACD,MAAM,WAAW,0BAA0B,CAAC,OAAO;IACjD,CAAC,CAAC,EAAE,MAAM,GAAG;QACX,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,MAAM,CAAC,EAAE,0BAA0B,CAAC,OAAO,CAAC,CAAC;QAC7C,EAAE,CAAC,EAAE,KAAK,CAAC;QACX,MAAM,CAAC,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC;KAC7B,CAAC;CACH;AAED,MAAM,WAAW,YAAY,CAAC,OAAO,GAAG,GAAG;IACzC,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,0BAA0B,CAAC,OAAO,CAAC,CAAC;IAC5C,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,eAAO,MAAM,OAAO,GAAI,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiG5C,CAAC"}
1
+ {"version":3,"file":"kosCoreLifecycle.d.ts","sourceRoot":"","sources":["../../../../../../packages/kos-ui-sdk/src/core/core/lifecycle/kosCoreLifecycle.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAElD,oBAAY,YAAY;IACtB,QAAQ,aAAa;IACrB,OAAO,YAAY;IACnB,YAAY,iBAAiB;IAC7B,WAAW,gBAAgB;IAC3B,OAAO,YAAY;IACnB,MAAM,WAAW;IACjB,MAAM,WAAW;IACjB,QAAQ,aAAa;IACrB,KAAK,UAAU;IACf,OAAO,YAAY;IACnB,SAAS,cAAc;IACvB,QAAQ,aAAa;IACrB,SAAS,cAAc;IACvB,MAAM,WAAW;CAClB;AAED,oBAAY,aAAa;IACvB,MAAM,WAAW;IACjB,UAAU,SAAS;IACnB,KAAK,UAAU;IACf,SAAS,cAAc;IACvB,UAAU,eAAe;IACzB,MAAM,WAAW;IACjB,MAAM,WAAW;CAClB;AAED,MAAM,WAAW,KAAK;IACpB,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,SAAS,CAAC,OAAO;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;IACxC,MAAM,EAAE;QACN,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;CACH;AACD,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,KAAK,CAAC;CACX;AACD,MAAM,WAAW,0BAA0B,CAAC,OAAO;IACjD,CAAC,CAAC,EAAE,MAAM,GAAG;QACX,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,MAAM,CAAC,EAAE,0BAA0B,CAAC,OAAO,CAAC,CAAC;QAC7C,EAAE,CAAC,EAAE,KAAK,CAAC;QACX,MAAM,CAAC,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC;KAC7B,CAAC;CACH;AAED,MAAM,WAAW,YAAY,CAAC,OAAO,GAAG,GAAG;IACzC,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,0BAA0B,CAAC,OAAO,CAAC,CAAC;IAC5C,OAAO,EAAE,OAAO,CAAC;CAClB;AAoBD,eAAO,MAAM,OAAO,GAAI,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkH5C,CAAC"}
package/index.cjs CHANGED
@@ -9913,6 +9913,7 @@ var KosCoreState = /* @__PURE__ */ ((KosCoreState2) => {
9913
9913
  KosCoreState2["UNLOADING"] = `unloading`;
9914
9914
  KosCoreState2["UNLOADED"] = `unloaded`;
9915
9915
  KosCoreState2["RELOADING"] = `reloading`;
9916
+ KosCoreState2["FAILED"] = `failed`;
9916
9917
  return KosCoreState2;
9917
9918
  })(KosCoreState || {});
9918
9919
  var KosCoreEvents = /* @__PURE__ */ ((KosCoreEvents2) => {
@@ -9925,6 +9926,15 @@ var KosCoreEvents = /* @__PURE__ */ ((KosCoreEvents2) => {
9925
9926
  KosCoreEvents2["RELOAD"] = `reload`;
9926
9927
  return KosCoreEvents2;
9927
9928
  })(KosCoreEvents || {});
9929
+ const reportFailure = async (step, run2) => {
9930
+ try {
9931
+ return await run2();
9932
+ } catch (error) {
9933
+ const detail = error instanceof Error ? error.stack ?? `${error.name}: ${error.message}` : String(error);
9934
+ log$R.error(`KOS Core lifecycle step "${step}" failed. ${detail}`);
9935
+ throw error;
9936
+ }
9937
+ };
9928
9938
  const coreFsm = (core) => {
9929
9939
  const onlineMachine2 = robot3.createMachine("offline", {
9930
9940
  [
@@ -9962,6 +9972,15 @@ const coreFsm = (core) => {
9962
9972
  onlineMachine2,
9963
9973
  (_service) => log$R.debug(_service.machine.current)
9964
9974
  );
9975
+ const failed = robot3.transition(
9976
+ `error`,
9977
+ "failed",
9978
+ robot3.action(() => {
9979
+ mobx.runInAction(() => {
9980
+ core.status = "failed";
9981
+ });
9982
+ })
9983
+ );
9965
9984
  const machine2 = robot3.createMachine({
9966
9985
  [
9967
9986
  "creating"
@@ -9984,12 +10003,13 @@ const coreFsm = (core) => {
9984
10003
  "initializing"
9985
10004
  /* INITIALIZING */
9986
10005
  ]: robot3.invoke(
9987
- () => core.init(),
10006
+ () => reportFailure("initializing", () => core.init()),
9988
10007
  robot3.transition(
9989
10008
  `done`,
9990
10009
  "initialized"
9991
10010
  /* INITIALIZED */
9992
- )
10011
+ ),
10012
+ failed
9993
10013
  ),
9994
10014
  [
9995
10015
  "initialized"
@@ -10002,12 +10022,13 @@ const coreFsm = (core) => {
10002
10022
  "loading"
10003
10023
  /* LOADING */
10004
10024
  ]: robot3.invoke(
10005
- () => core.load(),
10025
+ () => reportFailure("loading", () => core.load()),
10006
10026
  robot3.transition(
10007
10027
  `done`,
10008
10028
  "loaded"
10009
10029
  /* LOADED */
10010
- )
10030
+ ),
10031
+ failed
10011
10032
  ),
10012
10033
  [
10013
10034
  "loaded"
@@ -10027,7 +10048,7 @@ const coreFsm = (core) => {
10027
10048
  "readying"
10028
10049
  /* READYING */
10029
10050
  ]: robot3.invoke(
10030
- () => core.ready(),
10051
+ () => reportFailure("readying", () => core.ready()),
10031
10052
  robot3.transition(
10032
10053
  `done`,
10033
10054
  "ready",
@@ -10036,19 +10057,25 @@ const coreFsm = (core) => {
10036
10057
  core.status = "ready";
10037
10058
  });
10038
10059
  })
10039
- )
10060
+ ),
10061
+ failed
10040
10062
  ),
10041
10063
  [
10042
10064
  "reloading"
10043
10065
  /* RELOADING */
10044
10066
  ]: robot3.invoke(
10045
- () => core.reload(),
10067
+ () => reportFailure("reloading", () => core.reload()),
10046
10068
  robot3.transition(
10047
10069
  `done`,
10048
10070
  "loading"
10049
10071
  /* LOADING */
10050
- )
10072
+ ),
10073
+ failed
10051
10074
  ),
10075
+ [
10076
+ "failed"
10077
+ /* FAILED */
10078
+ ]: robot3.state(),
10052
10079
  [
10053
10080
  "ready"
10054
10081
  /* READY */
@@ -10186,6 +10213,7 @@ class KosCore {
10186
10213
  isOnline;
10187
10214
  _reloading;
10188
10215
  _unloading;
10216
+ lifecycleStarted = false;
10189
10217
  connectionAlias;
10190
10218
  constructor(connectionAlias) {
10191
10219
  this.initialized = false;
@@ -10262,6 +10290,12 @@ class KosCore {
10262
10290
  }
10263
10291
  this._transport = ws.init();
10264
10292
  this.fsmService = coreFsm(this);
10293
+ }
10294
+ startLifecycle() {
10295
+ if (this.lifecycleStarted) {
10296
+ return;
10297
+ }
10298
+ this.lifecycleStarted = true;
10265
10299
  this.fsmService.service.send(KosCoreEvents.CREATE);
10266
10300
  }
10267
10301
  get onlineStatus() {
@@ -10351,6 +10385,12 @@ class KosCore {
10351
10385
  async ready() {
10352
10386
  log$w.debug("Readying KOS Core");
10353
10387
  await this._transport.whenReady();
10388
+ log$w.debug("KOS Transport ready. Preloading models");
10389
+ if (!this.modelManager) {
10390
+ throw new Error(
10391
+ "KOS Core reached ready() with no model manager. Its lifecycle was started without a registry."
10392
+ );
10393
+ }
10354
10394
  const promises = this.modelManager.preloadedModels.map((model) => {
10355
10395
  return {
10356
10396
  modelId: model.modelId,
@@ -10358,6 +10398,7 @@ class KosCore {
10358
10398
  promise: model.whenReady()
10359
10399
  };
10360
10400
  });
10401
+ log$w.debug(`Preloaded ${promises.length} models`);
10361
10402
  const settled = await Promise.allSettled(
10362
10403
  promises.map((promise) => {
10363
10404
  const { promise: timeoutPromise, cancel: timeoutCancel } = rejectAfterDelay(5e3, promise.model);
@@ -10476,6 +10517,7 @@ class KosCore {
10476
10517
  });
10477
10518
  const modelManager = KosModelManager.create(registry, reset2);
10478
10519
  instance.modelManager = modelManager;
10520
+ instance.startLifecycle();
10479
10521
  return instance;
10480
10522
  }
10481
10523
  static getInstance(data) {