@per_moeller/asterisk-ari 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (111) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +291 -0
  3. package/dist/client.d.ts +123 -0
  4. package/dist/client.d.ts.map +1 -0
  5. package/dist/client.js +297 -0
  6. package/dist/client.js.map +1 -0
  7. package/dist/connection.d.ts +70 -0
  8. package/dist/connection.d.ts.map +1 -0
  9. package/dist/connection.js +157 -0
  10. package/dist/connection.js.map +1 -0
  11. package/dist/events/emitter.d.ts +82 -0
  12. package/dist/events/emitter.d.ts.map +1 -0
  13. package/dist/events/emitter.js +132 -0
  14. package/dist/events/emitter.js.map +1 -0
  15. package/dist/events/types.d.ts +283 -0
  16. package/dist/events/types.d.ts.map +1 -0
  17. package/dist/events/types.js +5 -0
  18. package/dist/events/types.js.map +1 -0
  19. package/dist/index.d.ts +27 -0
  20. package/dist/index.d.ts.map +1 -0
  21. package/dist/index.js +34 -0
  22. package/dist/index.js.map +1 -0
  23. package/dist/models/bridge.d.ts +102 -0
  24. package/dist/models/bridge.d.ts.map +1 -0
  25. package/dist/models/bridge.js +186 -0
  26. package/dist/models/bridge.js.map +1 -0
  27. package/dist/models/channel.d.ts +166 -0
  28. package/dist/models/channel.d.ts.map +1 -0
  29. package/dist/models/channel.js +278 -0
  30. package/dist/models/channel.js.map +1 -0
  31. package/dist/models/index.d.ts +8 -0
  32. package/dist/models/index.d.ts.map +1 -0
  33. package/dist/models/index.js +8 -0
  34. package/dist/models/index.js.map +1 -0
  35. package/dist/models/playback.d.ts +82 -0
  36. package/dist/models/playback.d.ts.map +1 -0
  37. package/dist/models/playback.js +146 -0
  38. package/dist/models/playback.js.map +1 -0
  39. package/dist/models/recording.d.ts +104 -0
  40. package/dist/models/recording.d.ts.map +1 -0
  41. package/dist/models/recording.js +191 -0
  42. package/dist/models/recording.js.map +1 -0
  43. package/dist/pool.d.ts +57 -0
  44. package/dist/pool.d.ts.map +1 -0
  45. package/dist/pool.js +111 -0
  46. package/dist/pool.js.map +1 -0
  47. package/dist/queue.d.ts +85 -0
  48. package/dist/queue.d.ts.map +1 -0
  49. package/dist/queue.js +208 -0
  50. package/dist/queue.js.map +1 -0
  51. package/dist/resources/applications.d.ts +37 -0
  52. package/dist/resources/applications.d.ts.map +1 -0
  53. package/dist/resources/applications.js +45 -0
  54. package/dist/resources/applications.js.map +1 -0
  55. package/dist/resources/asterisk.d.ts +71 -0
  56. package/dist/resources/asterisk.d.ts.map +1 -0
  57. package/dist/resources/asterisk.js +94 -0
  58. package/dist/resources/asterisk.js.map +1 -0
  59. package/dist/resources/base.d.ts +18 -0
  60. package/dist/resources/base.d.ts.map +1 -0
  61. package/dist/resources/base.js +21 -0
  62. package/dist/resources/base.js.map +1 -0
  63. package/dist/resources/bridges.d.ts +66 -0
  64. package/dist/resources/bridges.d.ts.map +1 -0
  65. package/dist/resources/bridges.js +109 -0
  66. package/dist/resources/bridges.js.map +1 -0
  67. package/dist/resources/channels.d.ts +130 -0
  68. package/dist/resources/channels.d.ts.map +1 -0
  69. package/dist/resources/channels.js +228 -0
  70. package/dist/resources/channels.js.map +1 -0
  71. package/dist/resources/devicestates.d.ts +30 -0
  72. package/dist/resources/devicestates.d.ts.map +1 -0
  73. package/dist/resources/devicestates.js +37 -0
  74. package/dist/resources/devicestates.js.map +1 -0
  75. package/dist/resources/endpoints.d.ts +38 -0
  76. package/dist/resources/endpoints.d.ts.map +1 -0
  77. package/dist/resources/endpoints.js +61 -0
  78. package/dist/resources/endpoints.js.map +1 -0
  79. package/dist/resources/mailboxes.d.ts +30 -0
  80. package/dist/resources/mailboxes.d.ts.map +1 -0
  81. package/dist/resources/mailboxes.js +38 -0
  82. package/dist/resources/mailboxes.js.map +1 -0
  83. package/dist/resources/playbacks.d.ts +27 -0
  84. package/dist/resources/playbacks.d.ts.map +1 -0
  85. package/dist/resources/playbacks.js +31 -0
  86. package/dist/resources/playbacks.js.map +1 -0
  87. package/dist/resources/recordings.d.ts +76 -0
  88. package/dist/resources/recordings.d.ts.map +1 -0
  89. package/dist/resources/recordings.js +105 -0
  90. package/dist/resources/recordings.js.map +1 -0
  91. package/dist/resources/sounds.d.ts +22 -0
  92. package/dist/resources/sounds.d.ts.map +1 -0
  93. package/dist/resources/sounds.js +26 -0
  94. package/dist/resources/sounds.js.map +1 -0
  95. package/dist/types/api.d.ts +331 -0
  96. package/dist/types/api.d.ts.map +1 -0
  97. package/dist/types/api.js +5 -0
  98. package/dist/types/api.js.map +1 -0
  99. package/dist/types/options.d.ts +77 -0
  100. package/dist/types/options.d.ts.map +1 -0
  101. package/dist/types/options.js +23 -0
  102. package/dist/types/options.js.map +1 -0
  103. package/dist/version.d.ts +86 -0
  104. package/dist/version.d.ts.map +1 -0
  105. package/dist/version.js +122 -0
  106. package/dist/version.js.map +1 -0
  107. package/dist/websocket.d.ts +70 -0
  108. package/dist/websocket.d.ts.map +1 -0
  109. package/dist/websocket.js +195 -0
  110. package/dist/websocket.js.map +1 -0
  111. package/package.json +59 -0
@@ -0,0 +1,132 @@
1
+ /**
2
+ * Type-safe event emitter for ARI events
3
+ */
4
+ import { EventEmitter } from 'events';
5
+ /**
6
+ * Typed event emitter with support for wildcard listeners
7
+ */
8
+ export class TypedEventEmitter {
9
+ emitter = new EventEmitter();
10
+ wildcardListeners = new Set();
11
+ constructor() {
12
+ this.emitter.setMaxListeners(100);
13
+ }
14
+ /**
15
+ * Add an event listener
16
+ */
17
+ on(event, listener) {
18
+ if (event === '*') {
19
+ this.wildcardListeners.add(listener);
20
+ }
21
+ else {
22
+ this.emitter.on(event, listener);
23
+ }
24
+ return this;
25
+ }
26
+ /**
27
+ * Add a one-time event listener
28
+ */
29
+ once(event, listener) {
30
+ if (event === '*') {
31
+ const wrappedListener = (ev, ...args) => {
32
+ this.wildcardListeners.delete(wrappedListener);
33
+ listener(ev, ...args);
34
+ };
35
+ this.wildcardListeners.add(wrappedListener);
36
+ }
37
+ else {
38
+ this.emitter.once(event, listener);
39
+ }
40
+ return this;
41
+ }
42
+ /**
43
+ * Remove an event listener
44
+ */
45
+ off(event, listener) {
46
+ if (event === '*') {
47
+ this.wildcardListeners.delete(listener);
48
+ }
49
+ else {
50
+ this.emitter.off(event, listener);
51
+ }
52
+ return this;
53
+ }
54
+ /**
55
+ * Emit an event
56
+ */
57
+ emit(event, data, ...args) {
58
+ // Emit to specific listeners
59
+ const hasListeners = this.emitter.emit(event, data, ...args);
60
+ // Emit to wildcard listeners
61
+ for (const listener of this.wildcardListeners) {
62
+ try {
63
+ listener(data, ...args);
64
+ }
65
+ catch (error) {
66
+ console.error('Error in wildcard event listener:', error);
67
+ }
68
+ }
69
+ return hasListeners || this.wildcardListeners.size > 0;
70
+ }
71
+ /**
72
+ * Remove all listeners for an event
73
+ */
74
+ removeAllListeners(event) {
75
+ if (event === undefined) {
76
+ this.emitter.removeAllListeners();
77
+ this.wildcardListeners.clear();
78
+ }
79
+ else if (event === '*') {
80
+ this.wildcardListeners.clear();
81
+ }
82
+ else {
83
+ this.emitter.removeAllListeners(event);
84
+ }
85
+ return this;
86
+ }
87
+ /**
88
+ * Get listener count for an event
89
+ */
90
+ listenerCount(event) {
91
+ if (event === '*') {
92
+ return this.wildcardListeners.size;
93
+ }
94
+ return this.emitter.listenerCount(event);
95
+ }
96
+ /**
97
+ * Set max listeners
98
+ */
99
+ setMaxListeners(n) {
100
+ this.emitter.setMaxListeners(n);
101
+ return this;
102
+ }
103
+ }
104
+ /**
105
+ * ARI Event emitter with typed events
106
+ */
107
+ export class AriEventEmitter extends TypedEventEmitter {
108
+ /**
109
+ * Add a listener for a specific event type
110
+ */
111
+ on(event, listener) {
112
+ return super.on(event, listener);
113
+ }
114
+ /**
115
+ * Add a one-time listener for a specific event type
116
+ */
117
+ once(event, listener) {
118
+ return super.once(event, listener);
119
+ }
120
+ /**
121
+ * Remove a listener for a specific event type
122
+ */
123
+ off(event, listener) {
124
+ return super.off(event, listener);
125
+ }
126
+ }
127
+ /**
128
+ * Connection event emitter
129
+ */
130
+ export class ConnectionEventEmitter extends TypedEventEmitter {
131
+ }
132
+ //# sourceMappingURL=emitter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"emitter.js","sourceRoot":"","sources":["../../src/events/emitter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,283 @@
1
+ /**
2
+ * ARI Event type definitions
3
+ */
4
+ import type { Bridge, Channel, DeviceState, Endpoint, LiveRecording, Playback } from '../types/api.js';
5
+ export interface BaseEvent {
6
+ type: string;
7
+ application: string;
8
+ timestamp: string;
9
+ asterisk_id?: string;
10
+ }
11
+ export interface StasisStartEvent extends BaseEvent {
12
+ type: 'StasisStart';
13
+ args: string[];
14
+ channel: Channel;
15
+ replace_channel?: Channel;
16
+ }
17
+ export interface StasisEndEvent extends BaseEvent {
18
+ type: 'StasisEnd';
19
+ channel: Channel;
20
+ }
21
+ export interface ChannelCreatedEvent extends BaseEvent {
22
+ type: 'ChannelCreated';
23
+ channel: Channel;
24
+ }
25
+ export interface ChannelDestroyedEvent extends BaseEvent {
26
+ type: 'ChannelDestroyed';
27
+ channel: Channel;
28
+ cause: number;
29
+ cause_txt: string;
30
+ }
31
+ export interface ChannelStateChangeEvent extends BaseEvent {
32
+ type: 'ChannelStateChange';
33
+ channel: Channel;
34
+ }
35
+ export interface ChannelDtmfReceivedEvent extends BaseEvent {
36
+ type: 'ChannelDtmfReceived';
37
+ channel: Channel;
38
+ digit: string;
39
+ duration_ms: number;
40
+ }
41
+ export interface ChannelHangupRequestEvent extends BaseEvent {
42
+ type: 'ChannelHangupRequest';
43
+ channel: Channel;
44
+ soft?: boolean;
45
+ cause?: number;
46
+ }
47
+ export interface ChannelVarsetEvent extends BaseEvent {
48
+ type: 'ChannelVarset';
49
+ channel?: Channel;
50
+ variable: string;
51
+ value: string;
52
+ }
53
+ export interface ChannelHoldEvent extends BaseEvent {
54
+ type: 'ChannelHold';
55
+ channel: Channel;
56
+ musicclass?: string;
57
+ }
58
+ export interface ChannelUnholdEvent extends BaseEvent {
59
+ type: 'ChannelUnhold';
60
+ channel: Channel;
61
+ }
62
+ export interface ChannelTalkingStartedEvent extends BaseEvent {
63
+ type: 'ChannelTalkingStarted';
64
+ channel: Channel;
65
+ }
66
+ export interface ChannelTalkingFinishedEvent extends BaseEvent {
67
+ type: 'ChannelTalkingFinished';
68
+ channel: Channel;
69
+ duration: number;
70
+ }
71
+ export interface ChannelConnectedLineEvent extends BaseEvent {
72
+ type: 'ChannelConnectedLine';
73
+ channel: Channel;
74
+ }
75
+ export interface ChannelDialplanEvent extends BaseEvent {
76
+ type: 'ChannelDialplan';
77
+ channel: Channel;
78
+ dialplan_app: string;
79
+ dialplan_app_data: string;
80
+ }
81
+ export interface ChannelCallerIdEvent extends BaseEvent {
82
+ type: 'ChannelCallerId';
83
+ channel: Channel;
84
+ caller_presentation: number;
85
+ caller_presentation_txt: string;
86
+ }
87
+ /** Asterisk 22+ */
88
+ export interface ChannelToneDetectedEvent extends BaseEvent {
89
+ type: 'ChannelToneDetected';
90
+ channel: Channel;
91
+ }
92
+ export interface BridgeCreatedEvent extends BaseEvent {
93
+ type: 'BridgeCreated';
94
+ bridge: Bridge;
95
+ }
96
+ export interface BridgeDestroyedEvent extends BaseEvent {
97
+ type: 'BridgeDestroyed';
98
+ bridge: Bridge;
99
+ }
100
+ export interface BridgeMergedEvent extends BaseEvent {
101
+ type: 'BridgeMerged';
102
+ bridge: Bridge;
103
+ bridge_from: Bridge;
104
+ }
105
+ export interface BridgeVideoSourceChangedEvent extends BaseEvent {
106
+ type: 'BridgeVideoSourceChanged';
107
+ bridge: Bridge;
108
+ old_video_source_id?: string;
109
+ }
110
+ export interface BridgeBlindTransferEvent extends BaseEvent {
111
+ type: 'BridgeBlindTransfer';
112
+ channel: Channel;
113
+ replace_channel?: Channel;
114
+ transferee?: Channel;
115
+ exten: string;
116
+ context: string;
117
+ result: string;
118
+ is_external: boolean;
119
+ bridge?: Bridge;
120
+ }
121
+ export interface BridgeAttendedTransferEvent extends BaseEvent {
122
+ type: 'BridgeAttendedTransfer';
123
+ transferer_first_leg: Channel;
124
+ transferer_second_leg: Channel;
125
+ replace_channel?: Channel;
126
+ transferee?: Channel;
127
+ transfer_target?: Channel;
128
+ result: string;
129
+ is_external: boolean;
130
+ transferer_first_leg_bridge?: Bridge;
131
+ transferer_second_leg_bridge?: Bridge;
132
+ destination_type: string;
133
+ destination_bridge?: string;
134
+ destination_application?: string;
135
+ destination_link_first_leg?: Channel;
136
+ destination_link_second_leg?: Channel;
137
+ destination_threeway_channel?: Channel;
138
+ destination_threeway_bridge?: Bridge;
139
+ }
140
+ export interface ChannelEnteredBridgeEvent extends BaseEvent {
141
+ type: 'ChannelEnteredBridge';
142
+ bridge: Bridge;
143
+ channel: Channel;
144
+ }
145
+ export interface ChannelLeftBridgeEvent extends BaseEvent {
146
+ type: 'ChannelLeftBridge';
147
+ bridge: Bridge;
148
+ channel: Channel;
149
+ }
150
+ export interface PlaybackStartedEvent extends BaseEvent {
151
+ type: 'PlaybackStarted';
152
+ playback: Playback;
153
+ }
154
+ export interface PlaybackContinuingEvent extends BaseEvent {
155
+ type: 'PlaybackContinuing';
156
+ playback: Playback;
157
+ }
158
+ export interface PlaybackFinishedEvent extends BaseEvent {
159
+ type: 'PlaybackFinished';
160
+ playback: Playback;
161
+ }
162
+ export interface RecordingStartedEvent extends BaseEvent {
163
+ type: 'RecordingStarted';
164
+ recording: LiveRecording;
165
+ }
166
+ export interface RecordingFinishedEvent extends BaseEvent {
167
+ type: 'RecordingFinished';
168
+ recording: LiveRecording;
169
+ }
170
+ export interface RecordingFailedEvent extends BaseEvent {
171
+ type: 'RecordingFailed';
172
+ recording: LiveRecording;
173
+ }
174
+ export interface EndpointStateChangeEvent extends BaseEvent {
175
+ type: 'EndpointStateChange';
176
+ endpoint: Endpoint;
177
+ }
178
+ export interface PeerStatusChangeEvent extends BaseEvent {
179
+ type: 'PeerStatusChange';
180
+ endpoint: Endpoint;
181
+ peer: Peer;
182
+ }
183
+ export interface Peer {
184
+ peer_status: string;
185
+ cause?: string;
186
+ address?: string;
187
+ port?: string;
188
+ time?: string;
189
+ }
190
+ export interface ContactStatusChangeEvent extends BaseEvent {
191
+ type: 'ContactStatusChange';
192
+ endpoint: Endpoint;
193
+ contact_info: ContactInfo;
194
+ }
195
+ export interface ContactInfo {
196
+ uri: string;
197
+ contact_status: string;
198
+ aor: string;
199
+ roundtrip_usec?: string;
200
+ }
201
+ export interface DeviceStateChangedEvent extends BaseEvent {
202
+ type: 'DeviceStateChanged';
203
+ device_state: {
204
+ name: string;
205
+ state: DeviceState;
206
+ };
207
+ }
208
+ export interface TextMessageReceivedEvent extends BaseEvent {
209
+ type: 'TextMessageReceived';
210
+ message: {
211
+ from: string;
212
+ to: string;
213
+ body: string;
214
+ variables?: Record<string, string>;
215
+ };
216
+ endpoint?: Endpoint;
217
+ }
218
+ export interface DialEvent extends BaseEvent {
219
+ type: 'Dial';
220
+ caller?: Channel;
221
+ peer: Channel;
222
+ forward?: string;
223
+ forwarded?: Channel;
224
+ dialstring?: string;
225
+ dialstatus: string;
226
+ }
227
+ export interface ApplicationReplacedEvent extends BaseEvent {
228
+ type: 'ApplicationReplaced';
229
+ }
230
+ export interface ApplicationMoveFailedEvent extends BaseEvent {
231
+ type: 'ApplicationMoveFailed';
232
+ channel: Channel;
233
+ destination: string;
234
+ args: string[];
235
+ }
236
+ export type AriEvent = StasisStartEvent | StasisEndEvent | ChannelCreatedEvent | ChannelDestroyedEvent | ChannelStateChangeEvent | ChannelDtmfReceivedEvent | ChannelHangupRequestEvent | ChannelVarsetEvent | ChannelHoldEvent | ChannelUnholdEvent | ChannelTalkingStartedEvent | ChannelTalkingFinishedEvent | ChannelConnectedLineEvent | ChannelDialplanEvent | ChannelCallerIdEvent | ChannelToneDetectedEvent | BridgeCreatedEvent | BridgeDestroyedEvent | BridgeMergedEvent | BridgeVideoSourceChangedEvent | BridgeBlindTransferEvent | BridgeAttendedTransferEvent | ChannelEnteredBridgeEvent | ChannelLeftBridgeEvent | PlaybackStartedEvent | PlaybackContinuingEvent | PlaybackFinishedEvent | RecordingStartedEvent | RecordingFinishedEvent | RecordingFailedEvent | EndpointStateChangeEvent | PeerStatusChangeEvent | ContactStatusChangeEvent | DeviceStateChangedEvent | TextMessageReceivedEvent | DialEvent | ApplicationReplacedEvent | ApplicationMoveFailedEvent;
237
+ export type AriEventType = AriEvent['type'];
238
+ export interface AriEventMap {
239
+ StasisStart: StasisStartEvent;
240
+ StasisEnd: StasisEndEvent;
241
+ ChannelCreated: ChannelCreatedEvent;
242
+ ChannelDestroyed: ChannelDestroyedEvent;
243
+ ChannelStateChange: ChannelStateChangeEvent;
244
+ ChannelDtmfReceived: ChannelDtmfReceivedEvent;
245
+ ChannelHangupRequest: ChannelHangupRequestEvent;
246
+ ChannelVarset: ChannelVarsetEvent;
247
+ ChannelHold: ChannelHoldEvent;
248
+ ChannelUnhold: ChannelUnholdEvent;
249
+ ChannelTalkingStarted: ChannelTalkingStartedEvent;
250
+ ChannelTalkingFinished: ChannelTalkingFinishedEvent;
251
+ ChannelConnectedLine: ChannelConnectedLineEvent;
252
+ ChannelDialplan: ChannelDialplanEvent;
253
+ ChannelCallerId: ChannelCallerIdEvent;
254
+ ChannelToneDetected: ChannelToneDetectedEvent;
255
+ BridgeCreated: BridgeCreatedEvent;
256
+ BridgeDestroyed: BridgeDestroyedEvent;
257
+ BridgeMerged: BridgeMergedEvent;
258
+ BridgeVideoSourceChanged: BridgeVideoSourceChangedEvent;
259
+ BridgeBlindTransfer: BridgeBlindTransferEvent;
260
+ BridgeAttendedTransfer: BridgeAttendedTransferEvent;
261
+ ChannelEnteredBridge: ChannelEnteredBridgeEvent;
262
+ ChannelLeftBridge: ChannelLeftBridgeEvent;
263
+ PlaybackStarted: PlaybackStartedEvent;
264
+ PlaybackContinuing: PlaybackContinuingEvent;
265
+ PlaybackFinished: PlaybackFinishedEvent;
266
+ RecordingStarted: RecordingStartedEvent;
267
+ RecordingFinished: RecordingFinishedEvent;
268
+ RecordingFailed: RecordingFailedEvent;
269
+ EndpointStateChange: EndpointStateChangeEvent;
270
+ PeerStatusChange: PeerStatusChangeEvent;
271
+ ContactStatusChange: ContactStatusChangeEvent;
272
+ DeviceStateChanged: DeviceStateChangedEvent;
273
+ TextMessageReceived: TextMessageReceivedEvent;
274
+ Dial: DialEvent;
275
+ ApplicationReplaced: ApplicationReplacedEvent;
276
+ ApplicationMoveFailed: ApplicationMoveFailedEvent;
277
+ '*': AriEvent;
278
+ }
279
+ export type ChannelEventType = 'StasisStart' | 'StasisEnd' | 'ChannelCreated' | 'ChannelDestroyed' | 'ChannelStateChange' | 'ChannelDtmfReceived' | 'ChannelHangupRequest' | 'ChannelVarset' | 'ChannelHold' | 'ChannelUnhold' | 'ChannelTalkingStarted' | 'ChannelTalkingFinished' | 'ChannelConnectedLine' | 'ChannelDialplan' | 'ChannelCallerId' | 'ChannelToneDetected' | 'ChannelEnteredBridge' | 'ChannelLeftBridge' | 'Dial';
280
+ export type BridgeEventType = 'BridgeCreated' | 'BridgeDestroyed' | 'BridgeMerged' | 'BridgeVideoSourceChanged' | 'BridgeBlindTransfer' | 'BridgeAttendedTransfer' | 'ChannelEnteredBridge' | 'ChannelLeftBridge';
281
+ export type PlaybackEventType = 'PlaybackStarted' | 'PlaybackContinuing' | 'PlaybackFinished';
282
+ export type RecordingEventType = 'RecordingStarted' | 'RecordingFinished' | 'RecordingFailed';
283
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/events/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * ARI Event type definitions
3
+ */
4
+ export {};
5
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/events/types.ts"],"names":[],"mappings":"AAAA;;GAEG"}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * @per_moeller/asterisk-ari
3
+ * Modern TypeScript ARI (Asterisk REST Interface) client
4
+ */
5
+ export { connect, AriClient } from './client.js';
6
+ export { HttpConnection, AriHttpError } from './connection.js';
7
+ export { WebSocketManager } from './websocket.js';
8
+ export { AriVersion, VersionCompat, parseAriVersion, fetchAriVersion, getAsteriskVersion, } from './version.js';
9
+ export { ConnectionPool, createPool } from './pool.js';
10
+ export { RequestQueue, CircuitBreakerOpenError } from './queue.js';
11
+ export { ConnectOptions, ResolvedOptions, PoolOptions, QueueOptions, DEFAULT_OPTIONS, resolveOptions, } from './types/options.js';
12
+ export type { ChannelState, CallerId, DialplanCEP, RTPstat, Channel, OriginateParams, CreateChannelParams, HangupParams, ContinueParams, MoveParams, DTMFParams, PlayParams, RecordParams, SnoopParams, DialParams, ExternalMediaParams, Bridge, BridgeType, CreateBridgeParams, AddChannelParams, RemoveChannelParams, PlayBridgeParams, RecordBridgeParams, Endpoint, EndpointState, TextMessage, Application, SubscribeParams, Playback, PlaybackState, LiveRecording, StoredRecording, RecordingState, StoredRecordingCopyParams, Sound, FormatLangPair, ListSoundsParams, Mailbox, UpdateMailboxParams, DeviceState, DeviceStateResource, AsteriskInfo, BuildInfo, SystemInfo, ConfigInfo, StatusInfo, Variable, Module, LogChannel, } from './types/api.js';
13
+ export type { BaseEvent, AriEvent, AriEventType, AriEventMap, StasisStartEvent, StasisEndEvent, ChannelCreatedEvent, ChannelDestroyedEvent, ChannelStateChangeEvent, ChannelDtmfReceivedEvent, ChannelHangupRequestEvent, ChannelVarsetEvent, ChannelHoldEvent, ChannelUnholdEvent, ChannelTalkingStartedEvent, ChannelTalkingFinishedEvent, ChannelConnectedLineEvent, ChannelDialplanEvent, ChannelCallerIdEvent, ChannelToneDetectedEvent, BridgeCreatedEvent, BridgeDestroyedEvent, BridgeMergedEvent, BridgeVideoSourceChangedEvent, BridgeBlindTransferEvent, BridgeAttendedTransferEvent, ChannelEnteredBridgeEvent, ChannelLeftBridgeEvent, PlaybackStartedEvent, PlaybackContinuingEvent, PlaybackFinishedEvent, RecordingStartedEvent, RecordingFinishedEvent, RecordingFailedEvent, EndpointStateChangeEvent, PeerStatusChangeEvent, ContactStatusChangeEvent, Peer, ContactInfo, DeviceStateChangedEvent, TextMessageReceivedEvent, DialEvent, ApplicationReplacedEvent, ApplicationMoveFailedEvent, ChannelEventType, BridgeEventType, PlaybackEventType, RecordingEventType, } from './events/types.js';
14
+ export { TypedEventEmitter, AriEventEmitter, ConnectionEventEmitter } from './events/emitter.js';
15
+ export { ChannelInstance, BridgeInstance, PlaybackInstance, LiveRecordingInstance, StoredRecordingInstance, } from './models/index.js';
16
+ export { BaseResource } from './resources/base.js';
17
+ export { ChannelsResource } from './resources/channels.js';
18
+ export { BridgesResource } from './resources/bridges.js';
19
+ export { EndpointsResource } from './resources/endpoints.js';
20
+ export { ApplicationsResource } from './resources/applications.js';
21
+ export { AsteriskResource, AsteriskInfoFilter } from './resources/asterisk.js';
22
+ export { PlaybacksResource, PlaybackOperation } from './resources/playbacks.js';
23
+ export { RecordingsResource, StoredRecordingsResource, LiveRecordingsResource } from './resources/recordings.js';
24
+ export { SoundsResource } from './resources/sounds.js';
25
+ export { MailboxesResource } from './resources/mailboxes.js';
26
+ export { DeviceStatesResource } from './resources/devicestates.js';
27
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js ADDED
@@ -0,0 +1,34 @@
1
+ /**
2
+ * @per_moeller/asterisk-ari
3
+ * Modern TypeScript ARI (Asterisk REST Interface) client
4
+ */
5
+ // Main client
6
+ export { connect, AriClient } from './client.js';
7
+ // Connection utilities
8
+ export { HttpConnection, AriHttpError } from './connection.js';
9
+ export { WebSocketManager } from './websocket.js';
10
+ // Version detection
11
+ export { VersionCompat, parseAriVersion, fetchAriVersion, getAsteriskVersion, } from './version.js';
12
+ // Connection pool
13
+ export { ConnectionPool, createPool } from './pool.js';
14
+ // Request queue
15
+ export { RequestQueue, CircuitBreakerOpenError } from './queue.js';
16
+ // Options
17
+ export { DEFAULT_OPTIONS, resolveOptions, } from './types/options.js';
18
+ // Event emitters
19
+ export { TypedEventEmitter, AriEventEmitter, ConnectionEventEmitter } from './events/emitter.js';
20
+ // Model instances
21
+ export { ChannelInstance, BridgeInstance, PlaybackInstance, LiveRecordingInstance, StoredRecordingInstance, } from './models/index.js';
22
+ // Resources
23
+ export { BaseResource } from './resources/base.js';
24
+ export { ChannelsResource } from './resources/channels.js';
25
+ export { BridgesResource } from './resources/bridges.js';
26
+ export { EndpointsResource } from './resources/endpoints.js';
27
+ export { ApplicationsResource } from './resources/applications.js';
28
+ export { AsteriskResource } from './resources/asterisk.js';
29
+ export { PlaybacksResource } from './resources/playbacks.js';
30
+ export { RecordingsResource, StoredRecordingsResource, LiveRecordingsResource } from './resources/recordings.js';
31
+ export { SoundsResource } from './resources/sounds.js';
32
+ export { MailboxesResource } from './resources/mailboxes.js';
33
+ export { DeviceStatesResource } from './resources/devicestates.js';
34
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,cAAc;AACd,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAEjD,uBAAuB;AACvB,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAElD,oBAAoB;AACpB,OAAO,EAEL,aAAa,EACb,eAAe,EACf,eAAe,EACf,kBAAkB,GACnB,MAAM,cAAc,CAAC;AAEtB,kBAAkB;AAClB,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAEvD,gBAAgB;AAChB,OAAO,EAAE,YAAY,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAEnE,UAAU;AACV,OAAO,EAKL,eAAe,EACf,cAAc,GACf,MAAM,oBAAoB,CAAC;AAiI5B,iBAAiB;AACjB,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAEjG,kBAAkB;AAClB,OAAO,EACL,eAAe,EACf,cAAc,EACd,gBAAgB,EAChB,qBAAqB,EACrB,uBAAuB,GACxB,MAAM,mBAAmB,CAAC;AAE3B,YAAY;AACZ,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAsB,MAAM,yBAAyB,CAAC;AAC/E,OAAO,EAAE,iBAAiB,EAAqB,MAAM,0BAA0B,CAAC;AAChF,OAAO,EAAE,kBAAkB,EAAE,wBAAwB,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AACjH,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC"}
@@ -0,0 +1,102 @@
1
+ /**
2
+ * Bridge model and instance class
3
+ */
4
+ import type { AriClient } from '../client.js';
5
+ import type { Bridge, BridgeType, CreateBridgeParams, AddChannelParams, RemoveChannelParams, PlayBridgeParams, RecordBridgeParams } from '../types/api.js';
6
+ import type { AriEventMap, BridgeEventType, BridgeCreatedEvent, BridgeDestroyedEvent, BridgeMergedEvent, BridgeVideoSourceChangedEvent, ChannelEnteredBridgeEvent, ChannelLeftBridgeEvent } from '../events/types.js';
7
+ import type { PlaybackInstance } from './playback.js';
8
+ import type { LiveRecordingInstance } from './recording.js';
9
+ type BridgeEventListener<E> = (event: E, bridge: BridgeInstance) => void | Promise<void>;
10
+ interface BridgeEventListeners {
11
+ BridgeCreated: BridgeEventListener<BridgeCreatedEvent>;
12
+ BridgeDestroyed: BridgeEventListener<BridgeDestroyedEvent>;
13
+ BridgeMerged: BridgeEventListener<BridgeMergedEvent>;
14
+ BridgeVideoSourceChanged: BridgeEventListener<BridgeVideoSourceChangedEvent>;
15
+ ChannelEnteredBridge: BridgeEventListener<ChannelEnteredBridgeEvent>;
16
+ ChannelLeftBridge: BridgeEventListener<ChannelLeftBridgeEvent>;
17
+ }
18
+ /**
19
+ * Bridge instance with bound operations and event handling
20
+ */
21
+ export declare class BridgeInstance implements Bridge {
22
+ id: string;
23
+ technology: string;
24
+ bridge_type: BridgeType;
25
+ bridge_class: string;
26
+ creator: string;
27
+ name: string;
28
+ channels: string[];
29
+ video_mode?: 'none' | 'talker' | 'single';
30
+ video_source_id?: string;
31
+ creationtime: string;
32
+ private readonly client;
33
+ private readonly listeners;
34
+ constructor(client: AriClient, id?: string, data?: Partial<Bridge>);
35
+ /**
36
+ * Update bridge data from an event or API response
37
+ */
38
+ updateData(data: Partial<Bridge>): void;
39
+ /**
40
+ * Add an event listener
41
+ */
42
+ on<K extends keyof BridgeEventListeners>(event: K, listener: BridgeEventListeners[K]): this;
43
+ /**
44
+ * Add a one-time event listener
45
+ */
46
+ once<K extends keyof BridgeEventListeners>(event: K, listener: BridgeEventListeners[K]): this;
47
+ /**
48
+ * Remove an event listener
49
+ */
50
+ off<K extends keyof BridgeEventListeners>(event: K, listener: BridgeEventListeners[K]): this;
51
+ /**
52
+ * Emit an event to listeners
53
+ * @internal
54
+ */
55
+ _emit<K extends BridgeEventType>(event: K, data: AriEventMap[K]): void;
56
+ /**
57
+ * Remove all event listeners and unregister from client
58
+ */
59
+ removeAllListeners(): this;
60
+ /**
61
+ * Create this bridge
62
+ */
63
+ create(params?: Omit<CreateBridgeParams, 'bridgeId'>): Promise<void>;
64
+ /**
65
+ * Destroy this bridge
66
+ */
67
+ destroy(): Promise<void>;
68
+ /**
69
+ * Add channel(s) to this bridge
70
+ */
71
+ addChannel(params: AddChannelParams): Promise<void>;
72
+ /**
73
+ * Remove channel(s) from this bridge
74
+ */
75
+ removeChannel(params: RemoveChannelParams): Promise<void>;
76
+ /**
77
+ * Set the video source for this bridge
78
+ */
79
+ setVideoSource(channelId: string): Promise<void>;
80
+ /**
81
+ * Clear the video source for this bridge
82
+ */
83
+ clearVideoSource(): Promise<void>;
84
+ /**
85
+ * Start music on hold for this bridge
86
+ */
87
+ startMoh(mohClass?: string): Promise<void>;
88
+ /**
89
+ * Stop music on hold for this bridge
90
+ */
91
+ stopMoh(): Promise<void>;
92
+ /**
93
+ * Play media to this bridge
94
+ */
95
+ play(params: PlayBridgeParams): Promise<PlaybackInstance>;
96
+ /**
97
+ * Record audio from this bridge
98
+ */
99
+ record(params: RecordBridgeParams): Promise<LiveRecordingInstance>;
100
+ }
101
+ export {};
102
+ //# sourceMappingURL=bridge.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bridge.d.ts","sourceRoot":"","sources":["../../src/models/bridge.ts"],"names":[],"mappings":"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"}