@metatell/bot-core 0.0.1

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 (185) hide show
  1. package/dist/CoreServiceFactory.d.ts +25 -0
  2. package/dist/CoreServiceFactory.d.ts.map +1 -0
  3. package/dist/CoreServiceFactory.js +102 -0
  4. package/dist/CoreServiceFactory.js.map +1 -0
  5. package/dist/ServiceContainer.d.ts +87 -0
  6. package/dist/ServiceContainer.d.ts.map +1 -0
  7. package/dist/ServiceContainer.js +119 -0
  8. package/dist/ServiceContainer.js.map +1 -0
  9. package/dist/ServiceIdentifier.d.ts +28 -0
  10. package/dist/ServiceIdentifier.d.ts.map +1 -0
  11. package/dist/ServiceIdentifier.js +18 -0
  12. package/dist/ServiceIdentifier.js.map +1 -0
  13. package/dist/builders/NafMessageBuilder.d.ts +242 -0
  14. package/dist/builders/NafMessageBuilder.d.ts.map +1 -0
  15. package/dist/builders/NafMessageBuilder.js +288 -0
  16. package/dist/builders/NafMessageBuilder.js.map +1 -0
  17. package/dist/errors/animation-errors.d.ts +41 -0
  18. package/dist/errors/animation-errors.d.ts.map +1 -0
  19. package/dist/errors/animation-errors.js +60 -0
  20. package/dist/errors/animation-errors.js.map +1 -0
  21. package/dist/index.d.ts +32 -0
  22. package/dist/index.d.ts.map +1 -0
  23. package/dist/index.js +27 -0
  24. package/dist/index.js.map +1 -0
  25. package/dist/interfaces/IAnimationService.d.ts +42 -0
  26. package/dist/interfaces/IAnimationService.d.ts.map +1 -0
  27. package/dist/interfaces/IAnimationService.js +5 -0
  28. package/dist/interfaces/IAnimationService.js.map +1 -0
  29. package/dist/interfaces/IAppSettings.d.ts +11 -0
  30. package/dist/interfaces/IAppSettings.d.ts.map +1 -0
  31. package/dist/interfaces/IAppSettings.js +5 -0
  32. package/dist/interfaces/IAppSettings.js.map +1 -0
  33. package/dist/interfaces/IAuthenticationService.d.ts +20 -0
  34. package/dist/interfaces/IAuthenticationService.d.ts.map +1 -0
  35. package/dist/interfaces/IAuthenticationService.js +5 -0
  36. package/dist/interfaces/IAuthenticationService.js.map +1 -0
  37. package/dist/interfaces/IAvatarController.d.ts +54 -0
  38. package/dist/interfaces/IAvatarController.d.ts.map +1 -0
  39. package/dist/interfaces/IAvatarController.js +5 -0
  40. package/dist/interfaces/IAvatarController.js.map +1 -0
  41. package/dist/interfaces/IConfigurationProvider.d.ts +39 -0
  42. package/dist/interfaces/IConfigurationProvider.d.ts.map +1 -0
  43. package/dist/interfaces/IConfigurationProvider.js +5 -0
  44. package/dist/interfaces/IConfigurationProvider.js.map +1 -0
  45. package/dist/interfaces/IConnectionManager.d.ts +23 -0
  46. package/dist/interfaces/IConnectionManager.d.ts.map +1 -0
  47. package/dist/interfaces/IConnectionManager.js +5 -0
  48. package/dist/interfaces/IConnectionManager.js.map +1 -0
  49. package/dist/interfaces/IEventBus.d.ts +28 -0
  50. package/dist/interfaces/IEventBus.d.ts.map +1 -0
  51. package/dist/interfaces/IEventBus.js +31 -0
  52. package/dist/interfaces/IEventBus.js.map +1 -0
  53. package/dist/interfaces/IMessageService.d.ts +25 -0
  54. package/dist/interfaces/IMessageService.d.ts.map +1 -0
  55. package/dist/interfaces/IMessageService.js +5 -0
  56. package/dist/interfaces/IMessageService.js.map +1 -0
  57. package/dist/interfaces/IOrganizationService.d.ts +58 -0
  58. package/dist/interfaces/IOrganizationService.d.ts.map +1 -0
  59. package/dist/interfaces/IOrganizationService.js +5 -0
  60. package/dist/interfaces/IOrganizationService.js.map +1 -0
  61. package/dist/interfaces/IPresenceManager.d.ts +20 -0
  62. package/dist/interfaces/IPresenceManager.d.ts.map +1 -0
  63. package/dist/interfaces/IPresenceManager.js +5 -0
  64. package/dist/interfaces/IPresenceManager.js.map +1 -0
  65. package/dist/interfaces/IUserAvatarManager.d.ts +88 -0
  66. package/dist/interfaces/IUserAvatarManager.d.ts.map +1 -0
  67. package/dist/interfaces/IUserAvatarManager.js +5 -0
  68. package/dist/interfaces/IUserAvatarManager.js.map +1 -0
  69. package/dist/interfaces/IWebSocketConnectionManager.d.ts +14 -0
  70. package/dist/interfaces/IWebSocketConnectionManager.d.ts.map +1 -0
  71. package/dist/interfaces/IWebSocketConnectionManager.js +2 -0
  72. package/dist/interfaces/IWebSocketConnectionManager.js.map +1 -0
  73. package/dist/logging/LogEventEmitter.d.ts +38 -0
  74. package/dist/logging/LogEventEmitter.d.ts.map +1 -0
  75. package/dist/logging/LogEventEmitter.js +54 -0
  76. package/dist/logging/LogEventEmitter.js.map +1 -0
  77. package/dist/logging/index.d.ts +22 -0
  78. package/dist/logging/index.d.ts.map +1 -0
  79. package/dist/logging/index.js +10 -0
  80. package/dist/logging/index.js.map +1 -0
  81. package/dist/logging/providers/default.d.ts +22 -0
  82. package/dist/logging/providers/default.d.ts.map +1 -0
  83. package/dist/logging/providers/default.js +175 -0
  84. package/dist/logging/providers/default.js.map +1 -0
  85. package/dist/logging/spi.d.ts +35 -0
  86. package/dist/logging/spi.d.ts.map +1 -0
  87. package/dist/logging/spi.js +25 -0
  88. package/dist/logging/spi.js.map +1 -0
  89. package/dist/services/AnimationService.d.ts +38 -0
  90. package/dist/services/AnimationService.d.ts.map +1 -0
  91. package/dist/services/AnimationService.js +157 -0
  92. package/dist/services/AnimationService.js.map +1 -0
  93. package/dist/services/AppSettings.d.ts +14 -0
  94. package/dist/services/AppSettings.d.ts.map +1 -0
  95. package/dist/services/AppSettings.js +48 -0
  96. package/dist/services/AppSettings.js.map +1 -0
  97. package/dist/services/AuthenticationService.d.ts +13 -0
  98. package/dist/services/AuthenticationService.d.ts.map +1 -0
  99. package/dist/services/AuthenticationService.js +44 -0
  100. package/dist/services/AuthenticationService.js.map +1 -0
  101. package/dist/services/AvatarController.d.ts +50 -0
  102. package/dist/services/AvatarController.d.ts.map +1 -0
  103. package/dist/services/AvatarController.js +409 -0
  104. package/dist/services/AvatarController.js.map +1 -0
  105. package/dist/services/ChannelService.d.ts +19 -0
  106. package/dist/services/ChannelService.d.ts.map +1 -0
  107. package/dist/services/ChannelService.js +113 -0
  108. package/dist/services/ChannelService.js.map +1 -0
  109. package/dist/services/ConfigurationProvider.d.ts +13 -0
  110. package/dist/services/ConfigurationProvider.d.ts.map +1 -0
  111. package/dist/services/ConfigurationProvider.js +49 -0
  112. package/dist/services/ConfigurationProvider.js.map +1 -0
  113. package/dist/services/EventBus.d.ts +11 -0
  114. package/dist/services/EventBus.d.ts.map +1 -0
  115. package/dist/services/EventBus.js +54 -0
  116. package/dist/services/EventBus.js.map +1 -0
  117. package/dist/services/IChannelService.d.ts +57 -0
  118. package/dist/services/IChannelService.d.ts.map +1 -0
  119. package/dist/services/IChannelService.js +6 -0
  120. package/dist/services/IChannelService.js.map +1 -0
  121. package/dist/services/MessageService.d.ts +23 -0
  122. package/dist/services/MessageService.d.ts.map +1 -0
  123. package/dist/services/MessageService.js +141 -0
  124. package/dist/services/MessageService.js.map +1 -0
  125. package/dist/services/OrganizationService.d.ts +11 -0
  126. package/dist/services/OrganizationService.d.ts.map +1 -0
  127. package/dist/services/OrganizationService.js +121 -0
  128. package/dist/services/OrganizationService.js.map +1 -0
  129. package/dist/services/PresenceManager.d.ts +21 -0
  130. package/dist/services/PresenceManager.d.ts.map +1 -0
  131. package/dist/services/PresenceManager.js +143 -0
  132. package/dist/services/PresenceManager.js.map +1 -0
  133. package/dist/services/UserAvatarManager.d.ts +61 -0
  134. package/dist/services/UserAvatarManager.d.ts.map +1 -0
  135. package/dist/services/UserAvatarManager.js +466 -0
  136. package/dist/services/UserAvatarManager.js.map +1 -0
  137. package/dist/services/WebSocketConnectionManager.d.ts +26 -0
  138. package/dist/services/WebSocketConnectionManager.d.ts.map +1 -0
  139. package/dist/services/WebSocketConnectionManager.js +223 -0
  140. package/dist/services/WebSocketConnectionManager.js.map +1 -0
  141. package/dist/services/resolvers/CompositeUserIdResolver.d.ts +20 -0
  142. package/dist/services/resolvers/CompositeUserIdResolver.d.ts.map +1 -0
  143. package/dist/services/resolvers/CompositeUserIdResolver.js +46 -0
  144. package/dist/services/resolvers/CompositeUserIdResolver.js.map +1 -0
  145. package/dist/services/resolvers/CreatorMatchResolver.d.ts +15 -0
  146. package/dist/services/resolvers/CreatorMatchResolver.d.ts.map +1 -0
  147. package/dist/services/resolvers/CreatorMatchResolver.js +31 -0
  148. package/dist/services/resolvers/CreatorMatchResolver.js.map +1 -0
  149. package/dist/services/resolvers/ExactMatchResolver.d.ts +15 -0
  150. package/dist/services/resolvers/ExactMatchResolver.d.ts.map +1 -0
  151. package/dist/services/resolvers/ExactMatchResolver.js +28 -0
  152. package/dist/services/resolvers/ExactMatchResolver.js.map +1 -0
  153. package/dist/services/resolvers/IUserIdResolver.d.ts +53 -0
  154. package/dist/services/resolvers/IUserIdResolver.d.ts.map +1 -0
  155. package/dist/services/resolvers/IUserIdResolver.js +6 -0
  156. package/dist/services/resolvers/IUserIdResolver.js.map +1 -0
  157. package/dist/services/resolvers/OwnerMatchResolver.d.ts +15 -0
  158. package/dist/services/resolvers/OwnerMatchResolver.d.ts.map +1 -0
  159. package/dist/services/resolvers/OwnerMatchResolver.js +31 -0
  160. package/dist/services/resolvers/OwnerMatchResolver.js.map +1 -0
  161. package/dist/services/resolvers/PrefixMatchResolver.d.ts +17 -0
  162. package/dist/services/resolvers/PrefixMatchResolver.d.ts.map +1 -0
  163. package/dist/services/resolvers/PrefixMatchResolver.js +36 -0
  164. package/dist/services/resolvers/PrefixMatchResolver.js.map +1 -0
  165. package/dist/services/resolvers/index.d.ts +10 -0
  166. package/dist/services/resolvers/index.d.ts.map +1 -0
  167. package/dist/services/resolvers/index.js +9 -0
  168. package/dist/services/resolvers/index.js.map +1 -0
  169. package/dist/types/animation.d.ts +92 -0
  170. package/dist/types/animation.d.ts.map +1 -0
  171. package/dist/types/animation.js +31 -0
  172. package/dist/types/animation.js.map +1 -0
  173. package/dist/types/index.d.ts +14 -0
  174. package/dist/types/index.d.ts.map +1 -0
  175. package/dist/types/index.js +5 -0
  176. package/dist/types/index.js.map +1 -0
  177. package/dist/types/naf.d.ts +229 -0
  178. package/dist/types/naf.d.ts.map +1 -0
  179. package/dist/types/naf.js +93 -0
  180. package/dist/types/naf.js.map +1 -0
  181. package/dist/utils/nafParser.d.ts +64 -0
  182. package/dist/utils/nafParser.d.ts.map +1 -0
  183. package/dist/utils/nafParser.js +99 -0
  184. package/dist/utils/nafParser.js.map +1 -0
  185. package/package.json +37 -0
@@ -0,0 +1,288 @@
1
+ /**
2
+ * NAF Component IDs - Mapping of component types to their numeric IDs
3
+ */
4
+ export var NafComponentId;
5
+ (function (NafComponentId) {
6
+ NafComponentId["Position"] = "0";
7
+ NafComponentId["Velocity"] = "1";
8
+ NafComponentId["Scale"] = "2";
9
+ NafComponentId["Avatar"] = "3";
10
+ NafComponentId["HeadRotation"] = "4";
11
+ NafComponentId["LeftHandRotation"] = "5";
12
+ NafComponentId["RightHandRotation"] = "6";
13
+ NafComponentId["LeftHandPosition"] = "7";
14
+ NafComponentId["RightHandPosition"] = "8";
15
+ NafComponentId["HandRaised"] = "9";
16
+ NafComponentId["PinPosition"] = "10";
17
+ NafComponentId["PinScale"] = "11";
18
+ NafComponentId["FaceSnapshotEnabled"] = "12";
19
+ NafComponentId["FaceSnapshot"] = "13";
20
+ NafComponentId["BodyRotation"] = "14";
21
+ })(NafComponentId || (NafComponentId = {}));
22
+ /**
23
+ * Builder for constructing NAF messages with a fluent API
24
+ */
25
+ export class NafMessageBuilder {
26
+ dataType = 'u';
27
+ networkId = null;
28
+ owner = null;
29
+ creator = null;
30
+ lastOwnerTime = Date.now();
31
+ template = '#remote-avatar';
32
+ persistent = false;
33
+ isFirstSync = false;
34
+ forceRender = false;
35
+ megaphone = false;
36
+ temporaryMegaphone = false;
37
+ parent = null;
38
+ components = {};
39
+ isMultiData = false;
40
+ constructor() {
41
+ // Set default components
42
+ this.components[NafComponentId.Position] = { isVector3: true, x: 0, y: 0, z: 0 };
43
+ this.components[NafComponentId.Scale] = { x: 1, y: 1, z: 1 };
44
+ this.components[NafComponentId.HandRaised] = false;
45
+ }
46
+ /**
47
+ * Set the data type
48
+ */
49
+ withDataType(type) {
50
+ this.dataType = type;
51
+ this.isMultiData = type === 'um';
52
+ return this;
53
+ }
54
+ /**
55
+ * Set network ID
56
+ */
57
+ withNetworkId(id) {
58
+ this.networkId = id;
59
+ return this;
60
+ }
61
+ /**
62
+ * Set owner
63
+ */
64
+ withOwner(owner) {
65
+ this.owner = owner;
66
+ return this;
67
+ }
68
+ /**
69
+ * Set creator
70
+ */
71
+ withCreator(creator) {
72
+ this.creator = creator;
73
+ return this;
74
+ }
75
+ /**
76
+ * Set last owner time
77
+ */
78
+ withLastOwnerTime(time) {
79
+ this.lastOwnerTime = time ?? Date.now();
80
+ return this;
81
+ }
82
+ /**
83
+ * Set template
84
+ */
85
+ withTemplate(template) {
86
+ this.template = template;
87
+ return this;
88
+ }
89
+ /**
90
+ * Set persistent flag
91
+ */
92
+ withPersistent(persistent) {
93
+ this.persistent = persistent;
94
+ return this;
95
+ }
96
+ /**
97
+ * Set first sync flag (for new users)
98
+ */
99
+ withFirstSync(isFirstSync) {
100
+ this.isFirstSync = isFirstSync;
101
+ return this;
102
+ }
103
+ /**
104
+ * Set position component
105
+ */
106
+ withPosition(position) {
107
+ this.components[NafComponentId.Position] = { isVector3: true, ...position };
108
+ return this;
109
+ }
110
+ /**
111
+ * Set velocity component
112
+ */
113
+ withVelocity(velocity) {
114
+ this.components[NafComponentId.Velocity] = velocity;
115
+ return this;
116
+ }
117
+ /**
118
+ * Set scale component
119
+ */
120
+ withScale(scale) {
121
+ this.components[NafComponentId.Scale] = scale;
122
+ return this;
123
+ }
124
+ /**
125
+ * Set avatar component
126
+ */
127
+ withAvatar(config) {
128
+ this.components[NafComponentId.Avatar] = {
129
+ avatarSrc: config.avatarSrc,
130
+ avatarType: config.avatarType ?? 'skinnable',
131
+ muted: config.muted ?? false,
132
+ isSharingAvatarCamera: config.isSharingAvatarCamera ?? false,
133
+ ...(config.files ? { files: config.files } : {}),
134
+ };
135
+ return this;
136
+ }
137
+ /**
138
+ * Set body rotation (euler angles)
139
+ */
140
+ withBodyRotation(rotation) {
141
+ this.components[NafComponentId.BodyRotation] = rotation;
142
+ return this;
143
+ }
144
+ /**
145
+ * Set head rotation (quaternion)
146
+ */
147
+ withHeadRotation(rotation) {
148
+ this.components[NafComponentId.HeadRotation] = rotation;
149
+ return this;
150
+ }
151
+ /**
152
+ * Set left hand rotation (quaternion)
153
+ */
154
+ withLeftHandRotation(rotation) {
155
+ this.components[NafComponentId.LeftHandRotation] = rotation;
156
+ return this;
157
+ }
158
+ /**
159
+ * Set right hand rotation (quaternion)
160
+ */
161
+ withRightHandRotation(rotation) {
162
+ this.components[NafComponentId.RightHandRotation] = rotation;
163
+ return this;
164
+ }
165
+ /**
166
+ * Set left hand position
167
+ */
168
+ withLeftHandPosition(position) {
169
+ this.components[NafComponentId.LeftHandPosition] = position;
170
+ return this;
171
+ }
172
+ /**
173
+ * Set right hand position
174
+ */
175
+ withRightHandPosition(position) {
176
+ this.components[NafComponentId.RightHandPosition] = position;
177
+ return this;
178
+ }
179
+ /**
180
+ * Set hand raised state
181
+ */
182
+ withHandRaised(raised) {
183
+ this.components[NafComponentId.HandRaised] = raised;
184
+ return this;
185
+ }
186
+ /**
187
+ * Set pin position
188
+ */
189
+ withPinPosition(position) {
190
+ this.components[NafComponentId.PinPosition] = position;
191
+ return this;
192
+ }
193
+ /**
194
+ * Set pin scale
195
+ */
196
+ withPinScale(scale) {
197
+ this.components[NafComponentId.PinScale] = scale;
198
+ return this;
199
+ }
200
+ /**
201
+ * Set face snapshot enabled
202
+ */
203
+ withFaceSnapshotEnabled(enabled) {
204
+ this.components[NafComponentId.FaceSnapshotEnabled] = enabled;
205
+ return this;
206
+ }
207
+ /**
208
+ * Set face snapshot data
209
+ */
210
+ withFaceSnapshot(data) {
211
+ this.components[NafComponentId.FaceSnapshot] = data;
212
+ return this;
213
+ }
214
+ /**
215
+ * Set megaphone state
216
+ */
217
+ withMegaphone(enabled) {
218
+ this.megaphone = enabled;
219
+ return this;
220
+ }
221
+ /**
222
+ * Set temporary megaphone state
223
+ */
224
+ withTemporaryMegaphone(enabled) {
225
+ this.temporaryMegaphone = enabled;
226
+ return this;
227
+ }
228
+ /**
229
+ * Set custom component by ID
230
+ * Use this for components not covered by specific methods
231
+ */
232
+ withCustomComponent(componentId, value) {
233
+ this.components[componentId] = value;
234
+ return this;
235
+ }
236
+ /**
237
+ * Build the NAF message
238
+ * @returns NAF message based on the dataType
239
+ */
240
+ build() {
241
+ if (!this.networkId || !this.owner || !this.creator) {
242
+ throw new Error('networkId, owner, and creator are required');
243
+ }
244
+ // Only include explicitly set components, no defaults
245
+ const mergedComponents = { ...this.components };
246
+ if (this.isMultiData) {
247
+ // Multi-data format (um)
248
+ return {
249
+ dataType: this.dataType,
250
+ data: {
251
+ d: [
252
+ {
253
+ networkId: this.networkId,
254
+ owner: this.owner,
255
+ creator: this.creator,
256
+ lastOwnerTime: this.lastOwnerTime,
257
+ template: this.template,
258
+ persistent: this.persistent,
259
+ parent: this.parent,
260
+ components: mergedComponents,
261
+ },
262
+ ],
263
+ },
264
+ };
265
+ }
266
+ else {
267
+ // Single data format (u, r)
268
+ return {
269
+ dataType: this.dataType,
270
+ data: {
271
+ networkId: this.networkId,
272
+ owner: this.owner,
273
+ creator: this.creator,
274
+ lastOwnerTime: this.lastOwnerTime,
275
+ template: this.template,
276
+ persistent: this.persistent,
277
+ isFirstSync: this.isFirstSync,
278
+ forceRender: this.forceRender,
279
+ megaphone: this.megaphone,
280
+ temporaryMegaphone: this.temporaryMegaphone,
281
+ parent: this.parent,
282
+ components: mergedComponents,
283
+ },
284
+ };
285
+ }
286
+ }
287
+ }
288
+ //# sourceMappingURL=NafMessageBuilder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NafMessageBuilder.js","sourceRoot":"","sources":["../../src/builders/NafMessageBuilder.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,41 @@
1
+ /**
2
+ * Animation-related error classes
3
+ */
4
+ /**
5
+ * Base class for animation errors
6
+ */
7
+ export declare class AnimationError extends Error {
8
+ readonly cause?: Error | undefined;
9
+ constructor(message: string, cause?: Error | undefined);
10
+ }
11
+ /**
12
+ * Error thrown when animation is not found
13
+ */
14
+ export declare class AnimationNotFoundError extends AnimationError {
15
+ constructor(animationId: string);
16
+ }
17
+ /**
18
+ * Error thrown when avatar is not spawned
19
+ */
20
+ export declare class AvatarNotSpawnedError extends AnimationError {
21
+ constructor(message?: string);
22
+ }
23
+ /**
24
+ * Error thrown when animation playback fails
25
+ */
26
+ export declare class AnimationPlaybackError extends AnimationError {
27
+ constructor(message: string, cause?: Error);
28
+ }
29
+ /**
30
+ * Error thrown when animation operation times out
31
+ */
32
+ export declare class AnimationTimeoutError extends AnimationError {
33
+ constructor(message?: string);
34
+ }
35
+ /**
36
+ * Error thrown when VRM animation file loading fails
37
+ */
38
+ export declare class VRMAnimationLoadError extends AnimationError {
39
+ constructor(filePath: string, cause?: Error);
40
+ }
41
+ //# sourceMappingURL=animation-errors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"animation-errors.d.ts","sourceRoot":"","sources":["../../src/errors/animation-errors.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,qBAAa,cAAe,SAAQ,KAAK;aAGrB,KAAK,CAAC,EAAE,KAAK;gBAD7B,OAAO,EAAE,MAAM,EACC,KAAK,CAAC,EAAE,KAAK,YAAA;CAKhC;AAED;;GAEG;AACH,qBAAa,sBAAuB,SAAQ,cAAc;gBAC5C,WAAW,EAAE,MAAM;CAIhC;AAED;;GAEG;AACH,qBAAa,qBAAsB,SAAQ,cAAc;gBAC3C,OAAO,SAA6C;CAIjE;AAED;;GAEG;AACH,qBAAa,sBAAuB,SAAQ,cAAc;gBAC5C,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,KAAK;CAI3C;AAED;;GAEG;AACH,qBAAa,qBAAsB,SAAQ,cAAc;gBAC3C,OAAO,SAAkC;CAItD;AAED;;GAEG;AACH,qBAAa,qBAAsB,SAAQ,cAAc;gBAC3C,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,KAAK;CAI5C"}
@@ -0,0 +1,60 @@
1
+ /**
2
+ * Animation-related error classes
3
+ */
4
+ /**
5
+ * Base class for animation errors
6
+ */
7
+ export class AnimationError extends Error {
8
+ cause;
9
+ constructor(message, cause) {
10
+ super(message);
11
+ this.cause = cause;
12
+ this.name = 'AnimationError';
13
+ }
14
+ }
15
+ /**
16
+ * Error thrown when animation is not found
17
+ */
18
+ export class AnimationNotFoundError extends AnimationError {
19
+ constructor(animationId) {
20
+ super(`Animation '${animationId}' not found`);
21
+ this.name = 'AnimationNotFoundError';
22
+ }
23
+ }
24
+ /**
25
+ * Error thrown when avatar is not spawned
26
+ */
27
+ export class AvatarNotSpawnedError extends AnimationError {
28
+ constructor(message = 'Avatar must be spawned to play animation') {
29
+ super(message);
30
+ this.name = 'AvatarNotSpawnedError';
31
+ }
32
+ }
33
+ /**
34
+ * Error thrown when animation playback fails
35
+ */
36
+ export class AnimationPlaybackError extends AnimationError {
37
+ constructor(message, cause) {
38
+ super(message, cause);
39
+ this.name = 'AnimationPlaybackError';
40
+ }
41
+ }
42
+ /**
43
+ * Error thrown when animation operation times out
44
+ */
45
+ export class AnimationTimeoutError extends AnimationError {
46
+ constructor(message = 'Animation operation timed out') {
47
+ super(message);
48
+ this.name = 'AnimationTimeoutError';
49
+ }
50
+ }
51
+ /**
52
+ * Error thrown when VRM animation file loading fails
53
+ */
54
+ export class VRMAnimationLoadError extends AnimationError {
55
+ constructor(filePath, cause) {
56
+ super(`Failed to load VRM animation from: ${filePath}`, cause);
57
+ this.name = 'VRMAnimationLoadError';
58
+ }
59
+ }
60
+ //# sourceMappingURL=animation-errors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"animation-errors.js","sourceRoot":"","sources":["../../src/errors/animation-errors.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,MAAM,OAAO,cAAe,SAAQ,KAAK;IAGrB;IAFlB,YACE,OAAe,EACC,KAAa;QAE7B,KAAK,CAAC,OAAO,CAAC,CAAA;QAFE,UAAK,GAAL,KAAK,CAAQ;QAG7B,IAAI,CAAC,IAAI,GAAG,gBAAgB,CAAA;IAC9B,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,sBAAuB,SAAQ,cAAc;IACxD,YAAY,WAAmB;QAC7B,KAAK,CAAC,cAAc,WAAW,aAAa,CAAC,CAAA;QAC7C,IAAI,CAAC,IAAI,GAAG,wBAAwB,CAAA;IACtC,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,qBAAsB,SAAQ,cAAc;IACvD,YAAY,OAAO,GAAG,0CAA0C;QAC9D,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,uBAAuB,CAAA;IACrC,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,sBAAuB,SAAQ,cAAc;IACxD,YAAY,OAAe,EAAE,KAAa;QACxC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;QACrB,IAAI,CAAC,IAAI,GAAG,wBAAwB,CAAA;IACtC,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,qBAAsB,SAAQ,cAAc;IACvD,YAAY,OAAO,GAAG,+BAA+B;QACnD,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,uBAAuB,CAAA;IACrC,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,qBAAsB,SAAQ,cAAc;IACvD,YAAY,QAAgB,EAAE,KAAa;QACzC,KAAK,CAAC,sCAAsC,QAAQ,EAAE,EAAE,KAAK,CAAC,CAAA;QAC9D,IAAI,CAAC,IAAI,GAAG,uBAAuB,CAAA;IACrC,CAAC;CACF"}
@@ -0,0 +1,32 @@
1
+ export type { NafAvatarConfig, NafDataType, NafMessage, } from './builders/NafMessageBuilder.js';
2
+ export { NafComponentId, NafMessageBuilder } from './builders/NafMessageBuilder.js';
3
+ export { CoreServiceFactory } from './CoreServiceFactory.js';
4
+ export { AnimationNotFoundError, AnimationPlaybackError, AvatarNotSpawnedError, } from './errors/animation-errors.js';
5
+ export { AnimationService, type IAnimationService } from './interfaces/IAnimationService.js';
6
+ export { AppSettings, type IAppSettings } from './interfaces/IAppSettings.js';
7
+ export { AuthenticationService, type IAuthenticationService, } from './interfaces/IAuthenticationService.js';
8
+ export type { AvatarState } from './interfaces/IAvatarController.js';
9
+ export { AvatarController, type IAvatarController } from './interfaces/IAvatarController.js';
10
+ export type { BotConfiguration, BotContext, BotProfile, BotVoiceConfig, } from './interfaces/IConfigurationProvider.js';
11
+ export { ConfigurationProvider, type IConfigurationProvider, } from './interfaces/IConfigurationProvider.js';
12
+ export { ConnectionManager, type IConnectionManager } from './interfaces/IConnectionManager.js';
13
+ export { EventBus, type IEventBus, SystemEvents } from './interfaces/IEventBus.js';
14
+ export { type IMessageService, MessageService } from './interfaces/IMessageService.js';
15
+ export type { OrganizationAvatar, OrganizationInfo, } from './interfaces/IOrganizationService.js';
16
+ export { type IOrganizationService, OrganizationService, } from './interfaces/IOrganizationService.js';
17
+ export type { PresenceUser } from './interfaces/IPresenceManager.js';
18
+ export { type IPresenceManager, PresenceManager } from './interfaces/IPresenceManager.js';
19
+ export type { UserAvatar, UserAvatarEvent, } from './interfaces/IUserAvatarManager.js';
20
+ export { type IUserAvatarManager, UserAvatarManager } from './interfaces/IUserAvatarManager.js';
21
+ export type { IWebSocketConnectionManager, WebSocketState, } from './interfaces/IWebSocketConnectionManager.js';
22
+ export { DefaultLoggerProvider, getLoggerProvider, registerLoggerProvider, } from './logging/index.js';
23
+ export { ServiceContainer, type ServiceKey } from './ServiceContainer.js';
24
+ export type { ServiceType } from './ServiceIdentifier.js';
25
+ export { ServiceIdentifier } from './ServiceIdentifier.js';
26
+ export { ChannelService } from './services/ChannelService.js';
27
+ export type { IChannelService } from './services/IChannelService.js';
28
+ export type { AnimationConfig, AnimationEvent, AnimationNAFMessage, AnimationPlaybackResult, AnimationPlayOptions, VRMAnimation, } from './types/animation.js';
29
+ export { AnimationLoopBehavior, PresetAnimationId } from './types/animation.js';
30
+ export type { AvatarComponentData, EulerRotation, NAFComponentMap, NAFCreateMessage, NAFEntityData, NAFMultiUpdateMessage, NAFRemoveMessage, Position3D, Quaternion, Scale3D, TypedNAFMessage, } from './types/naf.js';
31
+ export { extractAvatarData, extractBodyRotation, extractPosition, isNAFCreateMessage, isNAFMultiUpdateMessage, isNAFRemoveMessage, isTypedNAFMessage, } from './types/naf.js';
32
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,YAAY,EACV,eAAe,EACf,WAAW,EACX,UAAU,GACX,MAAM,iCAAiC,CAAA;AACxC,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAA;AACnF,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AAE5D,OAAO,EACL,sBAAsB,EACtB,sBAAsB,EACtB,qBAAqB,GACtB,MAAM,8BAA8B,CAAA;AAGrC,OAAO,EAAE,gBAAgB,EAAE,KAAK,iBAAiB,EAAE,MAAM,mCAAmC,CAAA;AAC5F,OAAO,EAAE,WAAW,EAAE,KAAK,YAAY,EAAE,MAAM,8BAA8B,CAAA;AAC7E,OAAO,EACL,qBAAqB,EACrB,KAAK,sBAAsB,GAC5B,MAAM,wCAAwC,CAAA;AAC/C,YAAY,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAA;AACpE,OAAO,EAAE,gBAAgB,EAAE,KAAK,iBAAiB,EAAE,MAAM,mCAAmC,CAAA;AAC5F,YAAY,EACV,gBAAgB,EAChB,UAAU,EACV,UAAU,EACV,cAAc,GACf,MAAM,wCAAwC,CAAA;AAC/C,OAAO,EACL,qBAAqB,EACrB,KAAK,sBAAsB,GAC5B,MAAM,wCAAwC,CAAA;AAC/C,OAAO,EAAE,iBAAiB,EAAE,KAAK,kBAAkB,EAAE,MAAM,oCAAoC,CAAA;AAC/F,OAAO,EAAE,QAAQ,EAAE,KAAK,SAAS,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAClF,OAAO,EAAE,KAAK,eAAe,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAA;AACtF,YAAY,EACV,kBAAkB,EAClB,gBAAgB,GACjB,MAAM,sCAAsC,CAAA;AAC7C,OAAO,EACL,KAAK,oBAAoB,EACzB,mBAAmB,GACpB,MAAM,sCAAsC,CAAA;AAC7C,YAAY,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAA;AACpE,OAAO,EAAE,KAAK,gBAAgB,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAA;AACzF,YAAY,EACV,UAAU,EACV,eAAe,GAChB,MAAM,oCAAoC,CAAA;AAC3C,OAAO,EAAE,KAAK,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAA;AAC/F,YAAY,EACV,2BAA2B,EAC3B,cAAc,GACf,MAAM,6CAA6C,CAAA;AAEpD,OAAO,EACL,qBAAqB,EACrB,iBAAiB,EACjB,sBAAsB,GACvB,MAAM,oBAAoB,CAAA;AAE3B,OAAO,EAAE,gBAAgB,EAAE,KAAK,UAAU,EAAE,MAAM,uBAAuB,CAAA;AACzE,YAAY,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAE1D,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAA;AAC7D,YAAY,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAEpE,YAAY,EACV,eAAe,EACf,cAAc,EACd,mBAAmB,EACnB,uBAAuB,EACvB,oBAAoB,EACpB,YAAY,GACb,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AAE/E,YAAY,EACV,mBAAmB,EACnB,aAAa,EACb,eAAe,EACf,gBAAgB,EAChB,aAAa,EACb,qBAAqB,EACrB,gBAAgB,EAChB,UAAU,EACV,UAAU,EACV,OAAO,EACP,eAAe,GAChB,MAAM,gBAAgB,CAAA;AACvB,OAAO,EACL,iBAAiB,EACjB,mBAAmB,EACnB,eAAe,EACf,kBAAkB,EAClB,uBAAuB,EACvB,kBAAkB,EAClB,iBAAiB,GAClB,MAAM,gBAAgB,CAAA"}
package/dist/index.js ADDED
@@ -0,0 +1,27 @@
1
+ // Core Service Factory (内部実装のメインエントリーポイント)
2
+ export { NafComponentId, NafMessageBuilder } from './builders/NafMessageBuilder.js';
3
+ export { CoreServiceFactory } from './CoreServiceFactory.js';
4
+ // Errors
5
+ export { AnimationNotFoundError, AnimationPlaybackError, AvatarNotSpawnedError, } from './errors/animation-errors.js';
6
+ // Core Interfaces (サービスインターフェース)
7
+ export { AnimationService } from './interfaces/IAnimationService.js';
8
+ export { AppSettings } from './interfaces/IAppSettings.js';
9
+ export { AuthenticationService, } from './interfaces/IAuthenticationService.js';
10
+ export { AvatarController } from './interfaces/IAvatarController.js';
11
+ export { ConfigurationProvider, } from './interfaces/IConfigurationProvider.js';
12
+ export { ConnectionManager } from './interfaces/IConnectionManager.js';
13
+ export { EventBus, SystemEvents } from './interfaces/IEventBus.js';
14
+ export { MessageService } from './interfaces/IMessageService.js';
15
+ export { OrganizationService, } from './interfaces/IOrganizationService.js';
16
+ export { PresenceManager } from './interfaces/IPresenceManager.js';
17
+ export { UserAvatarManager } from './interfaces/IUserAvatarManager.js';
18
+ // Logging
19
+ export { DefaultLoggerProvider, getLoggerProvider, registerLoggerProvider, } from './logging/index.js';
20
+ // Service Container (DIコンテナ)
21
+ export { ServiceContainer } from './ServiceContainer.js';
22
+ export { ServiceIdentifier } from './ServiceIdentifier.js';
23
+ // Channel Service
24
+ export { ChannelService } from './services/ChannelService.js';
25
+ export { AnimationLoopBehavior, PresetAnimationId } from './types/animation.js';
26
+ export { extractAvatarData, extractBodyRotation, extractPosition, isNAFCreateMessage, isNAFMultiUpdateMessage, isNAFRemoveMessage, isTypedNAFMessage, } from './types/naf.js';
27
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,2CAA2C;AAQ3C,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAA;AACnF,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AAC5D,SAAS;AACT,OAAO,EACL,sBAAsB,EACtB,sBAAsB,EACtB,qBAAqB,GACtB,MAAM,8BAA8B,CAAA;AAErC,iCAAiC;AACjC,OAAO,EAAE,gBAAgB,EAA0B,MAAM,mCAAmC,CAAA;AAC5F,OAAO,EAAE,WAAW,EAAqB,MAAM,8BAA8B,CAAA;AAC7E,OAAO,EACL,qBAAqB,GAEtB,MAAM,wCAAwC,CAAA;AAE/C,OAAO,EAAE,gBAAgB,EAA0B,MAAM,mCAAmC,CAAA;AAO5F,OAAO,EACL,qBAAqB,GAEtB,MAAM,wCAAwC,CAAA;AAC/C,OAAO,EAAE,iBAAiB,EAA2B,MAAM,oCAAoC,CAAA;AAC/F,OAAO,EAAE,QAAQ,EAAkB,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAClF,OAAO,EAAwB,cAAc,EAAE,MAAM,iCAAiC,CAAA;AAKtF,OAAO,EAEL,mBAAmB,GACpB,MAAM,sCAAsC,CAAA;AAE7C,OAAO,EAAyB,eAAe,EAAE,MAAM,kCAAkC,CAAA;AAKzF,OAAO,EAA2B,iBAAiB,EAAE,MAAM,oCAAoC,CAAA;AAK/F,UAAU;AACV,OAAO,EACL,qBAAqB,EACrB,iBAAiB,EACjB,sBAAsB,GACvB,MAAM,oBAAoB,CAAA;AAC3B,6BAA6B;AAC7B,OAAO,EAAE,gBAAgB,EAAmB,MAAM,uBAAuB,CAAA;AAEzE,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAC1D,kBAAkB;AAClB,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAA;AAW7D,OAAO,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AAe/E,OAAO,EACL,iBAAiB,EACjB,mBAAmB,EACnB,eAAe,EACf,kBAAkB,EAClB,uBAAuB,EACvB,kBAAkB,EAClB,iBAAiB,GAClB,MAAM,gBAAgB,CAAA"}
@@ -0,0 +1,42 @@
1
+ import { ServiceIdentifier } from '../ServiceIdentifier.js';
2
+ import type { VRMAnimation } from '../types/animation.js';
3
+ /**
4
+ * Service interface for managing VRM animations
5
+ */
6
+ export interface IAnimationService {
7
+ /**
8
+ * Get available animations for an avatar
9
+ * @param avatarId - The avatar ID
10
+ * @returns Promise resolving to array of available animations
11
+ */
12
+ getAvailableAnimations(avatarId: string): Promise<VRMAnimation[]>;
13
+ /**
14
+ * Load animation data from cache or API
15
+ * @param animationId - The animation ID
16
+ * @returns Promise resolving to animation data
17
+ */
18
+ loadAnimation(animationId: string): Promise<VRMAnimation>;
19
+ /**
20
+ * Validate if animation exists
21
+ * @param animationId - The animation ID
22
+ * @returns Promise resolving to boolean
23
+ */
24
+ validateAnimation(animationId: string): Promise<boolean>;
25
+ /**
26
+ * Get default animations (presets)
27
+ * @returns Array of preset animations
28
+ */
29
+ getDefaultAnimations(): VRMAnimation[];
30
+ /**
31
+ * Clear animation cache
32
+ */
33
+ clearCache(): void;
34
+ /**
35
+ * Set current avatar ID for animation loading
36
+ * @param avatarId - The avatar ID
37
+ */
38
+ setCurrentAvatarId(avatarId: string): void;
39
+ }
40
+ export declare abstract class AnimationService extends ServiceIdentifier<IAnimationService> {
41
+ }
42
+ //# sourceMappingURL=IAnimationService.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IAnimationService.d.ts","sourceRoot":"","sources":["../../src/interfaces/IAnimationService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAA;AAC3D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;AAEzD;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC;;;;OAIG;IACH,sBAAsB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAAA;IAEjE;;;;OAIG;IACH,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAAA;IAEzD;;;;OAIG;IACH,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IAExD;;;OAGG;IACH,oBAAoB,IAAI,YAAY,EAAE,CAAA;IAEtC;;OAEG;IACH,UAAU,IAAI,IAAI,CAAA;IAElB;;;OAGG;IACH,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;CAC3C;AAGD,8BAAsB,gBAAiB,SAAQ,iBAAiB,CAAC,iBAAiB,CAAC;CAAG"}
@@ -0,0 +1,5 @@
1
+ import { ServiceIdentifier } from '../ServiceIdentifier.js';
2
+ // Service identifier token for dependency injection
3
+ export class AnimationService extends ServiceIdentifier {
4
+ }
5
+ //# sourceMappingURL=IAnimationService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IAnimationService.js","sourceRoot":"","sources":["../../src/interfaces/IAnimationService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAA;AA8C3D,oDAAoD;AACpD,MAAM,OAAgB,gBAAiB,SAAQ,iBAAoC;CAAG"}
@@ -0,0 +1,11 @@
1
+ import { ServiceIdentifier } from '../ServiceIdentifier.js';
2
+ export interface IAppSettings {
3
+ readonly debugMode: boolean;
4
+ readonly logLevel: 'debug' | 'info' | 'warn' | 'error';
5
+ onDebugModeChanged(callback: (enabled: boolean) => void): void;
6
+ setDebugMode(enabled: boolean): void;
7
+ setLogLevel(level: 'debug' | 'info' | 'warn' | 'error'): void;
8
+ }
9
+ export declare abstract class AppSettings extends ServiceIdentifier<IAppSettings> {
10
+ }
11
+ //# sourceMappingURL=IAppSettings.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IAppSettings.d.ts","sourceRoot":"","sources":["../../src/interfaces/IAppSettings.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAA;AAE3D,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAA;IAC3B,QAAQ,CAAC,QAAQ,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAA;IAGtD,kBAAkB,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,GAAG,IAAI,CAAA;IAC9D,YAAY,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAA;IACpC,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAA;CAC9D;AAGD,8BAAsB,WAAY,SAAQ,iBAAiB,CAAC,YAAY,CAAC;CAAG"}
@@ -0,0 +1,5 @@
1
+ import { ServiceIdentifier } from '../ServiceIdentifier.js';
2
+ // Service identifier token for dependency injection
3
+ export class AppSettings extends ServiceIdentifier {
4
+ }
5
+ //# sourceMappingURL=IAppSettings.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IAppSettings.js","sourceRoot":"","sources":["../../src/interfaces/IAppSettings.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAA;AAY3D,oDAAoD;AACpD,MAAM,OAAgB,WAAY,SAAQ,iBAA+B;CAAG"}
@@ -0,0 +1,20 @@
1
+ import { ServiceIdentifier } from '../ServiceIdentifier.js';
2
+ export interface AuthToken {
3
+ token: string;
4
+ expiresAt?: number;
5
+ }
6
+ export interface AuthCredentials {
7
+ email?: string;
8
+ password?: string;
9
+ token?: string;
10
+ }
11
+ export interface IAuthenticationService {
12
+ authenticate(credentials: AuthCredentials): Promise<AuthToken>;
13
+ refreshToken(): Promise<AuthToken>;
14
+ getToken(): AuthToken | null;
15
+ isAuthenticated(): boolean;
16
+ logout(): void;
17
+ }
18
+ export declare abstract class AuthenticationService extends ServiceIdentifier<IAuthenticationService> {
19
+ }
20
+ //# sourceMappingURL=IAuthenticationService.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IAuthenticationService.d.ts","sourceRoot":"","sources":["../../src/interfaces/IAuthenticationService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAA;AAE3D,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,MAAM,CAAA;IACb,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,sBAAsB;IACrC,YAAY,CAAC,WAAW,EAAE,eAAe,GAAG,OAAO,CAAC,SAAS,CAAC,CAAA;IAC9D,YAAY,IAAI,OAAO,CAAC,SAAS,CAAC,CAAA;IAClC,QAAQ,IAAI,SAAS,GAAG,IAAI,CAAA;IAC5B,eAAe,IAAI,OAAO,CAAA;IAC1B,MAAM,IAAI,IAAI,CAAA;CACf;AAGD,8BAAsB,qBAAsB,SAAQ,iBAAiB,CAAC,sBAAsB,CAAC;CAAG"}
@@ -0,0 +1,5 @@
1
+ import { ServiceIdentifier } from '../ServiceIdentifier.js';
2
+ // Service identifier token for dependency injection
3
+ export class AuthenticationService extends ServiceIdentifier {
4
+ }
5
+ //# sourceMappingURL=IAuthenticationService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IAuthenticationService.js","sourceRoot":"","sources":["../../src/interfaces/IAuthenticationService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAA;AAqB3D,oDAAoD;AACpD,MAAM,OAAgB,qBAAsB,SAAQ,iBAAyC;CAAG"}
@@ -0,0 +1,54 @@
1
+ import { ServiceIdentifier } from '../ServiceIdentifier.js';
2
+ import type { AnimationPlaybackResult, AnimationPlayOptions } from '../types/animation.js';
3
+ export interface Position {
4
+ x: number;
5
+ y: number;
6
+ z: number;
7
+ }
8
+ export interface Rotation {
9
+ x: number;
10
+ y: number;
11
+ z: number;
12
+ w?: number;
13
+ }
14
+ export interface AvatarState {
15
+ networkId: string;
16
+ position: Position;
17
+ rotation: Rotation;
18
+ avatarId: string;
19
+ avatarSrc?: string;
20
+ displayName?: string;
21
+ currentAnimation?: string;
22
+ }
23
+ export interface IAvatarController {
24
+ spawn(avatarId: string, position?: Position, avatarSrc?: string): Promise<void>;
25
+ move(position: Position): Promise<void>;
26
+ rotate(rotation: Rotation): Promise<void>;
27
+ updateState(state: Partial<AvatarState>): Promise<void>;
28
+ getState(): AvatarState | null;
29
+ destroy(): Promise<void>;
30
+ /**
31
+ * Resync avatar state for newly joined users
32
+ * Sends the complete avatar state with isFirstSync flag
33
+ */
34
+ resyncAvatar(): Promise<void>;
35
+ /**
36
+ * Play an animation on the avatar
37
+ * @param animationId - The animation ID (preset or custom UUID)
38
+ * @param options - Animation playback options
39
+ * @returns Promise resolving to playback result
40
+ */
41
+ playAnimation(animationId: string, options?: AnimationPlayOptions): Promise<AnimationPlaybackResult>;
42
+ /**
43
+ * Get current animation ID
44
+ * @returns Current animation ID or null
45
+ */
46
+ getCurrentAnimation(): string | null;
47
+ /**
48
+ * Stop current animation
49
+ */
50
+ stopAnimation(): Promise<void>;
51
+ }
52
+ export declare abstract class AvatarController extends ServiceIdentifier<IAvatarController> {
53
+ }
54
+ //# sourceMappingURL=IAvatarController.d.ts.map