@ipcom/asterisk-ari 0.0.17 → 0.0.19

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 (29) hide show
  1. package/dist/cjs/index.cjs +705 -50
  2. package/dist/cjs/index.cjs.map +4 -4
  3. package/dist/esm/index.js +700 -49
  4. package/dist/esm/index.js.map +4 -4
  5. package/dist/types/ari-client/ariClient.d.ts +218 -23
  6. package/dist/types/ari-client/ariClient.d.ts.map +1 -1
  7. package/dist/types/ari-client/baseClient.d.ts +20 -0
  8. package/dist/types/ari-client/baseClient.d.ts.map +1 -1
  9. package/dist/types/ari-client/interfaces/asterisk.types.d.ts +39 -0
  10. package/dist/types/ari-client/interfaces/asterisk.types.d.ts.map +1 -0
  11. package/dist/types/ari-client/interfaces/channels.types.d.ts +54 -5
  12. package/dist/types/ari-client/interfaces/channels.types.d.ts.map +1 -1
  13. package/dist/types/ari-client/interfaces/index.d.ts +8 -0
  14. package/dist/types/ari-client/interfaces/index.d.ts.map +1 -0
  15. package/dist/types/ari-client/interfaces/playbacks.types.d.ts +11 -0
  16. package/dist/types/ari-client/interfaces/playbacks.types.d.ts.map +1 -0
  17. package/dist/types/ari-client/interfaces/sounds.types.d.ts +11 -0
  18. package/dist/types/ari-client/interfaces/sounds.types.d.ts.map +1 -0
  19. package/dist/types/ari-client/resources/asterisk.d.ts +37 -0
  20. package/dist/types/ari-client/resources/asterisk.d.ts.map +1 -1
  21. package/dist/types/ari-client/resources/channels.d.ts +125 -26
  22. package/dist/types/ari-client/resources/channels.d.ts.map +1 -1
  23. package/dist/types/ari-client/resources/playbacks.d.ts +28 -0
  24. package/dist/types/ari-client/resources/playbacks.d.ts.map +1 -1
  25. package/dist/types/ari-client/resources/sounds.d.ts +21 -0
  26. package/dist/types/ari-client/resources/sounds.d.ts.map +1 -1
  27. package/dist/types/index.d.ts +5 -2
  28. package/dist/types/index.d.ts.map +1 -1
  29. package/package.json +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"asterisk.types.d.ts","sourceRoot":"","sources":["../../../../src/ari-client/interfaces/asterisk.types.ts"],"names":[],"mappings":"AACA,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE;QACL,EAAE,EAAE,MAAM,CAAC;QACX,MAAM,EAAE,MAAM,CAAC;QACf,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,MAAM,EAAE,CAAC;QAClB,OAAO,EAAE,MAAM,EAAE,CAAC;KACnB,CAAC;IACF,MAAM,EAAE;QACN,SAAS,EAAE,MAAM,CAAC;QAClB,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,EAAE;YACN,YAAY,EAAE,MAAM,CAAC;YACrB,gBAAgB,EAAE,MAAM,CAAC;SAC1B,CAAC;KACH,CAAC;IACF,MAAM,EAAE;QACN,IAAI,EAAE,MAAM,CAAC;QACb,gBAAgB,EAAE,MAAM,CAAC;KAC1B,CAAC;CACH;AAGD,MAAM,WAAW,MAAM;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;CAChB;AAGD,MAAM,WAAW,OAAO;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;CAChB;AAGD,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf"}
@@ -11,11 +11,7 @@ export interface Channel {
11
11
  name: string;
12
12
  };
13
13
  accountcode: string;
14
- dialplan: {
15
- context: string;
16
- exten: string;
17
- priority: number;
18
- };
14
+ dialplan: ChannelDialplan;
19
15
  creationtime: string;
20
16
  language: string;
21
17
  }
@@ -35,4 +31,57 @@ export interface OriginateRequest {
35
31
  originator?: string;
36
32
  formats?: string;
37
33
  }
34
+ export interface ChannelDialplan {
35
+ context: string;
36
+ exten: string;
37
+ priority: number;
38
+ }
39
+ export interface ChannelVar {
40
+ variable: string;
41
+ value: string;
42
+ }
43
+ export interface ChannelPlayback {
44
+ id: string;
45
+ media_uri: string;
46
+ target_uri: string;
47
+ state: "queued" | "playing" | "paused" | "done";
48
+ }
49
+ export interface PlaybackOptions {
50
+ lang?: string;
51
+ offsetms?: number;
52
+ skipms?: number;
53
+ }
54
+ export interface RecordingOptions {
55
+ name: string;
56
+ format: string;
57
+ maxDurationSeconds?: number;
58
+ maxSilenceSeconds?: number;
59
+ ifExists?: "fail" | "overwrite" | "append";
60
+ beep?: boolean;
61
+ terminateOn?: "none" | "any" | "*" | "#";
62
+ }
63
+ export interface SnoopOptions {
64
+ spy?: string;
65
+ whisper?: string;
66
+ app: string;
67
+ appArgs?: string;
68
+ snoopId?: string;
69
+ [key: string]: unknown;
70
+ }
71
+ export interface RTPStats {
72
+ jitter: string;
73
+ loss: string;
74
+ rtt: string;
75
+ }
76
+ export interface ExternalMediaOptions {
77
+ app: string;
78
+ external_host: string;
79
+ format: string;
80
+ encapsulation?: string;
81
+ transport?: string;
82
+ connection_type?: string;
83
+ direction?: string;
84
+ data?: string;
85
+ [key: string]: string | undefined;
86
+ }
38
87
  //# sourceMappingURL=channels.types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"channels.types.d.ts","sourceRoot":"","sources":["../../../../src/ari-client/interfaces/channels.types.ts"],"names":[],"mappings":"AACA,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE;QACN,MAAM,EAAE,MAAM,CAAC;QACf,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IACF,SAAS,EAAE;QACT,MAAM,EAAE,MAAM,CAAC;QACf,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IACF,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE;QACR,OAAO,EAAE,MAAM,CAAC;QAChB,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC;IACF,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB"}
1
+ {"version":3,"file":"channels.types.d.ts","sourceRoot":"","sources":["../../../../src/ari-client/interfaces/channels.types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ export type { AriClientConfig } from "./requests.js";
2
+ export type { Channel, OriginateRequest } from "./channels.types.js";
3
+ export type { Endpoint } from "./endpoints.types.js";
4
+ export type { Playback } from "./playbacks.types.js";
5
+ export type { Application } from "./applications.types.js";
6
+ export type { Sound } from "./sounds.types.js";
7
+ export type { AsteriskInfo, Module, Logging, Variable } from "./asterisk.types";
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/ari-client/interfaces/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AACrD,YAAY,EAAE,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACrE,YAAY,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AACrD,YAAY,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AACrD,YAAY,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAC3D,YAAY,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC/C,YAAY,EAAE,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC"}
@@ -0,0 +1,11 @@
1
+ export interface Playback {
2
+ id: string;
3
+ media_uri: string;
4
+ state: "playing" | "paused" | "stopped" | "failed";
5
+ target_uri: string;
6
+ language: string;
7
+ }
8
+ export interface PlaybackControlRequest {
9
+ operation: "pause" | "unpause" | "rewind" | "fastforward" | "stop";
10
+ }
11
+ //# sourceMappingURL=playbacks.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"playbacks.types.d.ts","sourceRoot":"","sources":["../../../../src/ari-client/interfaces/playbacks.types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,SAAS,GAAG,QAAQ,GAAG,SAAS,GAAG,QAAQ,CAAC;IACnD,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,sBAAsB;IACrC,SAAS,EAAE,OAAO,GAAG,SAAS,GAAG,QAAQ,GAAG,aAAa,GAAG,MAAM,CAAC;CACpE"}
@@ -0,0 +1,11 @@
1
+ export interface Sound {
2
+ id: string;
3
+ text?: string;
4
+ formats: string[];
5
+ language: string;
6
+ }
7
+ export interface SoundListRequest {
8
+ lang?: string;
9
+ format?: string;
10
+ }
11
+ //# sourceMappingURL=sounds.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sounds.types.d.ts","sourceRoot":"","sources":["../../../../src/ari-client/interfaces/sounds.types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,KAAK;IACpB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB"}
@@ -1 +1,38 @@
1
+ import type { BaseClient } from "../baseClient.js";
2
+ import type { AsteriskInfo, Logging, Module, Variable } from "../interfaces/asterisk.types.js";
3
+ export declare class Asterisk {
4
+ private client;
5
+ constructor(client: BaseClient);
6
+ /**
7
+ * Retrieves information about the Asterisk server.
8
+ */
9
+ getInfo(): Promise<AsteriskInfo>;
10
+ /**
11
+ * Lists all loaded modules in the Asterisk server.
12
+ */
13
+ listModules(): Promise<Module[]>;
14
+ /**
15
+ * Manages a specific module in the Asterisk server.
16
+ */
17
+ manageModule(moduleName: string, action: "load" | "unload" | "reload"): Promise<void>;
18
+ /**
19
+ * Retrieves all configured logging channels.
20
+ */
21
+ listLoggingChannels(): Promise<Logging[]>;
22
+ /**
23
+ * Adds or removes a log channel in the Asterisk server.
24
+ */
25
+ manageLogChannel(logChannelName: string, action: "add" | "remove", configuration?: {
26
+ type?: string;
27
+ configuration?: string;
28
+ }): Promise<void>;
29
+ /**
30
+ * Retrieves the value of a global variable.
31
+ */
32
+ getGlobalVariable(variableName: string): Promise<Variable>;
33
+ /**
34
+ * Sets a global variable.
35
+ */
36
+ setGlobalVariable(variableName: string, value: string): Promise<void>;
37
+ }
1
38
  //# sourceMappingURL=asterisk.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"asterisk.d.ts","sourceRoot":"","sources":["../../../../src/ari-client/resources/asterisk.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"asterisk.d.ts","sourceRoot":"","sources":["../../../../src/ari-client/resources/asterisk.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,KAAK,EACV,YAAY,EACZ,OAAO,EACP,MAAM,EACN,QAAQ,EACT,MAAM,iCAAiC,CAAC;AAUzC,qBAAa,QAAQ;IACP,OAAO,CAAC,MAAM;gBAAN,MAAM,EAAE,UAAU;IAEtC;;OAEG;IACG,OAAO,IAAI,OAAO,CAAC,YAAY,CAAC;IAItC;;OAEG;IACG,WAAW,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAItC;;OAEG;IACG,YAAY,CAChB,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,GAAG,QAAQ,GAAG,QAAQ,GACnC,OAAO,CAAC,IAAI,CAAC;IAMhB;;OAEG;IACG,mBAAmB,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;IAI/C;;OAEG;IACG,gBAAgB,CACpB,cAAc,EAAE,MAAM,EACtB,MAAM,EAAE,KAAK,GAAG,QAAQ,EACxB,aAAa,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,aAAa,CAAC,EAAE,MAAM,CAAA;KAAE,GACxD,OAAO,CAAC,IAAI,CAAC;IAOhB;;OAEG;IACG,iBAAiB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;IAMhE;;OAEG;IACG,iBAAiB,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAK5E"}
@@ -1,55 +1,154 @@
1
1
  import type { BaseClient } from "../baseClient.js";
2
- import type { Channel, OriginateRequest } from "../interfaces/channels.types.js";
2
+ import type { Channel, ChannelPlayback, ChannelVar, ExternalMediaOptions, OriginateRequest, PlaybackOptions, RTPStats, RecordingOptions, SnoopOptions } from "../interfaces/channels.types.js";
3
3
  export declare class Channels {
4
4
  private client;
5
5
  constructor(client: BaseClient);
6
6
  /**
7
7
  * Lists all active channels.
8
- *
9
- * @returns A promise that resolves to an array of Channel objects representing all active channels.
10
- * @throws {Error} If the API response is not an array.
11
8
  */
12
9
  list(): Promise<Channel[]>;
13
10
  /**
14
11
  * Creates a new channel.
15
- *
16
- * @param data - The OriginateRequest object containing the necessary data to create a new channel.
17
- * @returns A promise that resolves to a Channel object representing the newly created channel.
18
12
  */
19
13
  originate(data: OriginateRequest): Promise<Channel>;
20
14
  /**
21
15
  * Retrieves details of a specific channel.
22
- *
23
- * @param channelId - The unique identifier of the channel.
24
- * @returns A promise that resolves to a Channel object containing the details of the specified channel.
25
16
  */
26
17
  getDetails(channelId: string): Promise<Channel>;
18
+ /**
19
+ * Creates a channel and places it in a Stasis app without dialing it.
20
+ */
21
+ createChannel(data: OriginateRequest): Promise<Channel>;
22
+ /**
23
+ * Creates a new channel with a specific ID and originates a call.
24
+ */
25
+ originateWithId(channelId: string, data: OriginateRequest): Promise<Channel>;
27
26
  /**
28
27
  * Hangs up (terminates) a specific channel.
29
- *
30
- * @param channelId - The unique identifier of the channel to be hung up.
31
- * @returns A promise that resolves when the channel has been successfully hung up.
32
28
  */
33
- hangup(channelId: string): Promise<void>;
29
+ /**
30
+ * Hangs up a specific channel with optional reason or reason code.
31
+ */
32
+ hangup(channelId: string, options?: {
33
+ reason_code?: string;
34
+ reason?: string;
35
+ }): Promise<void>;
34
36
  /**
35
37
  * Continues the dialplan for a specific channel.
36
- *
37
- * @param channelId - The unique identifier of the channel.
38
- * @param context - Optional. The context to continue in the dialplan.
39
- * @param extension - Optional. The extension to continue in the dialplan.
40
- * @param priority - Optional. The priority to continue in the dialplan.
41
- * @param label - Optional. The label to continue in the dialplan.
42
- * @returns A promise that resolves when the dialplan continuation has been successfully initiated.
43
38
  */
44
39
  continueDialplan(channelId: string, context?: string, extension?: string, priority?: number, label?: string): Promise<void>;
45
40
  /**
46
41
  * Moves the channel to another Stasis application.
47
- *
48
- * @param channelId - The unique identifier of the channel to be moved.
49
- * @param app - The name of the Stasis application to move the channel to.
50
- * @param appArgs - Optional. Arguments to be passed to the Stasis application.
51
- * @returns A promise that resolves when the channel has been successfully moved to the new application.
52
42
  */
53
43
  moveToApplication(channelId: string, app: string, appArgs?: string): Promise<void>;
44
+ /**
45
+ * Sets a channel variable.
46
+ */
47
+ setVariable(channelId: string, variable: string, value: string): Promise<void>;
48
+ /**
49
+ * Gets a channel variable.
50
+ */
51
+ getVariable(channelId: string, variable: string): Promise<ChannelVar>;
52
+ /**
53
+ * Plays a media file to a channel.
54
+ */
55
+ playMedia(channelId: string, media: string, options?: PlaybackOptions): Promise<ChannelPlayback>;
56
+ /**
57
+ * Starts music on hold (MOH) for a channel.
58
+ */
59
+ startMusicOnHold(channelId: string): Promise<void>;
60
+ /**
61
+ * Stops music on hold (MOH) for a channel.
62
+ */
63
+ stopMusicOnHold(channelId: string): Promise<void>;
64
+ /**
65
+ * Starts playback of a media file on a channel.
66
+ */
67
+ startPlayback(channelId: string, media: string, options?: PlaybackOptions): Promise<ChannelPlayback>;
68
+ /**
69
+ * Stops playback of a media file on a channel.
70
+ */
71
+ stopPlayback(channelId: string, playbackId: string): Promise<void>;
72
+ /**
73
+ * Pauses playback of a media file on a channel.
74
+ */
75
+ pausePlayback(channelId: string, playbackId: string): Promise<void>;
76
+ /**
77
+ * Resumes playback of a media file on a channel.
78
+ */
79
+ resumePlayback(channelId: string, playbackId: string): Promise<void>;
80
+ /**
81
+ * Rewinds playback of a media file on a channel.
82
+ */
83
+ rewindPlayback(channelId: string, playbackId: string, skipMs: number): Promise<void>;
84
+ /**
85
+ * Fast-forwards playback of a media file on a channel.
86
+ */
87
+ fastForwardPlayback(channelId: string, playbackId: string, skipMs: number): Promise<void>;
88
+ /**
89
+ * Records audio from a channel.
90
+ */
91
+ record(channelId: string, options: RecordingOptions): Promise<Channel>;
92
+ /**
93
+ * Starts snooping on a channel.
94
+ */
95
+ snoopChannel(channelId: string, options: SnoopOptions): Promise<Channel>;
96
+ /**
97
+ * Starts snooping on a channel with a specific snoop ID.
98
+ */
99
+ snoopChannelWithId(channelId: string, snoopId: string, options: SnoopOptions): Promise<Channel>;
100
+ /**
101
+ * Dials a created channel.
102
+ */
103
+ dial(channelId: string, caller?: string, timeout?: number): Promise<void>;
104
+ /**
105
+ * Retrieves RTP statistics for a channel.
106
+ */
107
+ getRTPStatistics(channelId: string): Promise<RTPStats>;
108
+ /**
109
+ * Creates a channel to an external media source/sink.
110
+ */
111
+ createExternalMedia(options: ExternalMediaOptions): Promise<Channel>;
112
+ /**
113
+ * Redirects the channel to a different location.
114
+ */
115
+ redirectChannel(channelId: string, endpoint: string): Promise<void>;
116
+ /**
117
+ * Answers a channel.
118
+ */
119
+ answerChannel(channelId: string): Promise<void>;
120
+ /**
121
+ * Sends a ringing indication to a channel.
122
+ */
123
+ ringChannel(channelId: string): Promise<void>;
124
+ /**
125
+ * Stops ringing indication on a channel.
126
+ */
127
+ stopRingChannel(channelId: string): Promise<void>;
128
+ /**
129
+ * Sends DTMF to a channel.
130
+ */
131
+ sendDTMF(channelId: string, dtmf: string, options?: {
132
+ before?: number;
133
+ between?: number;
134
+ duration?: number;
135
+ after?: number;
136
+ }): Promise<void>;
137
+ /**
138
+ * Mutes a channel.
139
+ */
140
+ muteChannel(channelId: string, direction?: "both" | "in" | "out"): Promise<void>;
141
+ /**
142
+ * Unmutes a channel.
143
+ */
144
+ unmuteChannel(channelId: string, direction?: "both" | "in" | "out"): Promise<void>;
145
+ /**
146
+ * Puts a channel on hold.
147
+ */
148
+ holdChannel(channelId: string): Promise<void>;
149
+ /**
150
+ * Removes a channel from hold.
151
+ */
152
+ unholdChannel(channelId: string): Promise<void>;
54
153
  }
55
154
  //# sourceMappingURL=channels.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"channels.d.ts","sourceRoot":"","sources":["../../../../src/ari-client/resources/channels.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,KAAK,EACV,OAAO,EACP,gBAAgB,EACjB,MAAM,iCAAiC,CAAC;AAEzC,qBAAa,QAAQ;IACP,OAAO,CAAC,MAAM;gBAAN,MAAM,EAAE,UAAU;IAEtC;;;;;OAKG;IACG,IAAI,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;IAUhC;;;;;OAKG;IACG,SAAS,CAAC,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC;IAIzD;;;;;OAKG;IACG,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAIrD;;;;;OAKG;IACG,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI9C;;;;;;;;;OASG;IACG,gBAAgB,CACpB,SAAS,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE,MAAM,EAChB,SAAS,CAAC,EAAE,MAAM,EAClB,QAAQ,CAAC,EAAE,MAAM,EACjB,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,IAAI,CAAC;IAShB;;;;;;;OAOG;IACG,iBAAiB,CACrB,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,IAAI,CAAC;CAMjB"}
1
+ {"version":3,"file":"channels.d.ts","sourceRoot":"","sources":["../../../../src/ari-client/resources/channels.ts"],"names":[],"mappings":"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"}
@@ -1 +1,29 @@
1
+ import type { BaseClient } from "../baseClient.js";
2
+ import type { Playback, PlaybackControlRequest } from "../interfaces/playbacks.types.js";
3
+ export declare class Playbacks {
4
+ private client;
5
+ constructor(client: BaseClient);
6
+ /**
7
+ * Retrieves details of a specific playback.
8
+ *
9
+ * @param playbackId - The unique identifier of the playback.
10
+ * @returns A promise that resolves to a Playback object containing the details of the specified playback.
11
+ */
12
+ getDetails(playbackId: string): Promise<Playback>;
13
+ /**
14
+ * Controls a specific playback (e.g., pause, resume, rewind, forward, stop).
15
+ *
16
+ * @param playbackId - The unique identifier of the playback to control.
17
+ * @param controlRequest - The PlaybackControlRequest containing the control operation.
18
+ * @returns A promise that resolves when the control operation is successfully executed.
19
+ */
20
+ control(playbackId: string, controlRequest: PlaybackControlRequest): Promise<void>;
21
+ /**
22
+ * Stops a specific playback.
23
+ *
24
+ * @param playbackId - The unique identifier of the playback to stop.
25
+ * @returns A promise that resolves when the playback is successfully stopped.
26
+ */
27
+ stop(playbackId: string): Promise<void>;
28
+ }
1
29
  //# 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":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,KAAK,EACV,QAAQ,EACR,sBAAsB,EACvB,MAAM,kCAAkC,CAAC;AAE1C,qBAAa,SAAS;IACR,OAAO,CAAC,MAAM;gBAAN,MAAM,EAAE,UAAU;IAEtC;;;;;OAKG;IACG,UAAU,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;IAIvD;;;;;;OAMG;IACG,OAAO,CACX,UAAU,EAAE,MAAM,EAClB,cAAc,EAAE,sBAAsB,GACrC,OAAO,CAAC,IAAI,CAAC;IAOhB;;;;;OAKG;IACG,IAAI,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAG9C"}
@@ -1 +1,22 @@
1
+ import type { BaseClient } from "../baseClient.js";
2
+ import type { Sound, SoundListRequest } from "../interfaces/sounds.types.js";
3
+ export declare class Sounds {
4
+ private client;
5
+ constructor(client: BaseClient);
6
+ /**
7
+ * Lists all available sounds.
8
+ *
9
+ * @param params - Optional parameters to filter the list of sounds.
10
+ * @returns A promise that resolves to an array of Sound objects.
11
+ * @throws {Error} If the API response is not an array.
12
+ */
13
+ list(params?: SoundListRequest): Promise<Sound[]>;
14
+ /**
15
+ * Retrieves details of a specific sound.
16
+ *
17
+ * @param soundId - The unique identifier of the sound.
18
+ * @returns A promise that resolves to a Sound object containing the details of the specified sound.
19
+ */
20
+ getDetails(soundId: string): Promise<Sound>;
21
+ }
1
22
  //# sourceMappingURL=sounds.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sounds.d.ts","sourceRoot":"","sources":["../../../../src/ari-client/resources/sounds.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"sounds.d.ts","sourceRoot":"","sources":["../../../../src/ari-client/resources/sounds.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,KAAK,EAAE,KAAK,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAE7E,qBAAa,MAAM;IACL,OAAO,CAAC,MAAM;gBAAN,MAAM,EAAE,UAAU;IAEtC;;;;;;OAMG;IACG,IAAI,CAAC,MAAM,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;IAcvD;;;;;OAKG;IACG,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC;CAGlD"}
@@ -1,5 +1,8 @@
1
1
  export { AriClient } from "./ari-client/ariClient.js";
2
2
  export { Channels } from "./ari-client/resources/channels.js";
3
- export type { AriClientConfig } from "./ari-client/interfaces/requests.js";
4
- export type { Channel } from "./ari-client/interfaces/channels.types.js";
3
+ export { Endpoints } from "./ari-client/resources/endpoints.js";
4
+ export { Applications } from "./ari-client/resources/applications.js";
5
+ export { Sounds } from "./ari-client/resources/sounds.js";
6
+ export { Playbacks } from "./ari-client/resources/playbacks.js";
7
+ export type { AriClientConfig, Channel, Endpoint, Playback, Application, Sound, AsteriskInfo, Module, Logging, Variable, } from "./ari-client/interfaces/index.js";
5
8
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAGtD,OAAO,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAC;AAG9D,YAAY,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAC;AAC3E,YAAY,EAAE,OAAO,EAAE,MAAM,2CAA2C,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAGtD,OAAO,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAC;AAC9D,OAAO,EAAE,SAAS,EAAE,MAAM,qCAAqC,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,wCAAwC,CAAC;AACtE,OAAO,EAAE,MAAM,EAAE,MAAM,kCAAkC,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,qCAAqC,CAAC;AAGhE,YAAY,EACV,eAAe,EACf,OAAO,EACP,QAAQ,EACR,QAAQ,EACR,WAAW,EACX,KAAK,EACL,YAAY,EACZ,MAAM,EACN,OAAO,EACP,QAAQ,GACT,MAAM,kCAAkC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ipcom/asterisk-ari",
3
- "version": "0.0.17",
3
+ "version": "0.0.19",
4
4
  "type": "module",
5
5
  "description": "JavaScript client for Asterisk REST Interface.",
6
6
  "homepage": "https://github.com/fabiotheo/ipcom-asterisk-ari",