@ipcom/asterisk-ari 0.0.136 → 0.0.138
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.
- package/dist/cjs/index.cjs +435 -1042
- package/dist/cjs/index.cjs.map +4 -4
- package/dist/esm/index.js +435 -1042
- package/dist/esm/index.js.map +4 -4
- package/dist/types/ari-client/ariClient.d.ts +19 -83
- package/dist/types/ari-client/ariClient.d.ts.map +1 -1
- package/dist/types/ari-client/baseClient.d.ts +37 -5
- package/dist/types/ari-client/baseClient.d.ts.map +1 -1
- package/dist/types/ari-client/interfaces/events.types.d.ts +42 -36
- package/dist/types/ari-client/interfaces/events.types.d.ts.map +1 -1
- package/dist/types/ari-client/resources/asterisk.d.ts +3 -3
- package/dist/types/ari-client/resources/asterisk.d.ts.map +1 -1
- package/dist/types/ari-client/resources/channels.d.ts +36 -17
- package/dist/types/ari-client/resources/channels.d.ts.map +1 -1
- package/dist/types/ari-client/resources/playbacks.d.ts +36 -74
- package/dist/types/ari-client/resources/playbacks.d.ts.map +1 -1
- package/dist/types/ari-client/websocketClient.d.ts +21 -76
- package/dist/types/ari-client/websocketClient.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -1,121 +1,83 @@
|
|
|
1
|
-
import { EventEmitter } from "events";
|
|
2
1
|
import type { AriClient } from "../ariClient";
|
|
3
2
|
import type { BaseClient } from "../baseClient.js";
|
|
4
3
|
import type { Playback, WebSocketEvent } from "../interfaces";
|
|
5
|
-
export declare class PlaybackInstance
|
|
4
|
+
export declare class PlaybackInstance {
|
|
6
5
|
private client;
|
|
7
6
|
private baseClient;
|
|
8
7
|
private playbackId;
|
|
9
|
-
private
|
|
8
|
+
private eventEmitter;
|
|
10
9
|
private playbackData;
|
|
11
10
|
id: string;
|
|
12
|
-
constructor(client: AriClient, baseClient: BaseClient, playbackId
|
|
13
|
-
app: string);
|
|
11
|
+
constructor(client: AriClient, baseClient: BaseClient, playbackId?: string);
|
|
14
12
|
/**
|
|
15
|
-
*
|
|
16
|
-
*/
|
|
17
|
-
/**
|
|
18
|
-
* Adiciona um listener para eventos de playback.
|
|
13
|
+
* Registra um listener para eventos específicos deste playback.
|
|
19
14
|
*/
|
|
15
|
+
on<T extends WebSocketEvent["type"]>(event: T, listener: (data: Extract<WebSocketEvent, {
|
|
16
|
+
type: T;
|
|
17
|
+
}>) => void): void;
|
|
20
18
|
/**
|
|
21
|
-
*
|
|
19
|
+
* Registra um listener único para eventos específicos deste playback.
|
|
22
20
|
*/
|
|
23
|
-
|
|
21
|
+
once<T extends WebSocketEvent["type"]>(event: T, listener: (data: Extract<WebSocketEvent, {
|
|
24
22
|
type: T;
|
|
25
|
-
}>) => void):
|
|
23
|
+
}>) => void): void;
|
|
26
24
|
/**
|
|
27
|
-
*
|
|
25
|
+
* Remove um listener para eventos específicos deste playback.
|
|
28
26
|
*/
|
|
29
|
-
|
|
27
|
+
off<T extends WebSocketEvent["type"]>(event: T, listener?: (data: Extract<WebSocketEvent, {
|
|
30
28
|
type: T;
|
|
31
|
-
}>) => void):
|
|
29
|
+
}>) => void): void;
|
|
32
30
|
/**
|
|
33
|
-
*
|
|
31
|
+
* Emite eventos internamente para o playback.
|
|
34
32
|
*/
|
|
35
|
-
|
|
36
|
-
type: T;
|
|
37
|
-
}>) => void): this;
|
|
33
|
+
emitEvent(event: WebSocketEvent): void;
|
|
38
34
|
/**
|
|
39
35
|
* Obtém os detalhes do playback.
|
|
40
36
|
*/
|
|
41
|
-
|
|
37
|
+
get(): Promise<Playback>;
|
|
42
38
|
/**
|
|
43
39
|
* Controla o playback.
|
|
44
40
|
*/
|
|
45
41
|
control(operation: "pause" | "unpause" | "reverse" | "forward"): Promise<void>;
|
|
42
|
+
/**
|
|
43
|
+
* Encerra o playback.
|
|
44
|
+
*/
|
|
46
45
|
stop(): Promise<void>;
|
|
46
|
+
/**
|
|
47
|
+
* Remove todos os listeners para este playback.
|
|
48
|
+
*/
|
|
49
|
+
removeAllListeners(): void;
|
|
47
50
|
}
|
|
48
|
-
export declare class Playbacks
|
|
51
|
+
export declare class Playbacks {
|
|
49
52
|
private baseClient;
|
|
50
53
|
private client;
|
|
54
|
+
private playbackInstances;
|
|
51
55
|
constructor(baseClient: BaseClient, client: AriClient);
|
|
52
56
|
/**
|
|
53
|
-
*
|
|
57
|
+
* Gerencia instâncias de playback.
|
|
54
58
|
*/
|
|
55
|
-
Playback({ id
|
|
59
|
+
Playback({ id }: {
|
|
56
60
|
id?: string;
|
|
57
|
-
app: string;
|
|
58
61
|
}): PlaybackInstance;
|
|
59
62
|
/**
|
|
60
|
-
*
|
|
63
|
+
* Remove uma instância de playback.
|
|
61
64
|
*/
|
|
62
|
-
|
|
65
|
+
removePlaybackInstance(playbackId: string): void;
|
|
63
66
|
/**
|
|
64
|
-
*
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
67
|
+
* Propaga eventos do WebSocket para o playback correspondente.
|
|
68
|
+
*/
|
|
69
|
+
propagateEventToPlayback(event: WebSocketEvent): void;
|
|
70
|
+
/**
|
|
71
|
+
* Obtém detalhes de um playback específico.
|
|
68
72
|
*/
|
|
69
73
|
getDetails(playbackId: string): Promise<Playback>;
|
|
70
74
|
/**
|
|
71
|
-
*
|
|
72
|
-
*
|
|
73
|
-
* @param playbackId - The unique identifier of the playback to control.
|
|
74
|
-
* @param operation - The operation to perform on the playback. Possible values are:
|
|
75
|
-
* - "pause": Pauses the playback.
|
|
76
|
-
* - "unpause": Resumes a paused playback.
|
|
77
|
-
* - "restart": Restarts the playback from the beginning.
|
|
78
|
-
* - "reverse": Reverses the playback direction.
|
|
79
|
-
* - "forward": Moves the playback forward.
|
|
80
|
-
* - "stop": Stops the playback.
|
|
81
|
-
* @returns A promise that resolves when the control operation is successfully executed.
|
|
75
|
+
* Controla um playback específico.
|
|
82
76
|
*/
|
|
83
77
|
control(playbackId: string, operation: "pause" | "unpause" | "reverse" | "forward"): Promise<void>;
|
|
84
78
|
/**
|
|
85
|
-
*
|
|
86
|
-
*
|
|
87
|
-
* @param playbackId - The unique identifier of the playback to stop.
|
|
88
|
-
* @returns A promise that resolves when the playback is successfully stopped.
|
|
79
|
+
* Encerra um playback específico.
|
|
89
80
|
*/
|
|
90
81
|
stop(playbackId: string): Promise<void>;
|
|
91
|
-
/**
|
|
92
|
-
* Registers a listener for playback events.
|
|
93
|
-
* The listener is triggered for events such as "PlaybackFinished".
|
|
94
|
-
*
|
|
95
|
-
* @param eventType - The type of event to listen for.
|
|
96
|
-
* @param playbackId - The ID of the playback to associate with this listener.
|
|
97
|
-
* @param callback - The callback function to execute when the event occurs.
|
|
98
|
-
*/
|
|
99
|
-
registerListener<T extends WebSocketEvent["type"]>(eventType: T, playbackId: string, callback: (data: Extract<WebSocketEvent, {
|
|
100
|
-
type: T;
|
|
101
|
-
}>) => void): void;
|
|
102
|
-
/**
|
|
103
|
-
* Unregisters a listener for playback events.
|
|
104
|
-
*
|
|
105
|
-
* @param eventType - The type of event to stop listening for.
|
|
106
|
-
* @param playbackId - The ID of the playback associated with the listener.
|
|
107
|
-
* @param callback - The callback function to remove.
|
|
108
|
-
*/
|
|
109
|
-
unregisterListener<T extends WebSocketEvent["type"]>(eventType: T, playbackId: string, callback: (data: Extract<WebSocketEvent, {
|
|
110
|
-
type: T;
|
|
111
|
-
}>) => void): void;
|
|
112
|
-
/**
|
|
113
|
-
* Checks if a listener is already registered for a specific event and playback.
|
|
114
|
-
*
|
|
115
|
-
* @param eventType - The type of event to check.
|
|
116
|
-
* @param playbackId - The playback ID associated with the listener.
|
|
117
|
-
* @returns True if a listener is already registered, false otherwise.
|
|
118
|
-
*/
|
|
119
|
-
isListenerRegistered<T extends WebSocketEvent["type"]>(eventType: T, playbackId: string): boolean;
|
|
120
82
|
}
|
|
121
83
|
//# sourceMappingURL=playbacks.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"playbacks.d.ts","sourceRoot":"","sources":["../../../../src/ari-client/resources/playbacks.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"playbacks.d.ts","sourceRoot":"","sources":["../../../../src/ari-client/resources/playbacks.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAE9D,qBAAa,gBAAgB;IAMzB,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,UAAU;IAPpB,OAAO,CAAC,YAAY,CAAsB;IAC1C,OAAO,CAAC,YAAY,CAAyB;IACtC,EAAE,EAAE,MAAM,CAAC;gBAGR,MAAM,EAAE,SAAS,EACjB,UAAU,EAAE,UAAU,EACtB,UAAU,GAAE,MAAiC;IAKvD;;OAEG;IACH,EAAE,CAAC,CAAC,SAAS,cAAc,CAAC,MAAM,CAAC,EACjC,KAAK,EAAE,CAAC,EACR,QAAQ,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,cAAc,EAAE;QAAE,IAAI,EAAE,CAAC,CAAA;KAAE,CAAC,KAAK,IAAI,GAC7D,IAAI;IASP;;OAEG;IACH,IAAI,CAAC,CAAC,SAAS,cAAc,CAAC,MAAM,CAAC,EACnC,KAAK,EAAE,CAAC,EACR,QAAQ,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,cAAc,EAAE;QAAE,IAAI,EAAE,CAAC,CAAA;KAAE,CAAC,KAAK,IAAI,GAC7D,IAAI;IASP;;OAEG;IACH,GAAG,CAAC,CAAC,SAAS,cAAc,CAAC,MAAM,CAAC,EAClC,KAAK,EAAE,CAAC,EACR,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,cAAc,EAAE;QAAE,IAAI,EAAE,CAAC,CAAA;KAAE,CAAC,KAAK,IAAI,GAC9D,IAAI;IAQP;;OAEG;IACH,SAAS,CAAC,KAAK,EAAE,cAAc,GAAG,IAAI;IAMtC;;OAEG;IACG,GAAG,IAAI,OAAO,CAAC,QAAQ,CAAC;IAW9B;;OAEG;IACG,OAAO,CACX,SAAS,EAAE,OAAO,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,GACrD,OAAO,CAAC,IAAI,CAAC;IAUhB;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAQ3B;;OAEG;IACH,kBAAkB,IAAI,IAAI;CAG3B;AAED,qBAAa,SAAS;IAIlB,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,MAAM;IAJhB,OAAO,CAAC,iBAAiB,CAAuC;gBAGtD,UAAU,EAAE,UAAU,EACtB,MAAM,EAAE,SAAS;IAG3B;;OAEG;IACH,QAAQ,CAAC,EAAE,EAAE,EAAE,EAAE;QAAE,EAAE,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,gBAAgB;IAgBnD;;OAEG;IACH,sBAAsB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAQhD;;OAEG;IACH,wBAAwB,CAAC,KAAK,EAAE,cAAc,GAAG,IAAI;IASrD;;OAEG;IACG,UAAU,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;IAIvD;;OAEG;IACG,OAAO,CACX,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,OAAO,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,GACrD,OAAO,CAAC,IAAI,CAAC;IAKhB;;OAEG;IACG,IAAI,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAI9C"}
|
|
@@ -1,93 +1,38 @@
|
|
|
1
1
|
import { EventEmitter } from "events";
|
|
2
|
-
import type {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
* Extends EventEmitter to provide event-based communication.
|
|
6
|
-
*/
|
|
2
|
+
import type { AriClient } from "./ariClient";
|
|
3
|
+
import type { BaseClient } from "./baseClient.js";
|
|
4
|
+
import type { WebSocketEventType } from "./interfaces";
|
|
7
5
|
export declare class WebSocketClient extends EventEmitter {
|
|
8
|
-
private
|
|
9
|
-
private
|
|
10
|
-
private
|
|
6
|
+
private baseClient;
|
|
7
|
+
private apps;
|
|
8
|
+
private subscribedEvents?;
|
|
9
|
+
private ariClient?;
|
|
10
|
+
private ws?;
|
|
11
11
|
private isReconnecting;
|
|
12
|
-
private
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
12
|
+
private readonly maxReconnectAttempts;
|
|
13
|
+
private readonly backOffOptions;
|
|
14
|
+
constructor(baseClient: BaseClient, // BaseClient contém baseUrl, username, e password
|
|
15
|
+
apps: string[], // Lista de aplicativos a serem conectados
|
|
16
|
+
subscribedEvents?: WebSocketEventType[] | undefined, // Lista de eventos a serem assinados
|
|
17
|
+
ariClient?: AriClient | undefined);
|
|
16
18
|
/**
|
|
17
|
-
*
|
|
18
|
-
* @param url - The WebSocket server URL to connect to.
|
|
19
|
-
*/
|
|
20
|
-
constructor(url: string);
|
|
21
|
-
private reconnect;
|
|
22
|
-
/**
|
|
23
|
-
* Establishes a connection to the WebSocket server.
|
|
24
|
-
* @returns A Promise that resolves when the connection is established, or rejects if an error occurs.
|
|
25
|
-
* @throws Will throw an error if the connection fails.
|
|
19
|
+
* Conecta ao WebSocket.
|
|
26
20
|
*/
|
|
27
21
|
connect(): Promise<void>;
|
|
28
22
|
/**
|
|
29
|
-
*
|
|
30
|
-
* @returns True if the connection is open, false otherwise.
|
|
31
|
-
*/
|
|
32
|
-
isConnected(): boolean;
|
|
33
|
-
onMessage(callback: (data: any) => void): void;
|
|
34
|
-
/**
|
|
35
|
-
* Adds a listener for WebSocket events.
|
|
36
|
-
* @param event - The event type to listen for.
|
|
37
|
-
* @param callback - The function to call when the event occurs.
|
|
38
|
-
* @returns The WebSocketClient instance for chaining.
|
|
39
|
-
*/
|
|
40
|
-
on<T extends string>(event: T, callback: (data: any) => void): this;
|
|
41
|
-
listListeners(event: string): void;
|
|
42
|
-
/**
|
|
43
|
-
* Removes a specific listener from a WebSocket event.
|
|
44
|
-
* @param event - The event type to remove the listener from.
|
|
45
|
-
* @param callback - The function to remove from the event listeners.
|
|
46
|
-
* @returns The WebSocketClient instance for chaining.
|
|
47
|
-
*/
|
|
48
|
-
/**
|
|
49
|
-
* Removes a specific listener from a WebSocket event.
|
|
50
|
-
* @param event - The event type to remove the listener from.
|
|
51
|
-
* @param callback - The function to remove from the event listeners.
|
|
52
|
-
* @returns The WebSocketClient instance for chaining.
|
|
53
|
-
*/
|
|
54
|
-
off<T extends string>(event: T, callback: (data: any) => void): this;
|
|
55
|
-
removeWildcardListeners(id: string, event: string, type: "Channel" | "Playback"): void;
|
|
56
|
-
/**
|
|
57
|
-
* Removes all listeners for a specific event, or all events if no event is specified.
|
|
58
|
-
* @param event - Optional. The event to remove all listeners from.
|
|
59
|
-
* @returns The WebSocketClient instance for chaining.
|
|
60
|
-
*/
|
|
61
|
-
removeAllListeners(event?: string | symbol): this;
|
|
62
|
-
/**
|
|
63
|
-
* Adiciona um listener escopado ao evento "message".
|
|
64
|
-
* @param instanceId - Identificador único da instância que está registrando o listener.
|
|
65
|
-
* @param app
|
|
66
|
-
* @param callback - Função de callback para o evento.
|
|
67
|
-
*/
|
|
68
|
-
addScopedMessageListener(instanceId: string, app: string, callback: (data: WebSocketEvent) => void): void;
|
|
69
|
-
/**
|
|
70
|
-
* Remove todos os listeners associados a uma instância específica.
|
|
71
|
-
* @param instanceId - Identificador da instância cujos listeners serão removidos.
|
|
72
|
-
* @param app
|
|
23
|
+
* Inicializa a conexão WebSocket com lógica de reconexão.
|
|
73
24
|
*/
|
|
74
|
-
|
|
75
|
-
removeAllScopedListeners(): void;
|
|
76
|
-
removeScopedChannelListeners(instanceId: string, app: string): void;
|
|
77
|
-
removeScopedPlaybackListeners(playbackId: string, app: string): void;
|
|
25
|
+
private initializeWebSocket;
|
|
78
26
|
/**
|
|
79
|
-
*
|
|
80
|
-
* @param rawData - The raw data received from the WebSocket.
|
|
27
|
+
* Processa as mensagens recebidas do WebSocket.
|
|
81
28
|
*/
|
|
82
29
|
private handleMessage;
|
|
83
30
|
/**
|
|
84
|
-
*
|
|
85
|
-
* @param data - The data to send.
|
|
86
|
-
* @throws Will throw an error if the WebSocket is not connected.
|
|
31
|
+
* Tenta reconectar ao WebSocket.
|
|
87
32
|
*/
|
|
88
|
-
|
|
33
|
+
private reconnect;
|
|
89
34
|
/**
|
|
90
|
-
*
|
|
35
|
+
* Fecha o WebSocket manualmente.
|
|
91
36
|
*/
|
|
92
37
|
close(): void;
|
|
93
38
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"websocketClient.d.ts","sourceRoot":"","sources":["../../../src/ari-client/websocketClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAGtC,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"websocketClient.d.ts","sourceRoot":"","sources":["../../../src/ari-client/websocketClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAGtC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,KAAK,EAAkB,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAEvE,qBAAa,eAAgB,SAAQ,YAAY;IAuB7C,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,IAAI;IACZ,OAAO,CAAC,gBAAgB,CAAC;IACzB,OAAO,CAAC,SAAS,CAAC;IAzBpB,OAAO,CAAC,EAAE,CAAC,CAAY;IACvB,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAM;IAE3C,OAAO,CAAC,QAAQ,CAAC,cAAc,CAe7B;gBAGQ,UAAU,EAAE,UAAU,EAAE,kDAAkD;IAC1E,IAAI,EAAE,MAAM,EAAE,EAAE,0CAA0C;IAC1D,gBAAgB,CAAC,EAAE,kBAAkB,EAAE,YAAA,EAAE,qCAAqC;IAC9E,SAAS,CAAC,EAAE,SAAS,YAAA;IAK/B;;OAEG;IACU,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IA+BrC;;OAEG;YACW,mBAAmB;IAkCjC;;OAEG;IACH,OAAO,CAAC,aAAa;IAwCrB;;OAEG;IACH,OAAO,CAAC,SAAS;IAcjB;;OAEG;IACI,KAAK,IAAI,IAAI;CAIrB"}
|