@metatell/bot-core 0.0.9 → 0.0.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,107 @@
1
+ import { EventEmitter } from 'node:events';
2
+ import type { Animation, AvatarAsset, BotInfo, Euler, MetatellClient, MetatellClientEvents, PcmInputOptions, PlaybackControls, User, Vec3 } from '../types/client.js';
3
+ export declare class MetatellError extends Error {
4
+ code: string;
5
+ cause?: unknown | undefined;
6
+ constructor(code: string, message: string, cause?: unknown | undefined);
7
+ }
8
+ export declare class AuthError extends MetatellError {
9
+ constructor(code: string, message: string, cause?: unknown);
10
+ }
11
+ export declare class NetworkError extends MetatellError {
12
+ constructor(code: string, message: string, cause?: unknown);
13
+ }
14
+ export declare class NotFoundError extends MetatellError {
15
+ constructor(code: string, message: string, cause?: unknown);
16
+ }
17
+ export interface CreateClientOptions {
18
+ serverUrl: string;
19
+ roomId: string;
20
+ token?: string;
21
+ username?: string;
22
+ avatarId?: string;
23
+ debug?: boolean;
24
+ }
25
+ /**
26
+ * MetatellClient implementation
27
+ */
28
+ export declare class MetatellClientImpl extends EventEmitter implements MetatellClient {
29
+ private options;
30
+ private serviceFactory;
31
+ private connectionManager;
32
+ private messageService;
33
+ private avatarController;
34
+ private presenceManager;
35
+ private organizationService;
36
+ private animationService;
37
+ private eventBus;
38
+ private configProvider;
39
+ private userAvatarManager;
40
+ private rateLimiter;
41
+ private logger;
42
+ private orgAvatarUrlCache;
43
+ private voiceMuted;
44
+ constructor(options: CreateClientOptions);
45
+ /**
46
+ * Parse mention from message body
47
+ * Format: [@displayName](session-id) message
48
+ * Example: [@MetatellCLI](b754ca96-d395-4b80-adb1-77cb0240a43d) hello
49
+ */
50
+ private parseMessageMention;
51
+ private setupEventProxies;
52
+ private resyncAvatarForNewUser;
53
+ connect(): Promise<void>;
54
+ disconnect(): Promise<void>;
55
+ readonly room: {
56
+ getUsers: () => Promise<User[]>;
57
+ getNearbyUsers: (radius?: number) => Promise<User[]>;
58
+ };
59
+ readonly chat: {
60
+ send: (text: string) => Promise<void>;
61
+ onMessage: (handler: (event: {
62
+ from: User;
63
+ text: string;
64
+ mention?: {
65
+ sessionId: string;
66
+ name: string;
67
+ };
68
+ reply: (text: string) => Promise<void>;
69
+ }) => void) => void;
70
+ };
71
+ readonly avatar: {
72
+ select: (assetId: string) => Promise<void>;
73
+ play: (animation: Animation) => Promise<void>;
74
+ moveTo: (position: Vec3) => Promise<void>;
75
+ rotateTo: (rotation: Euler) => Promise<void>;
76
+ lookAt: (target: Vec3) => Promise<void>;
77
+ getPosition: () => Vec3 | null;
78
+ getAvailableAssets: () => Promise<AvatarAsset[]>;
79
+ getAvailableAnimations: () => Promise<Animation[]>;
80
+ };
81
+ readonly voice: {
82
+ playPcm: (_input: unknown, _options: PcmInputOptions) => Promise<PlaybackControls>;
83
+ };
84
+ getInfo(): Promise<BotInfo>;
85
+ private buildUserList;
86
+ getStatus(): {
87
+ connected: boolean;
88
+ connecting: boolean;
89
+ };
90
+ getUsers(): User[];
91
+ getRateLimit(key: 'messages' | 'moves' | 'looks'): number | undefined;
92
+ setRateLimit(key: 'messages' | 'moves' | 'looks', perSecond: number): void;
93
+ getSessionId(): string | null;
94
+ private applyVoiceMute;
95
+ muteVoice(muted: boolean): Promise<void>;
96
+ sendVoiceFrame(_pcm: Int16Array): Promise<void>;
97
+ on<E extends keyof MetatellClientEvents>(event: E, listener: MetatellClientEvents[E]): this;
98
+ off<E extends keyof MetatellClientEvents>(event: E, listener: MetatellClientEvents[E]): this;
99
+ }
100
+ /**
101
+ * Create MetatellClient instance
102
+ * @param options Client configuration
103
+ * @returns MetatellClient instance
104
+ * @throws {MetatellError} If configuration is invalid
105
+ */
106
+ export declare function createMetatellClient(options: CreateClientOptions): MetatellClient;
107
+ //# sourceMappingURL=MetatellClientImpl.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MetatellClientImpl.d.ts","sourceRoot":"","sources":["../../src/client/MetatellClientImpl.ts"],"names":[],"mappings":"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"}