@vived/host 4.6.0 → 4.7.0

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.
Files changed (42) hide show
  1. package/dist/cjs/StateMachine/Entities/HostEditingStateEntity.js +62 -0
  2. package/dist/cjs/StateMachine/Entities/HostEditingStateEntity.js.map +1 -1
  3. package/dist/cjs/StateMachine/Entities/HostStateEntity.js +91 -2
  4. package/dist/cjs/StateMachine/Entities/HostStateEntity.js.map +1 -1
  5. package/dist/cjs/StateMachine/Entities/HostStateMachine.js +127 -0
  6. package/dist/cjs/StateMachine/Entities/HostStateMachine.js.map +1 -1
  7. package/dist/cjs/StateMachine/Mocks/MockHostStateEntity.js +1 -0
  8. package/dist/cjs/StateMachine/Mocks/MockHostStateEntity.js.map +1 -1
  9. package/dist/cjs/StateMachine/PMs/HostStatePM.js +6 -2
  10. package/dist/cjs/StateMachine/PMs/HostStatePM.js.map +1 -1
  11. package/dist/cjs/StateMachine/UCs/DeleteStateUC.js +1 -1
  12. package/dist/cjs/StateMachine/UCs/DeleteStateUC.js.map +1 -1
  13. package/dist/cjs/StateMachine/UCs/DuplicateStateUC.js +1 -1
  14. package/dist/cjs/StateMachine/UCs/DuplicateStateUC.js.map +1 -1
  15. package/dist/cjs/StateMachine/UCs/SavePersistentStates.js.map +1 -1
  16. package/dist/esm/StateMachine/Entities/HostEditingStateEntity.js +62 -0
  17. package/dist/esm/StateMachine/Entities/HostEditingStateEntity.js.map +1 -1
  18. package/dist/esm/StateMachine/Entities/HostStateEntity.js +90 -1
  19. package/dist/esm/StateMachine/Entities/HostStateEntity.js.map +1 -1
  20. package/dist/esm/StateMachine/Entities/HostStateMachine.js +127 -0
  21. package/dist/esm/StateMachine/Entities/HostStateMachine.js.map +1 -1
  22. package/dist/esm/StateMachine/Mocks/MockHostStateEntity.js +2 -1
  23. package/dist/esm/StateMachine/Mocks/MockHostStateEntity.js.map +1 -1
  24. package/dist/esm/StateMachine/PMs/HostStatePM.js +7 -3
  25. package/dist/esm/StateMachine/PMs/HostStatePM.js.map +1 -1
  26. package/dist/esm/StateMachine/UCs/DeleteStateUC.js +1 -1
  27. package/dist/esm/StateMachine/UCs/DeleteStateUC.js.map +1 -1
  28. package/dist/esm/StateMachine/UCs/DuplicateStateUC.js +1 -1
  29. package/dist/esm/StateMachine/UCs/DuplicateStateUC.js.map +1 -1
  30. package/dist/esm/StateMachine/UCs/SavePersistentStates.js.map +1 -1
  31. package/dist/types/StateMachine/Entities/HostEditingStateEntity.d.ts +42 -0
  32. package/dist/types/StateMachine/Entities/HostEditingStateEntity.d.ts.map +1 -1
  33. package/dist/types/StateMachine/Entities/HostStateEntity.d.ts +72 -5
  34. package/dist/types/StateMachine/Entities/HostStateEntity.d.ts.map +1 -1
  35. package/dist/types/StateMachine/Entities/HostStateMachine.d.ts +77 -0
  36. package/dist/types/StateMachine/Entities/HostStateMachine.d.ts.map +1 -1
  37. package/dist/types/StateMachine/Mocks/MockHostStateEntity.d.ts +2 -1
  38. package/dist/types/StateMachine/Mocks/MockHostStateEntity.d.ts.map +1 -1
  39. package/dist/types/StateMachine/PMs/HostStatePM.d.ts +2 -0
  40. package/dist/types/StateMachine/PMs/HostStatePM.d.ts.map +1 -1
  41. package/dist/types/StateMachine/UCs/SavePersistentStates.d.ts.map +1 -1
  42. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"HostEditingStateEntity.d.ts","sourceRoot":"","sources":["../../../../src/StateMachine/Entities/HostEditingStateEntity.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,SAAS,EACT,eAAe,EACf,aAAa,EACd,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,eAAe,EAAY,MAAM,mBAAmB,CAAC;AAG9D,8BAAsB,sBAAuB,SAAQ,eAAe;IAClE,MAAM,CAAC,IAAI,SAA4B;IAEvC,QAAQ,KAAK,SAAS,IAAI,OAAO,CAAC;IAClC,QAAQ,KAAK,UAAU,IAAI,OAAO,CAAC;IACnC,QAAQ,KAAK,YAAY,IAAI,eAAe,GAAG,SAAS,CAAC;IACzD,QAAQ,KAAK,mBAAmB,IAAI,OAAO,CAAC;IAC5C,QAAQ,CAAC,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAEzC,QAAQ,CAAC,aAAa,IAAI,eAAe,GAAG,SAAS;IACrD,QAAQ,CAAC,YAAY,CAAC,KAAK,EAAE,eAAe,GAAG,IAAI;IACnD,QAAQ,CAAC,eAAe,IAAI,IAAI;IAChC,QAAQ,CAAC,aAAa,IAAI,IAAI;IAE9B,MAAM,CAAC,GAAG,CAAC,UAAU,EAAE,aAAa;CAMrC;AAED,wBAAgB,0BAA0B,CACxC,SAAS,EAAE,SAAS,GACnB,sBAAsB,CAExB"}
1
+ {"version":3,"file":"HostEditingStateEntity.d.ts","sourceRoot":"","sources":["../../../../src/StateMachine/Entities/HostEditingStateEntity.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,SAAS,EACT,eAAe,EACf,aAAa,EACd,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,eAAe,EAAY,MAAM,mBAAmB,CAAC;AAG9D;;;;;;;;;;;;;;GAcG;AACH,8BAAsB,sBAAuB,SAAQ,eAAe;IAClE,MAAM,CAAC,IAAI,SAA4B;IAEvC,iDAAiD;IACjD,QAAQ,KAAK,SAAS,IAAI,OAAO,CAAC;IAElC,6EAA6E;IAC7E,QAAQ,KAAK,UAAU,IAAI,OAAO,CAAC;IAEnC,sDAAsD;IACtD,QAAQ,KAAK,YAAY,IAAI,eAAe,GAAG,SAAS,CAAC;IAEzD,8DAA8D;IAC9D,QAAQ,KAAK,mBAAmB,IAAI,OAAO,CAAC;IAE5C,6EAA6E;IAC7E,QAAQ,CAAC,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAEzC;;;OAGG;IACH,QAAQ,CAAC,aAAa,IAAI,eAAe,GAAG,SAAS;IAErD;;;OAGG;IACH,QAAQ,CAAC,YAAY,CAAC,KAAK,EAAE,eAAe,GAAG,IAAI;IAEnD;;;;OAIG;IACH,QAAQ,CAAC,eAAe,IAAI,IAAI;IAEhC;;;OAGG;IACH,QAAQ,CAAC,aAAa,IAAI,IAAI;IAE9B,MAAM,CAAC,GAAG,CAAC,UAAU,EAAE,aAAa;CAMrC;AAED;;;;GAIG;AACH,wBAAgB,0BAA0B,CACxC,SAAS,EAAE,SAAS,GACnB,sBAAsB,CAExB"}
@@ -1,12 +1,29 @@
1
1
  import { AppObject, AppObjectEntity, AppObjectRepo } from "@vived/core";
2
+ /**
3
+ * Defines the types of challenge responses that can be expected in a state
4
+ * These represent different feedback mechanisms available to the user
5
+ */
2
6
  export declare enum ChallengeResponse {
3
- NONE = "NONE",
4
- SCORE = "SCORE",
5
- HIT = "HIT",
6
- MULTIHIT = "MULTIHIT",
7
- PROGRESS = "PROGRESS",
7
+ NONE = "NONE",// No specific response expected
8
+ SCORE = "SCORE",// Numeric score-based response
9
+ HIT = "HIT",// Binary hit/miss response
10
+ MULTIHIT = "MULTIHIT",// Multiple hit targets response
11
+ PROGRESS = "PROGRESS",// Continuous progress response
8
12
  QUALITY = "QUALITY"
9
13
  }
14
+ /**
15
+ * Defines the loading states for streaming assets in a state
16
+ */
17
+ export declare enum StreamState {
18
+ INIT = "INIT",// Initial state before loading
19
+ LOADING = "LOADING",// Assets are currently loading
20
+ READY = "READY",// Assets have loaded successfully
21
+ ERROR = "ERROR"
22
+ }
23
+ /**
24
+ * Data Transfer Object for serializing/deserializing state data
25
+ * Used for persistence, state management, and undo/redo operations
26
+ */
10
27
  export interface StateDTO {
11
28
  id: string;
12
29
  name: string;
@@ -15,18 +32,68 @@ export interface StateDTO {
15
32
  response: string | undefined;
16
33
  appID: string;
17
34
  }
35
+ /**
36
+ * HostStateEntity represents a single state within a state machine.
37
+ *
38
+ * Each state contains:
39
+ * - Metadata (name, ID)
40
+ * - References to assets needed by the state
41
+ * - Custom state data specific to the app implementation
42
+ * - Expected response type for challenge/interaction
43
+ *
44
+ * States are managed by the HostStateMachine and can be persisted/restored
45
+ * through the DTO pattern.
46
+ *
47
+ * This is a core component of the VIVED platform's state-based application model,
48
+ * allowing apps to define discrete states with specific content and behaviors.
49
+ */
18
50
  export declare abstract class HostStateEntity extends AppObjectEntity {
19
51
  static type: string;
52
+ /** Unique identifier for this state */
20
53
  abstract get id(): string;
54
+ /** Human-readable name of the state */
21
55
  abstract name: string;
56
+ /** List of asset IDs required by this state */
22
57
  abstract assets: string[];
58
+ /** Type of response expected from user interactions in this state */
23
59
  abstract expectedResponse: ChallengeResponse | undefined;
60
+ /** ID of the app this state belongs to */
24
61
  abstract appID: string;
62
+ /** Current loading state for streaming assets */
63
+ abstract streamState: StreamState;
64
+ /**
65
+ * Serializes the state to a plain object for persistence
66
+ * @returns StateDTO containing all state data
67
+ */
25
68
  abstract getDTO(): StateDTO;
69
+ /**
70
+ * Deserializes from a DTO and updates this state's properties
71
+ * @param dto The state data transfer object to apply
72
+ */
26
73
  abstract setDTO(dto: StateDTO): void;
74
+ /**
75
+ * Gets the custom state data object
76
+ * Structure is specific to the app implementation
77
+ */
27
78
  abstract get stateData(): object;
79
+ /**
80
+ * Updates the custom state data object
81
+ * @param val New state data object
82
+ * @param checkForChange If true, only notifies observers when actual changes occur
83
+ */
28
84
  abstract setStateData(val: object, checkForChange?: boolean): void;
85
+ /**
86
+ * Gets an existing HostStateEntity by ID
87
+ * @param id The unique identifier for the state
88
+ * @param appObjects The app object repository
89
+ * @returns The state entity if found, undefined otherwise
90
+ */
29
91
  static get(id: string, appObjects: AppObjectRepo): HostStateEntity | undefined;
30
92
  }
93
+ /**
94
+ * Factory function for creating a HostStateEntity instance
95
+ * @param appObject The AppObject to associate with this entity
96
+ * @returns A new HostStateEntity instance
97
+ */
31
98
  export declare function makeHostStateEntity(appObject: AppObject): HostStateEntity;
32
99
  //# sourceMappingURL=HostStateEntity.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"HostStateEntity.d.ts","sourceRoot":"","sources":["../../../../src/StateMachine/Entities/HostStateEntity.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAExE,oBAAY,iBAAiB;IAC3B,IAAI,SAAS;IACb,KAAK,UAAU;IACf,GAAG,QAAQ;IACX,QAAQ,aAAa;IACrB,QAAQ,aAAa;IACrB,OAAO,YAAY;CACpB;AAED,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,KAAK,EAAE,MAAM,CAAC;CACf;AAED,8BAAsB,eAAgB,SAAQ,eAAe;IAC3D,MAAM,CAAC,IAAI,SAAqB;IAEhC,QAAQ,KAAK,EAAE,IAAI,MAAM,CAAC;IAE1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;IAC1B,QAAQ,CAAC,gBAAgB,EAAE,iBAAiB,GAAG,SAAS,CAAC;IACzD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,IAAI,QAAQ;IAC3B,QAAQ,CAAC,MAAM,CAAC,GAAG,EAAE,QAAQ,GAAG,IAAI;IAEpC,QAAQ,KAAK,SAAS,IAAI,MAAM,CAAC;IACjC,QAAQ,CAAC,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,OAAO,GAAG,IAAI;IAElE,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,aAAa;CAIjD;AAED,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,SAAS,GAAG,eAAe,CAEzE"}
1
+ {"version":3,"file":"HostStateEntity.d.ts","sourceRoot":"","sources":["../../../../src/StateMachine/Entities/HostStateEntity.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAExE;;;GAGG;AACH,oBAAY,iBAAiB;IAC3B,IAAI,SAAS,CAAE,gCAAgC;IAC/C,KAAK,UAAU,CAAE,+BAA+B;IAChD,GAAG,QAAQ,CAAE,2BAA2B;IACxC,QAAQ,aAAa,CAAE,gCAAgC;IACvD,QAAQ,aAAa,CAAE,+BAA+B;IACtD,OAAO,YAAY;CACpB;AAED;;GAEG;AACH,oBAAY,WAAW;IACrB,IAAI,SAAS,CAAE,+BAA+B;IAC9C,OAAO,YAAY,CAAE,+BAA+B;IACpD,KAAK,UAAU,CAAE,kCAAkC;IACnD,KAAK,UAAU;CAChB;AAED;;;GAGG;AACH,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;;;;;;;;;;;;GAcG;AACH,8BAAsB,eAAgB,SAAQ,eAAe;IAC3D,MAAM,CAAC,IAAI,SAAqB;IAEhC,uCAAuC;IACvC,QAAQ,KAAK,EAAE,IAAI,MAAM,CAAC;IAE1B,uCAAuC;IACvC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB,+CAA+C;IAC/C,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;IAE1B,qEAAqE;IACrE,QAAQ,CAAC,gBAAgB,EAAE,iBAAiB,GAAG,SAAS,CAAC;IAEzD,0CAA0C;IAC1C,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAEvB,iDAAiD;IACjD,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAElC;;;OAGG;IACH,QAAQ,CAAC,MAAM,IAAI,QAAQ;IAE3B;;;OAGG;IACH,QAAQ,CAAC,MAAM,CAAC,GAAG,EAAE,QAAQ,GAAG,IAAI;IAEpC;;;OAGG;IACH,QAAQ,KAAK,SAAS,IAAI,MAAM,CAAC;IAEjC;;;;OAIG;IACH,QAAQ,CAAC,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,OAAO,GAAG,IAAI;IAElE;;;;;OAKG;IACH,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,aAAa;CAIjD;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,SAAS,GAAG,eAAe,CAEzE"}
@@ -1,28 +1,105 @@
1
1
  import { AppObject, AppObjectEntity, AppObjectRepo } from "@vived/core";
2
2
  import { HostStateEntity } from "./HostStateEntity";
3
+ /**
4
+ * HostStateMachine manages a collection of states and controls state transitions.
5
+ *
6
+ * This singleton component serves as the central controller for the VIVED platform's
7
+ * state-based application model. It maintains an ordered collection of states,
8
+ * tracks the currently active state, and provides methods for state transitions,
9
+ * creation, deletion, and reordering.
10
+ *
11
+ * The state machine can be used in both runtime and authoring modes:
12
+ * - In runtime: For navigating between predefined states in an application
13
+ * - In authoring: For creating and organizing states through a content editor
14
+ *
15
+ * This entity works closely with HostStateEntity (individual states) and
16
+ * HostEditingStateEntity (for state authoring).
17
+ */
3
18
  export declare abstract class HostStateMachine extends AppObjectEntity {
4
19
  static type: string;
20
+ /** Array of all state IDs in order */
5
21
  abstract states: string[];
22
+ /** Total number of states in the machine */
6
23
  abstract stateCount: number;
24
+ /** ID of the currently active state, if any */
7
25
  abstract activeState: string | undefined;
26
+ /** ID of the state preceding the active state, if any */
8
27
  abstract previousState: string | undefined;
28
+ /** ID of the state following the active state, if any */
9
29
  abstract nextState: string | undefined;
30
+ /** Duration of transition animations between states (in seconds) */
10
31
  abstract transitionDuration: number;
32
+ /**
33
+ * Sets a state as active by its ID
34
+ * @param id ID of the state to activate
35
+ */
11
36
  abstract setActiveStateByID: (id: string) => void;
37
+ /**
38
+ * Sets a state as active by its position in the states array
39
+ * @param index Zero-based index of the state to activate
40
+ */
12
41
  abstract setActiveStateByIndex: (index: number) => void;
42
+ /** Deactivates the current state (no state will be active) */
13
43
  abstract clearActiveState: () => void;
44
+ /**
45
+ * Replaces all states with a new collection
46
+ * @param states Array of state entities to use
47
+ */
14
48
  abstract setStates: (states: HostStateEntity[]) => void;
49
+ /** Creates a new empty state and adds it to the end of the states array */
15
50
  abstract createNewState: () => HostStateEntity;
51
+ /**
52
+ * Retrieves a state entity by its ID
53
+ * @param id The ID of the state to retrieve
54
+ * @returns The state entity or undefined if not found
55
+ */
16
56
  abstract getStateByID: (id: string) => HostStateEntity | undefined;
57
+ /**
58
+ * Removes a state from the machine
59
+ * @param id ID of the state to remove
60
+ */
17
61
  abstract deleteState: (id: string) => void;
62
+ /** Removes all states from the machine */
18
63
  abstract deleteAllStates: () => void;
64
+ /**
65
+ * Gets the index of a state in the states array
66
+ * @param id ID of the state
67
+ * @returns Zero-based index or undefined if not found
68
+ */
19
69
  abstract getStateIndex: (id: string) => number | undefined;
70
+ /**
71
+ * Checks if a state with the given ID exists in the machine
72
+ * @param id ID to check
73
+ * @returns true if the state exists, false otherwise
74
+ */
20
75
  abstract hasState: (id: string) => boolean;
76
+ /**
77
+ * Factory function for creating state entities
78
+ * @param id ID for the new state
79
+ * @returns A new HostStateEntity instance
80
+ */
21
81
  abstract stateFactory: (id: string) => HostStateEntity;
82
+ /** Activates the state before the current active state */
22
83
  abstract setPreviousStateActive: () => void;
84
+ /** Activates the state after the current active state */
23
85
  abstract setNextStateActive: () => void;
86
+ /**
87
+ * Moves a state to a different position in the states array
88
+ * @param stateID ID of the state to move
89
+ * @param index Destination index
90
+ */
24
91
  abstract setStateIndex: (stateID: string, index: number) => void;
92
+ /**
93
+ * Gets the singleton instance of HostStateMachine
94
+ * @param appObjects The app object repository
95
+ * @returns The HostStateMachine instance
96
+ */
25
97
  static get(appObjects: AppObjectRepo): HostStateMachine | undefined;
26
98
  }
99
+ /**
100
+ * Factory function for creating a HostStateMachine instance
101
+ * @param appObject The AppObject to associate with this entity
102
+ * @returns A new HostStateMachine instance
103
+ */
27
104
  export declare function makeHostStateMachine(appObject: AppObject): HostStateMachine;
28
105
  //# sourceMappingURL=HostStateMachine.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"HostStateMachine.d.ts","sourceRoot":"","sources":["../../../../src/StateMachine/Entities/HostStateMachine.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,SAAS,EACT,eAAe,EACf,aAAa,EACd,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,eAAe,EAAuB,MAAM,mBAAmB,CAAC;AAEzE,8BAAsB,gBAAiB,SAAQ,eAAe;IAC5D,MAAM,CAAC,IAAI,SAAsB;IAEjC,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;IAC1B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAE5B,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;IACzC,QAAQ,CAAC,aAAa,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3C,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IAEvC,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;IAEpC,QAAQ,CAAC,kBAAkB,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAClD,QAAQ,CAAC,qBAAqB,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACxD,QAAQ,CAAC,gBAAgB,EAAE,MAAM,IAAI,CAAC;IACtC,QAAQ,CAAC,SAAS,EAAE,CAAC,MAAM,EAAE,eAAe,EAAE,KAAK,IAAI,CAAC;IACxD,QAAQ,CAAC,cAAc,EAAE,MAAM,eAAe,CAAC;IAC/C,QAAQ,CAAC,YAAY,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,eAAe,GAAG,SAAS,CAAC;IACnE,QAAQ,CAAC,WAAW,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3C,QAAQ,CAAC,eAAe,EAAE,MAAM,IAAI,CAAC;IACrC,QAAQ,CAAC,aAAa,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;IAC3D,QAAQ,CAAC,QAAQ,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC;IAC3C,QAAQ,CAAC,YAAY,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,eAAe,CAAC;IACvD,QAAQ,CAAC,sBAAsB,EAAE,MAAM,IAAI,CAAC;IAC5C,QAAQ,CAAC,kBAAkB,EAAE,MAAM,IAAI,CAAC;IACxC,QAAQ,CAAC,aAAa,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAEjE,MAAM,CAAC,GAAG,CAAC,UAAU,EAAE,aAAa;CAMrC;AAED,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,SAAS,GAAG,gBAAgB,CAE3E"}
1
+ {"version":3,"file":"HostStateMachine.d.ts","sourceRoot":"","sources":["../../../../src/StateMachine/Entities/HostStateMachine.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,SAAS,EACT,eAAe,EACf,aAAa,EACd,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,eAAe,EAAuB,MAAM,mBAAmB,CAAC;AAEzE;;;;;;;;;;;;;;GAcG;AACH,8BAAsB,gBAAiB,SAAQ,eAAe;IAC5D,MAAM,CAAC,IAAI,SAAsB;IAEjC,sCAAsC;IACtC,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;IAE1B,4CAA4C;IAC5C,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAE5B,+CAA+C;IAC/C,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;IAEzC,yDAAyD;IACzD,QAAQ,CAAC,aAAa,EAAE,MAAM,GAAG,SAAS,CAAC;IAE3C,yDAAyD;IACzD,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IAEvC,oEAAoE;IACpE,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;IAEpC;;;OAGG;IACH,QAAQ,CAAC,kBAAkB,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAElD;;;OAGG;IACH,QAAQ,CAAC,qBAAqB,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAExD,8DAA8D;IAC9D,QAAQ,CAAC,gBAAgB,EAAE,MAAM,IAAI,CAAC;IAEtC;;;OAGG;IACH,QAAQ,CAAC,SAAS,EAAE,CAAC,MAAM,EAAE,eAAe,EAAE,KAAK,IAAI,CAAC;IAExD,2EAA2E;IAC3E,QAAQ,CAAC,cAAc,EAAE,MAAM,eAAe,CAAC;IAE/C;;;;OAIG;IACH,QAAQ,CAAC,YAAY,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,eAAe,GAAG,SAAS,CAAC;IAEnE;;;OAGG;IACH,QAAQ,CAAC,WAAW,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAE3C,0CAA0C;IAC1C,QAAQ,CAAC,eAAe,EAAE,MAAM,IAAI,CAAC;IAErC;;;;OAIG;IACH,QAAQ,CAAC,aAAa,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;IAE3D;;;;OAIG;IACH,QAAQ,CAAC,QAAQ,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC;IAE3C;;;;OAIG;IACH,QAAQ,CAAC,YAAY,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,eAAe,CAAC;IAEvD,0DAA0D;IAC1D,QAAQ,CAAC,sBAAsB,EAAE,MAAM,IAAI,CAAC;IAE5C,yDAAyD;IACzD,QAAQ,CAAC,kBAAkB,EAAE,MAAM,IAAI,CAAC;IAExC;;;;OAIG;IACH,QAAQ,CAAC,aAAa,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAEjE;;;;OAIG;IACH,MAAM,CAAC,GAAG,CAAC,UAAU,EAAE,aAAa;CAMrC;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,SAAS,GAAG,gBAAgB,CAE3E"}
@@ -1,6 +1,7 @@
1
1
  import { AppObject, AppObjectRepo } from "@vived/core";
2
- import { ChallengeResponse, HostStateEntity } from "../Entities/HostStateEntity";
2
+ import { ChallengeResponse, HostStateEntity, StreamState } from "../Entities/HostStateEntity";
3
3
  export declare class MockHostStateEntity extends HostStateEntity {
4
+ streamState: StreamState;
4
5
  get id(): string;
5
6
  name: string;
6
7
  assets: never[];
@@ -1 +1 @@
1
- {"version":3,"file":"MockHostStateEntity.d.ts","sourceRoot":"","sources":["../../../../src/StateMachine/Mocks/MockHostStateEntity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,EACL,iBAAiB,EACjB,eAAe,EAChB,MAAM,6BAA6B,CAAC;AAErC,qBAAa,mBAAoB,SAAQ,eAAe;IACtD,IAAI,EAAE,WAEL;IACD,IAAI,SAAgB;IACpB,MAAM,UAAM;IACZ,gBAAgB,oBAA0B;IAC1C,KAAK,SAAW;IAChB,MAAM,2BAAa;IACnB,MAAM,2BAAa;IAEnB,IAAI,SAAS,IAAI,MAAM,CAEtB;IAED,YAAY,2BAAa;gBAEb,SAAS,EAAE,SAAS;CAGjC;AAED,wBAAgB,uBAAuB,CAAC,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,aAAa,uBAE5E"}
1
+ {"version":3,"file":"MockHostStateEntity.d.ts","sourceRoot":"","sources":["../../../../src/StateMachine/Mocks/MockHostStateEntity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,EACL,iBAAiB,EACjB,eAAe,EACf,WAAW,EACZ,MAAM,6BAA6B,CAAC;AAErC,qBAAa,mBAAoB,SAAQ,eAAe;IACtD,WAAW,EAAE,WAAW,CAAoB;IAC5C,IAAI,EAAE,WAEL;IACD,IAAI,SAAgB;IACpB,MAAM,UAAM;IACZ,gBAAgB,oBAA0B;IAC1C,KAAK,SAAW;IAChB,MAAM,2BAAa;IACnB,MAAM,2BAAa;IAEnB,IAAI,SAAS,IAAI,MAAM,CAEtB;IAED,YAAY,2BAAa;gBAEb,SAAS,EAAE,SAAS;CAGjC;AAED,wBAAgB,uBAAuB,CAAC,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,aAAa,uBAE5E"}
@@ -1,4 +1,5 @@
1
1
  import { AppObject, AppObjectPM, AppObjectRepo } from "@vived/core";
2
+ import { StreamState } from "../Entities/HostStateEntity";
2
3
  export interface HostStateVM {
3
4
  readonly id: string;
4
5
  readonly name: string;
@@ -8,6 +9,7 @@ export interface HostStateVM {
8
9
  readonly canBumpBackwards: boolean;
9
10
  readonly canBumpForward: boolean;
10
11
  readonly index: number;
12
+ readonly streamState: StreamState;
11
13
  }
12
14
  export declare abstract class HostStatePM extends AppObjectPM<HostStateVM> {
13
15
  static readonly type = "HostStatePM";
@@ -1 +1 @@
1
- {"version":3,"file":"HostStatePM.d.ts","sourceRoot":"","sources":["../../../../src/StateMachine/PMs/HostStatePM.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAKpE,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,gBAAgB,EAAE,OAAO,CAAC;IACnC,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;IACjC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED,8BAAsB,WAAY,SAAQ,WAAW,CAAC,WAAW,CAAC;IAChE,MAAM,CAAC,QAAQ,CAAC,IAAI,iBAAiB;IAGrC,MAAM,CAAC,QAAQ,CAAC,SAAS,EAAE,WAAW,CASpC;IAGF,MAAM,CAAC,OAAO,CACZ,EAAE,EAAE,MAAM,EACV,UAAU,EAAE,aAAa,GACxB,WAAW,GAAG,SAAS;CAG3B;AAED,wBAAgB,eAAe,CAAC,SAAS,EAAE,SAAS,GAAG,WAAW,CAEjE"}
1
+ {"version":3,"file":"HostStatePM.d.ts","sourceRoot":"","sources":["../../../../src/StateMachine/PMs/HostStatePM.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEpE,OAAO,EAAmB,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAG3E,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,gBAAgB,EAAE,OAAO,CAAC;IACnC,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;IACjC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;CACnC;AAED,8BAAsB,WAAY,SAAQ,WAAW,CAAC,WAAW,CAAC;IAChE,MAAM,CAAC,QAAQ,CAAC,IAAI,iBAAiB;IAGrC,MAAM,CAAC,QAAQ,CAAC,SAAS,EAAE,WAAW,CAUpC;IAGF,MAAM,CAAC,OAAO,CACZ,EAAE,EAAE,MAAM,EACV,UAAU,EAAE,aAAa,GACxB,WAAW,GAAG,SAAS;CAG3B;AAED,wBAAgB,eAAe,CAAC,SAAS,EAAE,SAAS,GAAG,WAAW,CAEjE"}
@@ -1 +1 @@
1
- {"version":3,"file":"SavePersistentStates.d.ts","sourceRoot":"","sources":["../../../../src/StateMachine/UCs/SavePersistentStates.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,SAAS,EACT,aAAa,EACb,WAAW,EACZ,MAAM,aAAa,CAAC;AAGrB,8BAAsB,sBAAuB,SAAQ,WAAW;IAC9D,MAAM,CAAC,IAAI,SAA4B;IAEvC,QAAQ,CAAC,WAAW,IAAI,IAAI;IAE5B,MAAM,CAAC,GAAG,CAAC,UAAU,EAAE,aAAa;CAMrC;AAED,wBAAgB,0BAA0B,CACxC,SAAS,EAAE,SAAS,GACnB,sBAAsB,CAExB"}
1
+ {"version":3,"file":"SavePersistentStates.d.ts","sourceRoot":"","sources":["../../../../src/StateMachine/UCs/SavePersistentStates.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,SAAS,EACT,aAAa,EACb,WAAW,EACZ,MAAM,aAAa,CAAC;AAIrB,8BAAsB,sBAAuB,SAAQ,WAAW;IAC9D,MAAM,CAAC,IAAI,SAA4B;IAEvC,QAAQ,CAAC,WAAW,IAAI,IAAI;IAE5B,MAAM,CAAC,GAAG,CAAC,UAAU,EAAE,aAAa;CAMrC;AAED,wBAAgB,0BAA0B,CACxC,SAAS,EAAE,SAAS,GACnB,sBAAsB,CAExB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vived/host",
3
- "version": "4.6.0",
3
+ "version": "4.7.0",
4
4
  "description": "Public Host package for the VIVED Learning App system",
5
5
  "main": "./dist/cjs/index.js",
6
6
  "module": "./dist/esm/index.js",