@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 @@
1
+ {"version":3,"file":"IAvatarController.d.ts","sourceRoot":"","sources":["../../src/interfaces/IAvatarController.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAA;AAC3D,OAAO,KAAK,EAAE,uBAAuB,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAA;AAE1F,MAAM,WAAW,QAAQ;IACvB,CAAC,EAAE,MAAM,CAAA;IACT,CAAC,EAAE,MAAM,CAAA;IACT,CAAC,EAAE,MAAM,CAAA;CACV;AAED,MAAM,WAAW,QAAQ;IACvB,CAAC,EAAE,MAAM,CAAA;IACT,CAAC,EAAE,MAAM,CAAA;IACT,CAAC,EAAE,MAAM,CAAA;IACT,CAAC,CAAC,EAAE,MAAM,CAAA;CACX;AAED,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,QAAQ,CAAA;IAClB,QAAQ,EAAE,QAAQ,CAAA;IAClB,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,gBAAgB,CAAC,EAAE,MAAM,CAAA;CAC1B;AAED,MAAM,WAAW,iBAAiB;IAChC,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,QAAQ,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC/E,IAAI,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACvC,MAAM,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACzC,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC,WAAW,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACvD,QAAQ,IAAI,WAAW,GAAG,IAAI,CAAA;IAC9B,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;IACxB;;;OAGG;IACH,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;IAE7B;;;;;OAKG;IACH,aAAa,CACX,WAAW,EAAE,MAAM,EACnB,OAAO,CAAC,EAAE,oBAAoB,GAC7B,OAAO,CAAC,uBAAuB,CAAC,CAAA;IAEnC;;;OAGG;IACH,mBAAmB,IAAI,MAAM,GAAG,IAAI,CAAA;IAEpC;;OAEG;IACH,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;CAC/B;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 AvatarController extends ServiceIdentifier {
4
+ }
5
+ //# sourceMappingURL=IAvatarController.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IAvatarController.js","sourceRoot":"","sources":["../../src/interfaces/IAvatarController.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAA;AA8D3D,oDAAoD;AACpD,MAAM,OAAgB,gBAAiB,SAAQ,iBAAoC;CAAG"}
@@ -0,0 +1,39 @@
1
+ import { ServiceIdentifier } from '../ServiceIdentifier.js';
2
+ export interface BotProfile {
3
+ displayName: string;
4
+ avatarId: string;
5
+ }
6
+ export interface BotContext {
7
+ mobile: boolean;
8
+ embed: boolean;
9
+ hmd: boolean;
10
+ }
11
+ export interface BotVoiceConfig {
12
+ enabled: boolean;
13
+ useMock?: boolean;
14
+ livekitUrl?: string;
15
+ audioConfig?: {
16
+ sampleRate?: 48000 | 24000 | 16000;
17
+ channels?: 1 | 2;
18
+ frameDurationMs?: 10 | 20;
19
+ };
20
+ }
21
+ export interface BotConfiguration {
22
+ serverUrl: string;
23
+ hubUrl: string;
24
+ hubId: string;
25
+ profile: BotProfile;
26
+ context?: BotContext;
27
+ debug?: boolean;
28
+ storageUrl?: string;
29
+ botAccessKey?: string;
30
+ voice?: BotVoiceConfig;
31
+ organizationAvatarUrl?: string;
32
+ }
33
+ export interface IConfigurationProvider {
34
+ get<T = unknown>(key: string): T | undefined;
35
+ getConfiguration(): BotConfiguration;
36
+ }
37
+ export declare abstract class ConfigurationProvider extends ServiceIdentifier<IConfigurationProvider> {
38
+ }
39
+ //# sourceMappingURL=IConfigurationProvider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IConfigurationProvider.d.ts","sourceRoot":"","sources":["../../src/interfaces/IConfigurationProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAA;AAE3D,MAAM,WAAW,UAAU;IACzB,WAAW,EAAE,MAAM,CAAA;IACnB,QAAQ,EAAE,MAAM,CAAA;CACjB;AAED,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,OAAO,CAAA;IACf,KAAK,EAAE,OAAO,CAAA;IACd,GAAG,EAAE,OAAO,CAAA;CACb;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,OAAO,CAAA;IAChB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,WAAW,CAAC,EAAE;QACZ,UAAU,CAAC,EAAE,KAAK,GAAG,KAAK,GAAG,KAAK,CAAA;QAClC,QAAQ,CAAC,EAAE,CAAC,GAAG,CAAC,CAAA;QAChB,eAAe,CAAC,EAAE,EAAE,GAAG,EAAE,CAAA;KAC1B,CAAA;CACF;AAED,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,MAAM,CAAA;IACjB,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,UAAU,CAAA;IACnB,OAAO,CAAC,EAAE,UAAU,CAAA;IACpB,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,KAAK,CAAC,EAAE,cAAc,CAAA;IACtB,qBAAqB,CAAC,EAAE,MAAM,CAAA;CAC/B;AAED,MAAM,WAAW,sBAAsB;IACrC,GAAG,CAAC,CAAC,GAAG,OAAO,EAAE,GAAG,EAAE,MAAM,GAAG,CAAC,GAAG,SAAS,CAAA;IAC5C,gBAAgB,IAAI,gBAAgB,CAAA;CACrC;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 ConfigurationProvider extends ServiceIdentifier {
4
+ }
5
+ //# sourceMappingURL=IConfigurationProvider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IConfigurationProvider.js","sourceRoot":"","sources":["../../src/interfaces/IConfigurationProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAA;AA0C3D,oDAAoD;AACpD,MAAM,OAAgB,qBAAsB,SAAQ,iBAAyC;CAAG"}
@@ -0,0 +1,23 @@
1
+ import type { Channel, Socket } from 'phoenix';
2
+ import { ServiceIdentifier } from '../ServiceIdentifier.js';
3
+ export interface ConnectionConfig {
4
+ serverUrl: string;
5
+ hubId: string;
6
+ retryOptions?: {
7
+ maxRetries?: number;
8
+ retryDelay?: number;
9
+ };
10
+ }
11
+ export interface IConnectionManager {
12
+ connect(config: ConnectionConfig): Promise<void>;
13
+ disconnect(): Promise<void>;
14
+ isConnected(): boolean;
15
+ getSocket(): Socket | null;
16
+ getHubChannel(): Channel | null;
17
+ getSessionId(): string | null;
18
+ waitForConnection(timeout?: number): Promise<void>;
19
+ on(event: string, callback: (...args: unknown[]) => void): void;
20
+ }
21
+ export declare abstract class ConnectionManager extends ServiceIdentifier<IConnectionManager> {
22
+ }
23
+ //# sourceMappingURL=IConnectionManager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IConnectionManager.d.ts","sourceRoot":"","sources":["../../src/interfaces/IConnectionManager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAA;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAA;AAE3D,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,MAAM,CAAA;IACjB,KAAK,EAAE,MAAM,CAAA;IACb,YAAY,CAAC,EAAE;QACb,UAAU,CAAC,EAAE,MAAM,CAAA;QACnB,UAAU,CAAC,EAAE,MAAM,CAAA;KACpB,CAAA;CACF;AAED,MAAM,WAAW,kBAAkB;IACjC,OAAO,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAChD,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;IAC3B,WAAW,IAAI,OAAO,CAAA;IACtB,SAAS,IAAI,MAAM,GAAG,IAAI,CAAA;IAC1B,aAAa,IAAI,OAAO,GAAG,IAAI,CAAA;IAC/B,YAAY,IAAI,MAAM,GAAG,IAAI,CAAA;IAC7B,iBAAiB,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAClD,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,GAAG,IAAI,CAAA;CAChE;AAGD,8BAAsB,iBAAkB,SAAQ,iBAAiB,CAAC,kBAAkB,CAAC;CAAG"}
@@ -0,0 +1,5 @@
1
+ import { ServiceIdentifier } from '../ServiceIdentifier.js';
2
+ // Service identifier token for dependency injection
3
+ export class ConnectionManager extends ServiceIdentifier {
4
+ }
5
+ //# sourceMappingURL=IConnectionManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IConnectionManager.js","sourceRoot":"","sources":["../../src/interfaces/IConnectionManager.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAA;AAsB3D,oDAAoD;AACpD,MAAM,OAAgB,iBAAkB,SAAQ,iBAAqC;CAAG"}
@@ -0,0 +1,28 @@
1
+ import { ServiceIdentifier } from '../ServiceIdentifier.js';
2
+ export type EventHandler<T = unknown> = (data: T) => void | Promise<void>;
3
+ export interface IEventBus {
4
+ on<T = unknown>(event: string, handler: EventHandler<T>): void;
5
+ off<T = unknown>(event: string, handler: EventHandler<T>): void;
6
+ emit<T = unknown>(event: string, data?: T): void;
7
+ once<T = unknown>(event: string, handler: EventHandler<T>): void;
8
+ removeAllListeners(event?: string): void;
9
+ }
10
+ export declare abstract class EventBus extends ServiceIdentifier<IEventBus> {
11
+ }
12
+ export declare enum SystemEvents {
13
+ CONNECTION_ESTABLISHED = "connection:established",
14
+ CONNECTION_LOST = "connection:lost",
15
+ CONNECTION_ERROR = "connection:error",
16
+ ROOM_JOINED = "room:joined",
17
+ ROOM_LEFT = "room:left",
18
+ USER_JOINED = "user:joined",
19
+ USER_LEFT = "user:left",
20
+ MESSAGE_RECEIVED = "message:received",
21
+ MESSAGE_SENT = "message:sent",
22
+ AVATAR_SPAWNED = "avatar:spawned",
23
+ AVATAR_MOVED = "avatar:moved",
24
+ AVATAR_UPDATED = "avatar:updated",
25
+ NAF_RECEIVED = "naf:received",
26
+ NAFR_RECEIVED = "nafr:received"
27
+ }
28
+ //# sourceMappingURL=IEventBus.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IEventBus.d.ts","sourceRoot":"","sources":["../../src/interfaces/IEventBus.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAA;AAE3D,MAAM,MAAM,YAAY,CAAC,CAAC,GAAG,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;AAEzE,MAAM,WAAW,SAAS;IACxB,EAAE,CAAC,CAAC,GAAG,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,IAAI,CAAA;IAC9D,GAAG,CAAC,CAAC,GAAG,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,IAAI,CAAA;IAC/D,IAAI,CAAC,CAAC,GAAG,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,CAAA;IAChD,IAAI,CAAC,CAAC,GAAG,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,IAAI,CAAA;IAChE,kBAAkB,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CACzC;AAGD,8BAAsB,QAAS,SAAQ,iBAAiB,CAAC,SAAS,CAAC;CAAG;AAEtE,oBAAY,YAAY;IAEtB,sBAAsB,2BAA2B;IACjD,eAAe,oBAAoB;IACnC,gBAAgB,qBAAqB;IAGrC,WAAW,gBAAgB;IAC3B,SAAS,cAAc;IACvB,WAAW,gBAAgB;IAC3B,SAAS,cAAc;IAGvB,gBAAgB,qBAAqB;IACrC,YAAY,iBAAiB;IAG7B,cAAc,mBAAmB;IACjC,YAAY,iBAAiB;IAC7B,cAAc,mBAAmB;IAKjC,YAAY,iBAAiB;IAI7B,aAAa,kBAAkB;CAChC"}
@@ -0,0 +1,31 @@
1
+ import { ServiceIdentifier } from '../ServiceIdentifier.js';
2
+ // Service identifier token for dependency injection
3
+ export class EventBus extends ServiceIdentifier {
4
+ }
5
+ export var SystemEvents;
6
+ (function (SystemEvents) {
7
+ // Connection events
8
+ SystemEvents["CONNECTION_ESTABLISHED"] = "connection:established";
9
+ SystemEvents["CONNECTION_LOST"] = "connection:lost";
10
+ SystemEvents["CONNECTION_ERROR"] = "connection:error";
11
+ // Room events
12
+ SystemEvents["ROOM_JOINED"] = "room:joined";
13
+ SystemEvents["ROOM_LEFT"] = "room:left";
14
+ SystemEvents["USER_JOINED"] = "user:joined";
15
+ SystemEvents["USER_LEFT"] = "user:left";
16
+ // Message events
17
+ SystemEvents["MESSAGE_RECEIVED"] = "message:received";
18
+ SystemEvents["MESSAGE_SENT"] = "message:sent";
19
+ // Avatar events
20
+ SystemEvents["AVATAR_SPAWNED"] = "avatar:spawned";
21
+ SystemEvents["AVATAR_MOVED"] = "avatar:moved";
22
+ SystemEvents["AVATAR_UPDATED"] = "avatar:updated";
23
+ // NAF (Networked A-Frame) events
24
+ // NAF: Standard networking messages (unreliable, best-effort delivery)
25
+ // Used for frequent updates like position/rotation where some packet loss is acceptable
26
+ SystemEvents["NAF_RECEIVED"] = "naf:received";
27
+ // NAFR: Reliable NAF messages (guaranteed delivery)
28
+ // Used for critical state updates that must arrive (spawn, despawn, important state changes)
29
+ SystemEvents["NAFR_RECEIVED"] = "nafr:received";
30
+ })(SystemEvents || (SystemEvents = {}));
31
+ //# sourceMappingURL=IEventBus.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IEventBus.js","sourceRoot":"","sources":["../../src/interfaces/IEventBus.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAA;AAY3D,oDAAoD;AACpD,MAAM,OAAgB,QAAS,SAAQ,iBAA4B;CAAG;AAEtE,MAAM,CAAN,IAAY,YA6BX;AA7BD,WAAY,YAAY;IACtB,oBAAoB;IACpB,iEAAiD,CAAA;IACjD,mDAAmC,CAAA;IACnC,qDAAqC,CAAA;IAErC,cAAc;IACd,2CAA2B,CAAA;IAC3B,uCAAuB,CAAA;IACvB,2CAA2B,CAAA;IAC3B,uCAAuB,CAAA;IAEvB,iBAAiB;IACjB,qDAAqC,CAAA;IACrC,6CAA6B,CAAA;IAE7B,gBAAgB;IAChB,iDAAiC,CAAA;IACjC,6CAA6B,CAAA;IAC7B,iDAAiC,CAAA;IAEjC,iCAAiC;IACjC,uEAAuE;IACvE,wFAAwF;IACxF,6CAA6B,CAAA;IAE7B,oDAAoD;IACpD,6FAA6F;IAC7F,+CAA+B,CAAA;AACjC,CAAC,EA7BW,YAAY,KAAZ,YAAY,QA6BvB"}
@@ -0,0 +1,25 @@
1
+ import { ServiceIdentifier } from '../ServiceIdentifier.js';
2
+ export interface Message {
3
+ body: string;
4
+ type?: 'chat' | 'system';
5
+ sessionId?: string;
6
+ timestamp?: number;
7
+ }
8
+ export interface NAFMessage {
9
+ dataType: string;
10
+ data: unknown;
11
+ from_session_id?: string;
12
+ }
13
+ export type { NAFCreateMessage, NAFMultiUpdateMessage, NAFRemoveMessage, TypedNAFMessage, } from '../types/naf.js';
14
+ export interface IMessageService {
15
+ sendMessage(message: string): Promise<void>;
16
+ sendNAF(data: NAFMessage): Promise<void>;
17
+ sendNAFR(data: NAFMessage): Promise<void>;
18
+ beginTyping(): Promise<void>;
19
+ endTyping(): Promise<void>;
20
+ on(event: 'message' | 'naf' | 'nafr', handler: (data: unknown) => void): void;
21
+ off(event: 'message' | 'naf' | 'nafr', handler: (data: unknown) => void): void;
22
+ }
23
+ export declare abstract class MessageService extends ServiceIdentifier<IMessageService> {
24
+ }
25
+ //# sourceMappingURL=IMessageService.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IMessageService.d.ts","sourceRoot":"","sources":["../../src/interfaces/IMessageService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAA;AAE3D,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAA;IACxB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAGD,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,MAAM,CAAA;IAChB,IAAI,EAAE,OAAO,CAAA;IACb,eAAe,CAAC,EAAE,MAAM,CAAA;CACzB;AAGD,YAAY,EACV,gBAAgB,EAChB,qBAAqB,EACrB,gBAAgB,EAChB,eAAe,GAChB,MAAM,iBAAiB,CAAA;AAExB,MAAM,WAAW,eAAe;IAC9B,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAK3C,OAAO,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAIxC,QAAQ,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAEzC,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;IAC5B,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;IAM1B,EAAE,CAAC,KAAK,EAAE,SAAS,GAAG,KAAK,GAAG,MAAM,EAAE,OAAO,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,GAAG,IAAI,CAAA;IAC7E,GAAG,CAAC,KAAK,EAAE,SAAS,GAAG,KAAK,GAAG,MAAM,EAAE,OAAO,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,GAAG,IAAI,CAAA;CAC/E;AAGD,8BAAsB,cAAe,SAAQ,iBAAiB,CAAC,eAAe,CAAC;CAAG"}
@@ -0,0 +1,5 @@
1
+ import { ServiceIdentifier } from '../ServiceIdentifier.js';
2
+ // Service identifier token for dependency injection
3
+ export class MessageService extends ServiceIdentifier {
4
+ }
5
+ //# sourceMappingURL=IMessageService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IMessageService.js","sourceRoot":"","sources":["../../src/interfaces/IMessageService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAA;AA+C3D,oDAAoD;AACpD,MAAM,OAAgB,cAAe,SAAQ,iBAAkC;CAAG"}
@@ -0,0 +1,58 @@
1
+ import { ServiceIdentifier } from '../ServiceIdentifier.js';
2
+ /**
3
+ * Organization information from realm endpoint
4
+ */
5
+ export interface OrganizationInfo {
6
+ organizationId: string | null;
7
+ realmId: string;
8
+ }
9
+ /**
10
+ * Organization avatar
11
+ */
12
+ export interface OrganizationAvatar {
13
+ id: string;
14
+ name: string;
15
+ gltf: {
16
+ avatar: string;
17
+ base?: string;
18
+ };
19
+ thumbnail_url?: string;
20
+ description?: string | null;
21
+ preview_url?: string;
22
+ images?: {
23
+ preview?: {
24
+ url: string;
25
+ height?: number;
26
+ width?: number;
27
+ };
28
+ };
29
+ type?: string;
30
+ allow_remixing?: boolean;
31
+ attributions?: {
32
+ creator?: string;
33
+ };
34
+ }
35
+ /**
36
+ * Organization service interface
37
+ */
38
+ export interface IOrganizationService {
39
+ /**
40
+ * Get organization info from hub ID
41
+ */
42
+ getOrganizationInfo(hubUrl: string, hubId: string): Promise<OrganizationInfo>;
43
+ /**
44
+ * Fetch organization avatars
45
+ */
46
+ fetchOrganizationAvatars(hubUrl: string, organizationId: string): Promise<OrganizationAvatar[]>;
47
+ /**
48
+ * Select avatar based on configuration
49
+ * Returns the selected avatar or null if no avatars available
50
+ */
51
+ selectAvatar(avatars: OrganizationAvatar[], options?: {
52
+ avatarId?: string;
53
+ avatarSelection?: 'random' | 'organization' | string;
54
+ }): OrganizationAvatar | null;
55
+ }
56
+ export declare abstract class OrganizationService extends ServiceIdentifier<IOrganizationService> {
57
+ }
58
+ //# sourceMappingURL=IOrganizationService.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IOrganizationService.d.ts","sourceRoot":"","sources":["../../src/interfaces/IOrganizationService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAA;AAE3D;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,cAAc,EAAE,MAAM,GAAG,IAAI,CAAA;IAC7B,OAAO,EAAE,MAAM,CAAA;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE;QACJ,MAAM,EAAE,MAAM,CAAA;QACd,IAAI,CAAC,EAAE,MAAM,CAAA;KACd,CAAA;IACD,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,MAAM,CAAC,EAAE;QACP,OAAO,CAAC,EAAE;YACR,GAAG,EAAE,MAAM,CAAA;YACX,MAAM,CAAC,EAAE,MAAM,CAAA;YACf,KAAK,CAAC,EAAE,MAAM,CAAA;SACf,CAAA;KACF,CAAA;IACD,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,YAAY,CAAC,EAAE;QACb,OAAO,CAAC,EAAE,MAAM,CAAA;KACjB,CAAA;CACF;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC;;OAEG;IACH,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAA;IAE7E;;OAEG;IACH,wBAAwB,CAAC,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAAA;IAE/F;;;OAGG;IACH,YAAY,CACV,OAAO,EAAE,kBAAkB,EAAE,EAC7B,OAAO,CAAC,EAAE;QACR,QAAQ,CAAC,EAAE,MAAM,CAAA;QACjB,eAAe,CAAC,EAAE,QAAQ,GAAG,cAAc,GAAG,MAAM,CAAA;KACrD,GACA,kBAAkB,GAAG,IAAI,CAAA;CAC7B;AAGD,8BAAsB,mBAAoB,SAAQ,iBAAiB,CAAC,oBAAoB,CAAC;CAAG"}
@@ -0,0 +1,5 @@
1
+ import { ServiceIdentifier } from '../ServiceIdentifier.js';
2
+ // Service identifier token for dependency injection
3
+ export class OrganizationService extends ServiceIdentifier {
4
+ }
5
+ //# sourceMappingURL=IOrganizationService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IOrganizationService.js","sourceRoot":"","sources":["../../src/interfaces/IOrganizationService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAA;AAgE3D,oDAAoD;AACpD,MAAM,OAAgB,mBAAoB,SAAQ,iBAAuC;CAAG"}
@@ -0,0 +1,20 @@
1
+ import { ServiceIdentifier } from '../ServiceIdentifier.js';
2
+ export interface PresenceUser {
3
+ id: string;
4
+ profile: {
5
+ displayName?: string;
6
+ avatarId?: string;
7
+ };
8
+ permissions?: Record<string, boolean>;
9
+ roles?: Record<string, boolean>;
10
+ }
11
+ export interface IPresenceManager {
12
+ getUsers(): PresenceUser[];
13
+ getUser(id: string): PresenceUser | undefined;
14
+ isUserPresent(id: string): boolean;
15
+ on(event: 'join' | 'leave', handler: (user: PresenceUser) => void): void;
16
+ off(event: 'join' | 'leave', handler: (user: PresenceUser) => void): void;
17
+ }
18
+ export declare abstract class PresenceManager extends ServiceIdentifier<IPresenceManager> {
19
+ }
20
+ //# sourceMappingURL=IPresenceManager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IPresenceManager.d.ts","sourceRoot":"","sources":["../../src/interfaces/IPresenceManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAA;AAE3D,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAA;IACV,OAAO,EAAE;QACP,WAAW,CAAC,EAAE,MAAM,CAAA;QACpB,QAAQ,CAAC,EAAE,MAAM,CAAA;KAClB,CAAA;IACD,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACrC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAChC;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,IAAI,YAAY,EAAE,CAAA;IAC1B,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS,CAAA;IAC7C,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAA;IAClC,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,EAAE,OAAO,EAAE,CAAC,IAAI,EAAE,YAAY,KAAK,IAAI,GAAG,IAAI,CAAA;IACxE,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,EAAE,OAAO,EAAE,CAAC,IAAI,EAAE,YAAY,KAAK,IAAI,GAAG,IAAI,CAAA;CAC1E;AAGD,8BAAsB,eAAgB,SAAQ,iBAAiB,CAAC,gBAAgB,CAAC;CAAG"}
@@ -0,0 +1,5 @@
1
+ import { ServiceIdentifier } from '../ServiceIdentifier.js';
2
+ // Service identifier token for dependency injection
3
+ export class PresenceManager extends ServiceIdentifier {
4
+ }
5
+ //# sourceMappingURL=IPresenceManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IPresenceManager.js","sourceRoot":"","sources":["../../src/interfaces/IPresenceManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAA;AAoB3D,oDAAoD;AACpD,MAAM,OAAgB,eAAgB,SAAQ,iBAAmC;CAAG"}
@@ -0,0 +1,88 @@
1
+ import { ServiceIdentifier } from '../ServiceIdentifier.js';
2
+ /**
3
+ * ユーザーアバター情報
4
+ */
5
+ export interface UserAvatar {
6
+ /** ユーザーID(セッションID) */
7
+ id: string;
8
+ /** ユーザーのニックネーム */
9
+ nickname: string;
10
+ /** アバターの位置 */
11
+ position: {
12
+ x: number;
13
+ y: number;
14
+ z: number;
15
+ };
16
+ /** アバターの回転 */
17
+ rotation?: {
18
+ x: number;
19
+ y: number;
20
+ z: number;
21
+ w: number;
22
+ };
23
+ /** アバターID */
24
+ avatarId?: string;
25
+ /** 最終更新時刻 */
26
+ lastUpdated: number;
27
+ }
28
+ /**
29
+ * ユーザーアバター管理のイベント
30
+ */
31
+ export type UserAvatarEvent = 'userJoined' | 'userLeft' | 'userMoved' | 'userUpdated';
32
+ /**
33
+ * ユーザーアバター管理インターフェース
34
+ */
35
+ export interface IUserAvatarManager {
36
+ /**
37
+ * 現在の全ユーザー情報を取得
38
+ * @returns ユーザーアバター情報の配列
39
+ */
40
+ getUsers(): UserAvatar[];
41
+ /**
42
+ * 特定ユーザーの情報を取得
43
+ * @param userId ユーザーID
44
+ * @returns ユーザーアバター情報(存在しない場合はundefined)
45
+ */
46
+ getUser(userId: string): UserAvatar | undefined;
47
+ /**
48
+ * 現在のユーザー数を取得
49
+ * @returns ユーザー数
50
+ */
51
+ getUserCount(): number;
52
+ /**
53
+ * 指定した範囲内のユーザーを取得
54
+ * @param center 中心座標
55
+ * @param radius 半径
56
+ * @returns 範囲内のユーザーアバター情報の配列
57
+ */
58
+ getUsersInRange(center: {
59
+ x: number;
60
+ y: number;
61
+ z: number;
62
+ }, radius: number): UserAvatar[];
63
+ /**
64
+ * 最寄りのユーザーを取得
65
+ * @param center 基準位置
66
+ * @returns 最寄りのユーザー(存在しない場合はnull)
67
+ */
68
+ getNearestUser(center: {
69
+ x: number;
70
+ y: number;
71
+ z: number;
72
+ }): UserAvatar | null;
73
+ /**
74
+ * イベントハンドラーを登録
75
+ * @param event イベント名
76
+ * @param handler イベントハンドラー
77
+ */
78
+ on(event: UserAvatarEvent, handler: (user: UserAvatar) => void): void;
79
+ /**
80
+ * イベントハンドラーを解除
81
+ * @param event イベント名
82
+ * @param handler イベントハンドラー
83
+ */
84
+ off(event: UserAvatarEvent, handler: (user: UserAvatar) => void): void;
85
+ }
86
+ export declare abstract class UserAvatarManager extends ServiceIdentifier<IUserAvatarManager> {
87
+ }
88
+ //# sourceMappingURL=IUserAvatarManager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IUserAvatarManager.d.ts","sourceRoot":"","sources":["../../src/interfaces/IUserAvatarManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAA;AAE3D;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,sBAAsB;IACtB,EAAE,EAAE,MAAM,CAAA;IACV,kBAAkB;IAClB,QAAQ,EAAE,MAAM,CAAA;IAChB,cAAc;IACd,QAAQ,EAAE;QACR,CAAC,EAAE,MAAM,CAAA;QACT,CAAC,EAAE,MAAM,CAAA;QACT,CAAC,EAAE,MAAM,CAAA;KACV,CAAA;IACD,cAAc;IACd,QAAQ,CAAC,EAAE;QACT,CAAC,EAAE,MAAM,CAAA;QACT,CAAC,EAAE,MAAM,CAAA;QACT,CAAC,EAAE,MAAM,CAAA;QACT,CAAC,EAAE,MAAM,CAAA;KACV,CAAA;IACD,aAAa;IACb,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,aAAa;IACb,WAAW,EAAE,MAAM,CAAA;CACpB;AAED;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG,YAAY,GAAG,UAAU,GAAG,WAAW,GAAG,aAAa,CAAA;AAErF;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC;;;OAGG;IACH,QAAQ,IAAI,UAAU,EAAE,CAAA;IAExB;;;;OAIG;IACH,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAAA;IAE/C;;;OAGG;IACH,YAAY,IAAI,MAAM,CAAA;IAEtB;;;;;OAKG;IACH,eAAe,CAAC,MAAM,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,MAAM,EAAE,MAAM,GAAG,UAAU,EAAE,CAAA;IAE1F;;;;OAIG;IACH,cAAc,CAAC,MAAM,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,UAAU,GAAG,IAAI,CAAA;IAE9E;;;;OAIG;IACH,EAAE,CAAC,KAAK,EAAE,eAAe,EAAE,OAAO,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,IAAI,GAAG,IAAI,CAAA;IAErE;;;;OAIG;IACH,GAAG,CAAC,KAAK,EAAE,eAAe,EAAE,OAAO,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,IAAI,GAAG,IAAI,CAAA;CACvE;AAGD,8BAAsB,iBAAkB,SAAQ,iBAAiB,CAAC,kBAAkB,CAAC;CAAG"}
@@ -0,0 +1,5 @@
1
+ import { ServiceIdentifier } from '../ServiceIdentifier.js';
2
+ // Service identifier token for dependency injection
3
+ export class UserAvatarManager extends ServiceIdentifier {
4
+ }
5
+ //# sourceMappingURL=IUserAvatarManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IUserAvatarManager.js","sourceRoot":"","sources":["../../src/interfaces/IUserAvatarManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAA;AAuF3D,oDAAoD;AACpD,MAAM,OAAgB,iBAAkB,SAAQ,iBAAqC;CAAG"}
@@ -0,0 +1,14 @@
1
+ export interface WebSocketState {
2
+ connected: boolean;
3
+ url?: string;
4
+ readyState: number;
5
+ }
6
+ export interface IWebSocketConnectionManager {
7
+ connect(url: string, token: string): Promise<void>;
8
+ disconnect(): void;
9
+ isConnected(): boolean;
10
+ getState(): WebSocketState;
11
+ on(event: string, handler: (...args: unknown[]) => void): void;
12
+ off(event: string, handler: (...args: unknown[]) => void): void;
13
+ }
14
+ //# sourceMappingURL=IWebSocketConnectionManager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IWebSocketConnectionManager.d.ts","sourceRoot":"","sources":["../../src/interfaces/IWebSocketConnectionManager.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,OAAO,CAAA;IAClB,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,UAAU,EAAE,MAAM,CAAA;CACnB;AAED,MAAM,WAAW,2BAA2B;IAC1C,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAClD,UAAU,IAAI,IAAI,CAAA;IAClB,WAAW,IAAI,OAAO,CAAA;IACtB,QAAQ,IAAI,cAAc,CAAA;IAC1B,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,GAAG,IAAI,CAAA;IAC9D,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,GAAG,IAAI,CAAA;CAChE"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=IWebSocketConnectionManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IWebSocketConnectionManager.js","sourceRoot":"","sources":["../../src/interfaces/IWebSocketConnectionManager.ts"],"names":[],"mappings":""}
@@ -0,0 +1,38 @@
1
+ /**
2
+ * Event emitter for log-related events
3
+ * Provides reactive log updates to consumers
4
+ */
5
+ import type { CoreLogRecord } from './index.js';
6
+ export type LogEventHandler = (records: CoreLogRecord[]) => void;
7
+ export interface ILogEventEmitter {
8
+ /**
9
+ * Subscribe to new log events
10
+ */
11
+ onNewLogs(handler: LogEventHandler): () => void;
12
+ /**
13
+ * Emit new log records
14
+ */
15
+ emitNewLogs(records: CoreLogRecord[]): void;
16
+ /**
17
+ * Remove all log event listeners
18
+ */
19
+ removeAllListeners(): void;
20
+ }
21
+ /**
22
+ * Implementation of log event emitter
23
+ */
24
+ export declare class LogEventEmitter implements ILogEventEmitter {
25
+ private handlers;
26
+ onNewLogs(handler: LogEventHandler): () => void;
27
+ emitNewLogs(records: CoreLogRecord[]): void;
28
+ removeAllListeners(): void;
29
+ }
30
+ /**
31
+ * Get the global log event emitter
32
+ */
33
+ export declare function getLogEventEmitter(): ILogEventEmitter;
34
+ /**
35
+ * Reset the log event emitter (mainly for testing)
36
+ */
37
+ export declare function resetLogEventEmitter(): void;
38
+ //# sourceMappingURL=LogEventEmitter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LogEventEmitter.d.ts","sourceRoot":"","sources":["../../src/logging/LogEventEmitter.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAE/C,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,EAAE,aAAa,EAAE,KAAK,IAAI,CAAA;AAEhE,MAAM,WAAW,gBAAgB;IAC/B;;OAEG;IACH,SAAS,CAAC,OAAO,EAAE,eAAe,GAAG,MAAM,IAAI,CAAA;IAE/C;;OAEG;IACH,WAAW,CAAC,OAAO,EAAE,aAAa,EAAE,GAAG,IAAI,CAAA;IAE3C;;OAEG;IACH,kBAAkB,IAAI,IAAI,CAAA;CAC3B;AAED;;GAEG;AACH,qBAAa,eAAgB,YAAW,gBAAgB;IACtD,OAAO,CAAC,QAAQ,CAAkC;IAElD,SAAS,CAAC,OAAO,EAAE,eAAe,GAAG,MAAM,IAAI;IAS/C,WAAW,CAAC,OAAO,EAAE,aAAa,EAAE,GAAG,IAAI;IAa3C,kBAAkB,IAAI,IAAI;CAG3B;AAKD;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,gBAAgB,CAKrD;AAED;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,IAAI,CAK3C"}
@@ -0,0 +1,54 @@
1
+ /**
2
+ * Event emitter for log-related events
3
+ * Provides reactive log updates to consumers
4
+ */
5
+ /**
6
+ * Implementation of log event emitter
7
+ */
8
+ export class LogEventEmitter {
9
+ handlers = new Set();
10
+ onNewLogs(handler) {
11
+ this.handlers.add(handler);
12
+ // Return unsubscribe function
13
+ return () => {
14
+ this.handlers.delete(handler);
15
+ };
16
+ }
17
+ emitNewLogs(records) {
18
+ if (records.length === 0)
19
+ return;
20
+ // Notify all handlers
21
+ for (const handler of this.handlers) {
22
+ try {
23
+ handler(records);
24
+ }
25
+ catch (error) {
26
+ console.error('Error in log event handler:', error);
27
+ }
28
+ }
29
+ }
30
+ removeAllListeners() {
31
+ this.handlers.clear();
32
+ }
33
+ }
34
+ // Global singleton instance
35
+ let globalLogEventEmitter = null;
36
+ /**
37
+ * Get the global log event emitter
38
+ */
39
+ export function getLogEventEmitter() {
40
+ if (!globalLogEventEmitter) {
41
+ globalLogEventEmitter = new LogEventEmitter();
42
+ }
43
+ return globalLogEventEmitter;
44
+ }
45
+ /**
46
+ * Reset the log event emitter (mainly for testing)
47
+ */
48
+ export function resetLogEventEmitter() {
49
+ if (globalLogEventEmitter) {
50
+ globalLogEventEmitter.removeAllListeners();
51
+ }
52
+ globalLogEventEmitter = null;
53
+ }
54
+ //# sourceMappingURL=LogEventEmitter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LogEventEmitter.js","sourceRoot":"","sources":["../../src/logging/LogEventEmitter.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAuBH;;GAEG;AACH,MAAM,OAAO,eAAe;IAClB,QAAQ,GAAyB,IAAI,GAAG,EAAE,CAAA;IAElD,SAAS,CAAC,OAAwB;QAChC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;QAE1B,8BAA8B;QAC9B,OAAO,GAAG,EAAE;YACV,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;QAC/B,CAAC,CAAA;IACH,CAAC;IAED,WAAW,CAAC,OAAwB;QAClC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;YAAE,OAAM;QAEhC,sBAAsB;QACtB,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YACpC,IAAI,CAAC;gBACH,OAAO,CAAC,OAAO,CAAC,CAAA;YAClB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CAAC,6BAA6B,EAAE,KAAK,CAAC,CAAA;YACrD,CAAC;QACH,CAAC;IACH,CAAC;IAED,kBAAkB;QAChB,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAA;IACvB,CAAC;CACF;AAED,4BAA4B;AAC5B,IAAI,qBAAqB,GAA4B,IAAI,CAAA;AAEzD;;GAEG;AACH,MAAM,UAAU,kBAAkB;IAChC,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC3B,qBAAqB,GAAG,IAAI,eAAe,EAAE,CAAA;IAC/C,CAAC;IACD,OAAO,qBAAqB,CAAA;AAC9B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,oBAAoB;IAClC,IAAI,qBAAqB,EAAE,CAAC;QAC1B,qBAAqB,CAAC,kBAAkB,EAAE,CAAA;IAC5C,CAAC;IACD,qBAAqB,GAAG,IAAI,CAAA;AAC9B,CAAC"}
@@ -0,0 +1,22 @@
1
+ /**
2
+ * SDK Logging module - SPI and default implementation
3
+ */
4
+ export { getLogEventEmitter, type ILogEventEmitter, type LogEventHandler, resetLogEventEmitter, } from './LogEventEmitter.js';
5
+ export { DefaultLoggerProvider, getRingBuffer } from './providers/default.js';
6
+ export * from './spi.js';
7
+ export type LogLevel = 'debug' | 'info' | 'warn' | 'error';
8
+ export interface LogRecord {
9
+ ts: number;
10
+ level: LogLevel;
11
+ module: string;
12
+ msg: string;
13
+ meta?: unknown;
14
+ }
15
+ export interface RingBufferLike {
16
+ drain(): LogRecord[];
17
+ drainNew?(): LogRecord[];
18
+ clear(): void;
19
+ size(): number;
20
+ }
21
+ export type { LogRecord as CoreLogRecord };
22
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/logging/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EACL,kBAAkB,EAClB,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACpB,oBAAoB,GACrB,MAAM,sBAAsB,CAAA;AAE7B,OAAO,EAAE,qBAAqB,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAA;AAE7E,cAAc,UAAU,CAAA;AAGxB,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAA;AAE1D,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,QAAQ,CAAA;IACf,MAAM,EAAE,MAAM,CAAA;IACd,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,CAAC,EAAE,OAAO,CAAA;CACf;AAGD,MAAM,WAAW,cAAc;IAC7B,KAAK,IAAI,SAAS,EAAE,CAAA;IACpB,QAAQ,CAAC,IAAI,SAAS,EAAE,CAAA;IACxB,KAAK,IAAI,IAAI,CAAA;IACb,IAAI,IAAI,MAAM,CAAA;CACf;AAGD,YAAY,EAAE,SAAS,IAAI,aAAa,EAAE,CAAA"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * SDK Logging module - SPI and default implementation
3
+ */
4
+ // Export event emitter for reactive log updates
5
+ export { getLogEventEmitter, resetLogEventEmitter, } from './LogEventEmitter.js';
6
+ // Export default provider and CLI compatibility functions
7
+ export { DefaultLoggerProvider, getRingBuffer } from './providers/default.js';
8
+ // Export SPI interfaces and registration functions
9
+ export * from './spi.js';
10
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/logging/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,gDAAgD;AAChD,OAAO,EACL,kBAAkB,EAGlB,oBAAoB,GACrB,MAAM,sBAAsB,CAAA;AAC7B,0DAA0D;AAC1D,OAAO,EAAE,qBAAqB,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAA;AAC7E,mDAAmD;AACnD,cAAc,UAAU,CAAA"}
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Default LoggerProvider implementation
3
+ */
4
+ import type { RingBufferLike } from '../index.js';
5
+ import type { Logger, LoggerProvider, LogLevel, LogSink } from '../spi.js';
6
+ /**
7
+ * Default LoggerProvider implementation
8
+ */
9
+ export declare class DefaultLoggerProvider implements LoggerProvider {
10
+ constructor();
11
+ getLogger(name: string): Logger;
12
+ setMinLevel(level: LogLevel): void;
13
+ setLogLevel(level: LogLevel): void;
14
+ enableConsole(enabled: boolean): void;
15
+ registerSink(sink: LogSink): void;
16
+ unregisterSink(sink: LogSink): void;
17
+ }
18
+ /**
19
+ * Get the global ring buffer (for CLI compatibility)
20
+ */
21
+ export declare function getRingBuffer(): RingBufferLike | null;
22
+ //# sourceMappingURL=default.d.ts.map