@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,105 @@
1
+ /**
2
+ * Recordings API resource
3
+ */
4
+ import { BaseResource } from './base.js';
5
+ import { toQueryParams } from '../connection.js';
6
+ /**
7
+ * Stored Recordings API
8
+ */
9
+ export class StoredRecordingsResource extends BaseResource {
10
+ constructor(http, version) {
11
+ super(http, version);
12
+ }
13
+ /**
14
+ * List all stored recordings
15
+ */
16
+ async list() {
17
+ return this.http.get('/recordings/stored');
18
+ }
19
+ /**
20
+ * Get a stored recording's details
21
+ */
22
+ async get(recordingName) {
23
+ return this.http.get(`/recordings/stored/${encodeURIComponent(recordingName)}`);
24
+ }
25
+ /**
26
+ * Get the file for a stored recording
27
+ */
28
+ async getFile(recordingName) {
29
+ return this.http.get(`/recordings/stored/${encodeURIComponent(recordingName)}/file`);
30
+ }
31
+ /**
32
+ * Copy a stored recording
33
+ */
34
+ async copy(recordingName, params) {
35
+ return this.http.post(`/recordings/stored/${encodeURIComponent(recordingName)}/copy`, undefined, toQueryParams(params));
36
+ }
37
+ /**
38
+ * Delete a stored recording
39
+ */
40
+ async delete(recordingName) {
41
+ return this.http.delete(`/recordings/stored/${encodeURIComponent(recordingName)}`);
42
+ }
43
+ }
44
+ /**
45
+ * Live Recordings API
46
+ */
47
+ export class LiveRecordingsResource extends BaseResource {
48
+ constructor(http, version) {
49
+ super(http, version);
50
+ }
51
+ /**
52
+ * Get a live recording's details
53
+ */
54
+ async get(recordingName) {
55
+ return this.http.get(`/recordings/live/${encodeURIComponent(recordingName)}`);
56
+ }
57
+ /**
58
+ * Stop and store a live recording
59
+ */
60
+ async stop(recordingName) {
61
+ return this.http.post(`/recordings/live/${encodeURIComponent(recordingName)}/stop`);
62
+ }
63
+ /**
64
+ * Pause a live recording
65
+ */
66
+ async pause(recordingName) {
67
+ return this.http.post(`/recordings/live/${encodeURIComponent(recordingName)}/pause`);
68
+ }
69
+ /**
70
+ * Unpause a live recording
71
+ */
72
+ async unpause(recordingName) {
73
+ return this.http.delete(`/recordings/live/${encodeURIComponent(recordingName)}/pause`);
74
+ }
75
+ /**
76
+ * Mute a live recording
77
+ */
78
+ async mute(recordingName) {
79
+ return this.http.post(`/recordings/live/${encodeURIComponent(recordingName)}/mute`);
80
+ }
81
+ /**
82
+ * Unmute a live recording
83
+ */
84
+ async unmute(recordingName) {
85
+ return this.http.delete(`/recordings/live/${encodeURIComponent(recordingName)}/mute`);
86
+ }
87
+ /**
88
+ * Cancel and discard a live recording
89
+ */
90
+ async cancel(recordingName) {
91
+ return this.http.delete(`/recordings/live/${encodeURIComponent(recordingName)}`);
92
+ }
93
+ }
94
+ /**
95
+ * Combined Recordings API
96
+ */
97
+ export class RecordingsResource {
98
+ stored;
99
+ live;
100
+ constructor(http, version) {
101
+ this.stored = new StoredRecordingsResource(http, version);
102
+ this.live = new LiveRecordingsResource(http, version);
103
+ }
104
+ }
105
+ //# sourceMappingURL=recordings.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"recordings.js","sourceRoot":"","sources":["../../src/resources/recordings.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Sounds API resource
3
+ */
4
+ import { BaseResource } from './base.js';
5
+ import type { HttpConnection } from '../connection.js';
6
+ import type { VersionCompat } from '../version.js';
7
+ import type { Sound, ListSoundsParams } from '../types/api.js';
8
+ /**
9
+ * Sounds API - List available sounds
10
+ */
11
+ export declare class SoundsResource extends BaseResource {
12
+ constructor(http: HttpConnection, version: VersionCompat);
13
+ /**
14
+ * List all sounds
15
+ */
16
+ list(params?: ListSoundsParams): Promise<Sound[]>;
17
+ /**
18
+ * Get a specific sound
19
+ */
20
+ get(soundId: string): Promise<Sound>;
21
+ }
22
+ //# sourceMappingURL=sounds.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sounds.d.ts","sourceRoot":"","sources":["../../src/resources/sounds.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAEvD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,KAAK,EAAE,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAE/D;;GAEG;AACH,qBAAa,cAAe,SAAQ,YAAY;gBAClC,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,aAAa;IAIxD;;OAEG;IACG,IAAI,CAAC,MAAM,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;IAIvD;;OAEG;IACG,GAAG,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC;CAG3C"}
@@ -0,0 +1,26 @@
1
+ /**
2
+ * Sounds API resource
3
+ */
4
+ import { BaseResource } from './base.js';
5
+ import { toQueryParams } from '../connection.js';
6
+ /**
7
+ * Sounds API - List available sounds
8
+ */
9
+ export class SoundsResource extends BaseResource {
10
+ constructor(http, version) {
11
+ super(http, version);
12
+ }
13
+ /**
14
+ * List all sounds
15
+ */
16
+ async list(params) {
17
+ return this.http.get('/sounds', toQueryParams(params));
18
+ }
19
+ /**
20
+ * Get a specific sound
21
+ */
22
+ async get(soundId) {
23
+ return this.http.get(`/sounds/${encodeURIComponent(soundId)}`);
24
+ }
25
+ }
26
+ //# sourceMappingURL=sounds.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sounds.js","sourceRoot":"","sources":["../../src/resources/sounds.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAEzC,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAIjD;;GAEG;AACH,MAAM,OAAO,cAAe,SAAQ,YAAY;IAC9C,YAAY,IAAoB,EAAE,OAAsB;QACtD,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACvB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,IAAI,CAAC,MAAyB;QAClC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAU,SAAS,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC;IAClE,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,GAAG,CAAC,OAAe;QACvB,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAQ,WAAW,kBAAkB,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACxE,CAAC;CACF"}
@@ -0,0 +1,331 @@
1
+ /**
2
+ * API request and response types for Asterisk ARI
3
+ */
4
+ export type ChannelState = 'Down' | 'Rsrvd' | 'OffHook' | 'Dialing' | 'Ring' | 'Ringing' | 'Up' | 'Busy' | 'Dialing Offhook' | 'Pre-ring' | 'Unknown';
5
+ export interface CallerId {
6
+ name: string;
7
+ number: string;
8
+ }
9
+ export interface DialplanCEP {
10
+ context: string;
11
+ exten: string;
12
+ priority: number;
13
+ app_name?: string;
14
+ app_data?: string;
15
+ }
16
+ export interface RTPstat {
17
+ txcount: number;
18
+ rxcount: number;
19
+ txjitter?: number;
20
+ rxjitter?: number;
21
+ remote_maxjitter?: number;
22
+ remote_minjitter?: number;
23
+ remote_normdevjitter?: number;
24
+ remote_stdevjitter?: number;
25
+ local_maxjitter?: number;
26
+ local_minjitter?: number;
27
+ local_normdevjitter?: number;
28
+ local_stdevjitter?: number;
29
+ txploss: number;
30
+ rxploss: number;
31
+ remote_maxrxploss?: number;
32
+ remote_minrxploss?: number;
33
+ remote_normdevrxploss?: number;
34
+ remote_stdevrxploss?: number;
35
+ local_maxrxploss?: number;
36
+ local_minrxploss?: number;
37
+ local_normdevrxploss?: number;
38
+ local_stdevrxploss?: number;
39
+ rtt?: number;
40
+ maxrtt?: number;
41
+ minrtt?: number;
42
+ normdevrtt?: number;
43
+ stdevrtt?: number;
44
+ local_ssrc: number;
45
+ remote_ssrc: number;
46
+ txoctetcount: number;
47
+ rxoctetcount: number;
48
+ channel_uniqueid: string;
49
+ }
50
+ export interface Channel {
51
+ id: string;
52
+ name: string;
53
+ state: ChannelState;
54
+ caller: CallerId;
55
+ connected: CallerId;
56
+ accountcode: string;
57
+ dialplan: DialplanCEP;
58
+ creationtime: string;
59
+ language: string;
60
+ channelvars?: Record<string, string>;
61
+ /** Protocol ID (Asterisk 20+) */
62
+ protocol_id?: string;
63
+ }
64
+ export interface OriginateParams {
65
+ endpoint: string;
66
+ extension?: string;
67
+ context?: string;
68
+ priority?: number;
69
+ label?: string;
70
+ app?: string;
71
+ appArgs?: string;
72
+ callerId?: string;
73
+ timeout?: number;
74
+ channelId?: string;
75
+ otherChannelId?: string;
76
+ originator?: string;
77
+ formats?: string;
78
+ variables?: Record<string, string>;
79
+ }
80
+ export interface CreateChannelParams {
81
+ endpoint: string;
82
+ app: string;
83
+ appArgs?: string;
84
+ channelId?: string;
85
+ otherChannelId?: string;
86
+ originator?: string;
87
+ formats?: string;
88
+ variables?: Record<string, string>;
89
+ }
90
+ export interface HangupParams {
91
+ reason_code?: string;
92
+ reason?: string;
93
+ }
94
+ export interface ContinueParams {
95
+ context?: string;
96
+ extension?: string;
97
+ priority?: number;
98
+ label?: string;
99
+ }
100
+ export interface MoveParams {
101
+ app: string;
102
+ appArgs?: string;
103
+ }
104
+ export interface DTMFParams {
105
+ dtmf: string;
106
+ before?: number;
107
+ between?: number;
108
+ duration?: number;
109
+ after?: number;
110
+ }
111
+ export interface PlayParams {
112
+ media: string | string[];
113
+ lang?: string;
114
+ offsetms?: number;
115
+ skipms?: number;
116
+ playbackId?: string;
117
+ }
118
+ export interface RecordParams {
119
+ name: string;
120
+ format: string;
121
+ maxDurationSeconds?: number;
122
+ maxSilenceSeconds?: number;
123
+ ifExists?: 'fail' | 'overwrite' | 'append';
124
+ beep?: boolean;
125
+ terminateOn?: string;
126
+ }
127
+ export interface SnoopParams {
128
+ spy?: 'none' | 'both' | 'out' | 'in';
129
+ whisper?: 'none' | 'both' | 'out' | 'in';
130
+ app: string;
131
+ appArgs?: string;
132
+ snoopId?: string;
133
+ }
134
+ export interface DialParams {
135
+ caller?: string;
136
+ timeout?: number;
137
+ }
138
+ export interface ExternalMediaParams {
139
+ channelId?: string;
140
+ app: string;
141
+ external_host: string;
142
+ encapsulation?: 'rtp' | 'audiosocket';
143
+ transport?: 'udp' | 'tcp';
144
+ connection_type?: 'client' | 'server';
145
+ format: string;
146
+ direction?: 'both' | 'read' | 'write';
147
+ data?: string;
148
+ variables?: Record<string, string>;
149
+ }
150
+ export type BridgeType = 'mixing' | 'holding' | 'dtmf_events' | 'proxy_media' | 'video_sfu' | 'video_single';
151
+ export interface Bridge {
152
+ id: string;
153
+ technology: string;
154
+ bridge_type: BridgeType;
155
+ bridge_class: string;
156
+ creator: string;
157
+ name: string;
158
+ channels: string[];
159
+ video_mode?: 'none' | 'talker' | 'single';
160
+ video_source_id?: string;
161
+ creationtime: string;
162
+ }
163
+ export interface CreateBridgeParams {
164
+ type?: BridgeType | string;
165
+ bridgeId?: string;
166
+ name?: string;
167
+ }
168
+ export interface AddChannelParams {
169
+ channel: string | string[];
170
+ role?: string;
171
+ absorbDTMF?: boolean;
172
+ mute?: boolean;
173
+ inhibitConnectedLineUpdates?: boolean;
174
+ }
175
+ export interface RemoveChannelParams {
176
+ channel: string | string[];
177
+ }
178
+ export interface PlayBridgeParams extends PlayParams {
179
+ }
180
+ export interface RecordBridgeParams extends RecordParams {
181
+ }
182
+ export type EndpointState = 'unknown' | 'offline' | 'online';
183
+ export interface Endpoint {
184
+ technology: string;
185
+ resource: string;
186
+ state: EndpointState;
187
+ channel_ids: string[];
188
+ }
189
+ export interface TextMessage {
190
+ from: string;
191
+ to: string;
192
+ body: string;
193
+ variables?: Record<string, string>;
194
+ }
195
+ export interface Application {
196
+ name: string;
197
+ channel_ids: string[];
198
+ bridge_ids: string[];
199
+ endpoint_ids: string[];
200
+ device_names: string[];
201
+ }
202
+ export interface SubscribeParams {
203
+ eventSource: string | string[];
204
+ }
205
+ export type PlaybackState = 'queued' | 'playing' | 'paused' | 'complete' | 'failed';
206
+ export interface Playback {
207
+ id: string;
208
+ media_uri: string;
209
+ next_media_uri?: string;
210
+ target_uri: string;
211
+ language: string;
212
+ state: PlaybackState;
213
+ }
214
+ export type RecordingState = 'queued' | 'recording' | 'paused' | 'done' | 'failed' | 'canceled';
215
+ export interface LiveRecording {
216
+ name: string;
217
+ format: string;
218
+ state: RecordingState;
219
+ target_uri: string;
220
+ duration?: number;
221
+ talking_duration?: number;
222
+ silence_duration?: number;
223
+ cause?: string;
224
+ }
225
+ export interface StoredRecording {
226
+ name: string;
227
+ format: string;
228
+ }
229
+ export interface StoredRecordingCopyParams {
230
+ destinationRecordingName: string;
231
+ }
232
+ export interface Sound {
233
+ id: string;
234
+ text?: string;
235
+ formats: FormatLangPair[];
236
+ }
237
+ export interface FormatLangPair {
238
+ language: string;
239
+ format: string;
240
+ }
241
+ export interface ListSoundsParams {
242
+ lang?: string;
243
+ format?: string;
244
+ }
245
+ export interface Mailbox {
246
+ name: string;
247
+ old_messages: number;
248
+ new_messages: number;
249
+ }
250
+ export interface UpdateMailboxParams {
251
+ oldMessages: number;
252
+ newMessages: number;
253
+ }
254
+ export type DeviceState = 'UNKNOWN' | 'NOT_INUSE' | 'INUSE' | 'BUSY' | 'INVALID' | 'UNAVAILABLE' | 'RINGING' | 'RINGINUSE' | 'ONHOLD';
255
+ export interface DeviceStateResource {
256
+ name: string;
257
+ state: DeviceState;
258
+ }
259
+ export interface AsteriskInfo {
260
+ build?: BuildInfo;
261
+ system?: SystemInfo;
262
+ config?: ConfigInfo;
263
+ status?: StatusInfo;
264
+ }
265
+ export interface BuildInfo {
266
+ os: string;
267
+ kernel: string;
268
+ options: string;
269
+ machine: string;
270
+ date: string;
271
+ user: string;
272
+ }
273
+ export interface SystemInfo {
274
+ version: string;
275
+ entity_id: string;
276
+ }
277
+ export interface ConfigInfo {
278
+ name: string;
279
+ default_language: string;
280
+ max_channels?: number;
281
+ max_open_files?: number;
282
+ max_load?: number;
283
+ setid?: SetId;
284
+ }
285
+ export interface SetId {
286
+ user: string;
287
+ group: string;
288
+ }
289
+ export interface StatusInfo {
290
+ startup_time: string;
291
+ last_reload_time: string;
292
+ }
293
+ export interface Variable {
294
+ value: string;
295
+ }
296
+ export interface Module {
297
+ name: string;
298
+ description: string;
299
+ use_count: number;
300
+ status: string;
301
+ support_level: string;
302
+ }
303
+ export interface LogChannel {
304
+ channel: string;
305
+ type: string;
306
+ status: string;
307
+ configuration: string;
308
+ }
309
+ export interface AriInfo {
310
+ apiVersion: string;
311
+ swaggerVersion: string;
312
+ basePath: string;
313
+ resourcePath: string;
314
+ apis: ApiDeclaration[];
315
+ models?: Record<string, unknown>;
316
+ }
317
+ export interface ApiDeclaration {
318
+ path: string;
319
+ description?: string;
320
+ }
321
+ export interface ResourcesJson {
322
+ apiVersion: string;
323
+ swaggerVersion: string;
324
+ basePath: string;
325
+ apis: ApiListing[];
326
+ }
327
+ export interface ApiListing {
328
+ path: string;
329
+ description: string;
330
+ }
331
+ //# sourceMappingURL=api.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../src/types/api.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * API request and response types for Asterisk ARI
3
+ */
4
+ export {};
5
+ //# sourceMappingURL=api.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/types/api.ts"],"names":[],"mappings":"AAAA;;GAEG"}
@@ -0,0 +1,77 @@
1
+ /**
2
+ * Connection options for ARI client
3
+ */
4
+ export interface ConnectOptions {
5
+ /** Base URL of the Asterisk server (e.g., 'http://localhost:8088') */
6
+ url: string;
7
+ /** ARI username */
8
+ username: string;
9
+ /** ARI password */
10
+ password: string;
11
+ /** Stasis application name(s) - can be a single app or comma-separated list */
12
+ app: string;
13
+ /** Subscribe to all Asterisk events (default: false) */
14
+ subscribeAll?: boolean;
15
+ /** Enable automatic WebSocket reconnection (default: true) */
16
+ reconnect?: boolean;
17
+ /** Initial reconnect interval in ms (default: 1000) */
18
+ reconnectInterval?: number;
19
+ /** Maximum reconnect interval in ms (default: 30000) */
20
+ maxReconnectInterval?: number;
21
+ /** Backoff multiplier for reconnection delay (default: 1.5) */
22
+ reconnectBackoffMultiplier?: number;
23
+ /** WebSocket ping interval in ms (default: 30000) */
24
+ pingInterval?: number;
25
+ /** Ping response timeout in ms (default: 5000) */
26
+ pingTimeout?: number;
27
+ /** HTTP request timeout in ms (default: 30000) */
28
+ requestTimeout?: number;
29
+ }
30
+ /**
31
+ * Internal resolved options with defaults applied
32
+ */
33
+ export interface ResolvedOptions {
34
+ url: string;
35
+ username: string;
36
+ password: string;
37
+ app: string;
38
+ subscribeAll: boolean;
39
+ reconnect: boolean;
40
+ reconnectInterval: number;
41
+ maxReconnectInterval: number;
42
+ reconnectBackoffMultiplier: number;
43
+ pingInterval: number;
44
+ pingTimeout: number;
45
+ requestTimeout: number;
46
+ }
47
+ /**
48
+ * Default connection options
49
+ */
50
+ export declare const DEFAULT_OPTIONS: Omit<ResolvedOptions, 'url' | 'username' | 'password' | 'app'>;
51
+ /**
52
+ * Resolve options with defaults
53
+ */
54
+ export declare function resolveOptions(options: ConnectOptions): ResolvedOptions;
55
+ /**
56
+ * Connection pool options
57
+ */
58
+ export interface PoolOptions extends ConnectOptions {
59
+ /** Number of connections in the pool (default: 5) */
60
+ poolSize?: number;
61
+ }
62
+ /**
63
+ * Request queue options
64
+ */
65
+ export interface QueueOptions {
66
+ /** Maximum concurrent requests (default: 10) */
67
+ maxConcurrent?: number;
68
+ /** Maximum retry attempts (default: 3) */
69
+ maxRetries?: number;
70
+ /** Initial retry delay in ms (default: 1000) */
71
+ retryDelay?: number;
72
+ /** Failures before opening circuit breaker (default: 5) */
73
+ circuitBreakerThreshold?: number;
74
+ /** Time before half-open state in ms (default: 30000) */
75
+ circuitBreakerTimeout?: number;
76
+ }
77
+ //# sourceMappingURL=options.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../../src/types/options.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,sEAAsE;IACtE,GAAG,EAAE,MAAM,CAAC;IACZ,mBAAmB;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,mBAAmB;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,+EAA+E;IAC/E,GAAG,EAAE,MAAM,CAAC;IACZ,wDAAwD;IACxD,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,8DAA8D;IAC9D,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,uDAAuD;IACvD,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,wDAAwD;IACxD,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,+DAA+D;IAC/D,0BAA0B,CAAC,EAAE,MAAM,CAAC;IACpC,qDAAqD;IACrD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,kDAAkD;IAClD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,kDAAkD;IAClD,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,YAAY,EAAE,OAAO,CAAC;IACtB,SAAS,EAAE,OAAO,CAAC;IACnB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,oBAAoB,EAAE,MAAM,CAAC;IAC7B,0BAA0B,EAAE,MAAM,CAAC;IACnC,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;CACxB;AAED;;GAEG;AACH,eAAO,MAAM,eAAe,EAAE,IAAI,CAAC,eAAe,EAAE,KAAK,GAAG,UAAU,GAAG,UAAU,GAAG,KAAK,CAS1F,CAAC;AAEF;;GAEG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,cAAc,GAAG,eAAe,CAKvE;AAED;;GAEG;AACH,MAAM,WAAW,WAAY,SAAQ,cAAc;IACjD,qDAAqD;IACrD,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,gDAAgD;IAChD,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,0CAA0C;IAC1C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gDAAgD;IAChD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,2DAA2D;IAC3D,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,yDAAyD;IACzD,qBAAqB,CAAC,EAAE,MAAM,CAAC;CAChC"}
@@ -0,0 +1,23 @@
1
+ /**
2
+ * Default connection options
3
+ */
4
+ export const DEFAULT_OPTIONS = {
5
+ subscribeAll: false,
6
+ reconnect: true,
7
+ reconnectInterval: 1000,
8
+ maxReconnectInterval: 30000,
9
+ reconnectBackoffMultiplier: 1.5,
10
+ pingInterval: 30000,
11
+ pingTimeout: 5000,
12
+ requestTimeout: 30000,
13
+ };
14
+ /**
15
+ * Resolve options with defaults
16
+ */
17
+ export function resolveOptions(options) {
18
+ return {
19
+ ...DEFAULT_OPTIONS,
20
+ ...options,
21
+ };
22
+ }
23
+ //# sourceMappingURL=options.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"options.js","sourceRoot":"","sources":["../../src/types/options.ts"],"names":[],"mappings":"AAgDA;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAAmE;IAC7F,YAAY,EAAE,KAAK;IACnB,SAAS,EAAE,IAAI;IACf,iBAAiB,EAAE,IAAI;IACvB,oBAAoB,EAAE,KAAK;IAC3B,0BAA0B,EAAE,GAAG;IAC/B,YAAY,EAAE,KAAK;IACnB,WAAW,EAAE,IAAI;IACjB,cAAc,EAAE,KAAK;CACtB,CAAC;AAEF;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,OAAuB;IACpD,OAAO;QACL,GAAG,eAAe;QAClB,GAAG,OAAO;KACX,CAAC;AACJ,CAAC"}