agrasya-voice-sdk 1.0.33 → 1.0.35

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/README.md CHANGED
@@ -33,6 +33,56 @@ const events = {
33
33
  const sdkWithEvents = new AgrasyaVoiceSDK({ apiKey: "your-api-key" }, events);
34
34
  ```
35
35
 
36
+ ## Methods
37
+
38
+ ### Constructor
39
+
40
+ ```typescript
41
+ constructor(config: AgrasyaSDKConfig, events: AgrasyaEvents = {});
42
+ ```
43
+
44
+ Initializes the SDK with the provided configuration and optional event handlers.
45
+
46
+ ### start()
47
+
48
+ ```typescript
49
+ async start(): Promise<void>
50
+ ```
51
+
52
+ Starts a voice session by establishing a connection with the backend and initializing WebRTC components.
53
+
54
+ ### stop()
55
+
56
+ ```typescript
57
+ async stop(): Promise<void>
58
+ ```
59
+
60
+ Stops the voice session, closes the WebRTC connection, and cleans up resources.
61
+
62
+ ### sendMessage()
63
+
64
+ ```typescript
65
+ sendMessage(message: string): void
66
+ ```
67
+
68
+ Sends a message through the data channel.
69
+
70
+ ### onStatusChange
71
+
72
+ ```typescript
73
+ onStatusChange(status: "idle" | "initializing" | "connecting" | "connected" | "error"): void
74
+ ```
75
+
76
+ Event handler for status changes.
77
+
78
+ ### onMessageReceived
79
+
80
+ ```typescript
81
+ onMessageReceived(message: string): void
82
+ ```
83
+
84
+ Event handler for incoming messages.
85
+
36
86
  ## Development
37
87
 
38
88
  ```bash
@@ -47,9 +97,6 @@ npm run dev
47
97
 
48
98
  # Run tests
49
99
  npm test
50
-
51
- # Run linting
52
- npm run lint
53
100
  ```
54
101
 
55
102
  ## Publishing
package/dist/index.d.mts CHANGED
@@ -32,6 +32,11 @@ interface AgrasyaEvents {
32
32
  onStatusChange?: (status: "idle" | "initializing" | "connecting" | "connected" | "error") => void;
33
33
  /** Emitted when the call duration updates */
34
34
  onCallDurationUpdate?: (duration: number) => void;
35
+ /** Emitted when the user's usage limit is reached */
36
+ onUsageLimitReached?: (data: {
37
+ success: boolean;
38
+ message: string;
39
+ }) => void;
35
40
  }
36
41
 
37
42
  /**
package/dist/index.d.ts CHANGED
@@ -32,6 +32,11 @@ interface AgrasyaEvents {
32
32
  onStatusChange?: (status: "idle" | "initializing" | "connecting" | "connected" | "error") => void;
33
33
  /** Emitted when the call duration updates */
34
34
  onCallDurationUpdate?: (duration: number) => void;
35
+ /** Emitted when the user's usage limit is reached */
36
+ onUsageLimitReached?: (data: {
37
+ success: boolean;
38
+ message: string;
39
+ }) => void;
35
40
  }
36
41
 
37
42
  /**
package/dist/index.js CHANGED
@@ -1 +1 @@
1
- 'use strict';function a0_0x2bc5(){const _0x7ea9=['create','idle','Failed\x20to\x20initialize\x20session:\x20','function','hasOwnProperty','forEach','onmessage','6SVsJng','__esModule','1602uXrxvP','setRemoteDescription','socket','statusText','stringify','[AgrasyaSDK]','111hHppyZ','4654lxiGJe','startVoiceSession','mediaDevices','baseUrl','603PaoVky','26810VrCuYj','defineProperty','key\x20is\x20null\x20or\x20undefined.','POST','addTrack','peerConnection','Failed\x20to\x20fetch\x20minutes\x20usage:\x20','debug','join_session','data','default','getPrototypeOf','SDP\x20exchange\x20failed:\x20','onTranscript','object','events','40244314aqZYCx','oai-events','2760455RvAxHo','/v1/agrasya/connect','exports','initializeBackendSession','callDuration','fetchMinutesUsage','application/json','ephKey','catch','json','http://localhost:4001','cleanup','startTimer','setupSocketListeners','9387192rqGQxM','autoplay','config','body','onStatusChange','close','audioStream','getTracks','initializing','language','call','audio','prototype','Backend\x20initialization\x20failed','getUserMedia','163964hNrlZi','parse','getOwnPropertyDescriptor','apiKey','model','websocket','appendChild','stopTimer','setLocalDescription','message','dataUrl','setStatus','stop','/v1/agrasya/usage','getOwnPropertyNames','type','sessionId','minutesLeft','GET','disconnect','durationInterval','streams','answer','dataChannel','log','error','ontrack','8115744QACQtD','success'];a0_0x2bc5=function(){return _0x7ea9;};return a0_0x2bc5();}const a0_0x963a59=a0_0x1b38;(function(_0x3a9657,_0x67dff1){const _0x5489c2=a0_0x1b38,_0x5f2856=_0x3a9657();while(!![]){try{const _0x239fe7=-parseInt(_0x5489c2(0x181))/0x1*(parseInt(_0x5489c2(0x17d))/0x2)+parseInt(_0x5489c2(0x17c))/0x3*(-parseInt(_0x5489c2(0x1b1))/0x4)+-parseInt(_0x5489c2(0x194))/0x5*(-parseInt(_0x5489c2(0x1d5))/0x6)+parseInt(_0x5489c2(0x1cc))/0x7+-parseInt(_0x5489c2(0x1a2))/0x8+parseInt(_0x5489c2(0x1d7))/0x9*(-parseInt(_0x5489c2(0x182))/0xa)+parseInt(_0x5489c2(0x192))/0xb;if(_0x239fe7===_0x67dff1)break;else _0x5f2856['push'](_0x5f2856['shift']());}catch(_0x44581e){_0x5f2856['push'](_0x5f2856['shift']());}}}(a0_0x2bc5,0xc3368));function a0_0x1b38(_0x18e8b6,_0x439c10){_0x18e8b6=_0x18e8b6-0x17c;const _0x2bc5d2=a0_0x2bc5();let _0x1b3862=_0x2bc5d2[_0x18e8b6];return _0x1b3862;}var __create=Object[a0_0x963a59(0x1ce)],__defProp=Object[a0_0x963a59(0x183)],__getOwnPropDesc=Object[a0_0x963a59(0x1b3)],__getOwnPropNames=Object[a0_0x963a59(0x1bf)],__getProtoOf=Object[a0_0x963a59(0x18d)],__hasOwnProp=Object[a0_0x963a59(0x1ae)][a0_0x963a59(0x1d2)],__export=(_0x46a93d,_0x52207e)=>{for(var _0x49a277 in _0x52207e)__defProp(_0x46a93d,_0x49a277,{'get':_0x52207e[_0x49a277],'enumerable':!![]});},__copyProps=(_0x47c64b,_0x776ba9,_0x127560,_0x4d08d1)=>{const _0x326634=a0_0x963a59;if(_0x776ba9&&typeof _0x776ba9===_0x326634(0x190)||typeof _0x776ba9===_0x326634(0x1d1)){for(let _0x448801 of __getOwnPropNames(_0x776ba9))if(!__hasOwnProp[_0x326634(0x1ac)](_0x47c64b,_0x448801)&&_0x448801!==_0x127560)__defProp(_0x47c64b,_0x448801,{'get':()=>_0x776ba9[_0x448801],'enumerable':!(_0x4d08d1=__getOwnPropDesc(_0x776ba9,_0x448801))||_0x4d08d1['enumerable']});}return _0x47c64b;},__toESM=(_0x295b2b,_0x1c5c19,_0x251da5)=>(_0x251da5=_0x295b2b!=null?__create(__getProtoOf(_0x295b2b)):{},__copyProps(_0x1c5c19||!_0x295b2b||!_0x295b2b[a0_0x963a59(0x1d6)]?__defProp(_0x251da5,a0_0x963a59(0x18c),{'value':_0x295b2b,'enumerable':!![]}):_0x251da5,_0x295b2b)),__toCommonJS=_0xb8fba2=>__copyProps(__defProp({},'__esModule',{'value':!![]}),_0xb8fba2),index_exports={};__export(index_exports,{'AgrasyaVoiceSDK':()=>AgrasyaVoiceSDK}),module['exports']=__toCommonJS(index_exports);var import_socket=__toESM(require('socket.io-client')),AgrasyaVoiceSDK=class{[a0_0x963a59(0x1a4)];['events'];['peerConnection']=null;[a0_0x963a59(0x1c8)]=null;['audioStream']=null;[a0_0x963a59(0x1d9)]=null;[a0_0x963a59(0x1c1)]=null;[a0_0x963a59(0x19b)]=null;[a0_0x963a59(0x1bb)]=null;[a0_0x963a59(0x1b5)]=null;[a0_0x963a59(0x198)]=0x0;[a0_0x963a59(0x1c5)]=null;constructor(_0x5323bb,_0x1d8042={}){const _0x40caae=a0_0x963a59;this['config']={'baseUrl':_0x40caae(0x19e),'language':'','debug':![],..._0x5323bb},this[_0x40caae(0x191)]=_0x1d8042;}['log'](..._0x758bbc){const _0x32509b=a0_0x963a59;this[_0x32509b(0x1a4)][_0x32509b(0x189)]&&console[_0x32509b(0x1c9)](_0x32509b(0x1dc),..._0x758bbc);}[a0_0x963a59(0x1bc)](_0x2dc35b){const _0x361660=a0_0x963a59;this[_0x361660(0x191)][_0x361660(0x1a6)]?.(_0x2dc35b);}['startTimer'](){const _0x1fb8a1=a0_0x963a59;this[_0x1fb8a1(0x198)]=0x0,this['durationInterval']=setInterval(()=>{const _0x4d6f3a=_0x1fb8a1;this[_0x4d6f3a(0x198)]+=0x1,this[_0x4d6f3a(0x191)]['onCallDurationUpdate']?.(this[_0x4d6f3a(0x198)]);},0x3e8);}[a0_0x963a59(0x1b8)](){const _0x425e21=a0_0x963a59;this[_0x425e21(0x1c5)]&&(clearInterval(this[_0x425e21(0x1c5)]),this['durationInterval']=null);}async[a0_0x963a59(0x197)](){const _0x2ea375=a0_0x963a59,_0x40389a=this[_0x2ea375(0x1a4)][_0x2ea375(0x180)]+'/v1/agrasya/client-token?language='+this[_0x2ea375(0x1a4)][_0x2ea375(0x1ab)],_0x200165=await fetch(_0x40389a,{'method':'GET','headers':{'x-agrasya-client-api-key':this['config']['apiKey'],'Content-Type':_0x2ea375(0x19a)}});if(!_0x200165['ok']){const _0x379219=await _0x200165[_0x2ea375(0x19d)]()[_0x2ea375(0x19c)](()=>({'message':_0x200165[_0x2ea375(0x1da)]}));throw new Error(_0x2ea375(0x1d0)+(_0x379219[_0x2ea375(0x1ba)]||_0x200165[_0x2ea375(0x1da)]));}const _0x29c38b=await _0x200165['json']();if(!_0x29c38b[_0x2ea375(0x1cd)])throw new Error(_0x29c38b[_0x2ea375(0x1ba)]||_0x2ea375(0x1af));return _0x29c38b[_0x2ea375(0x18b)];}async['setupWebRTC'](_0x138456){const _0x52185e=a0_0x963a59;this[_0x52185e(0x187)]=new RTCPeerConnection(),this[_0x52185e(0x1c8)]=this[_0x52185e(0x187)]['createDataChannel'](_0x52185e(0x193));this[_0x52185e(0x1c8)]&&(this[_0x52185e(0x1c8)][_0x52185e(0x1d4)]=_0x31fa84=>{const _0x60d4b6=_0x52185e,_0x453516=JSON[_0x60d4b6(0x1b2)](_0x31fa84[_0x60d4b6(0x18b)]);this[_0x60d4b6(0x191)][_0x60d4b6(0x18f)]?.(_0x453516);});this[_0x52185e(0x187)][_0x52185e(0x1cb)]=_0x3060ad=>{const _0x14cc0e=_0x52185e,_0x406e70=document['createElement'](_0x14cc0e(0x1ad));_0x406e70['srcObject']=_0x3060ad[_0x14cc0e(0x1c6)][0x0],_0x406e70[_0x14cc0e(0x1a3)]=!![],document[_0x14cc0e(0x1a5)][_0x14cc0e(0x1b7)](_0x406e70);},this[_0x52185e(0x1a8)]=await navigator[_0x52185e(0x17f)][_0x52185e(0x1b0)]({'audio':!![]});if(this['audioStream']){const _0x14e643=this[_0x52185e(0x1a8)]['getTracks']()[0x0];this[_0x52185e(0x187)][_0x52185e(0x186)](_0x14e643,this['audioStream']);}const _0x51a0c9=await this[_0x52185e(0x187)]['createOffer']();await this[_0x52185e(0x187)][_0x52185e(0x1b9)](_0x51a0c9);const _0x2c5aa0=this[_0x52185e(0x1a4)][_0x52185e(0x180)]+_0x52185e(0x195),_0x247144=await fetch(_0x2c5aa0,{'method':_0x52185e(0x185),'body':JSON[_0x52185e(0x1db)]({'sessionId':this[_0x52185e(0x1c1)],'sdp':_0x51a0c9['sdp']}),'headers':{'x-agrasya-client-api-key':this['config'][_0x52185e(0x1b4)],'Content-Type':_0x52185e(0x19a)}});if(!_0x247144['ok'])throw new Error(_0x52185e(0x18e)+_0x247144['statusText']);const _0x57774f=await _0x247144[_0x52185e(0x19d)](),_0x286a94={'type':_0x52185e(0x1c7),'sdp':_0x57774f['sdp']},_0x926c04={'type':_0x286a94[_0x52185e(0x1c0)],'sdp':_0x286a94['sdp']};await this[_0x52185e(0x187)][_0x52185e(0x1d8)](_0x926c04);}[a0_0x963a59(0x1a1)](_0x4873ad){const _0xb50755=a0_0x963a59;_0x4873ad['on'](_0xb50755(0x1c4),()=>{const _0x5dce62=_0xb50755;this[_0x5dce62(0x19f)]();}),_0x4873ad['on']('session_ended',()=>{this['cleanup']();});}async[a0_0x963a59(0x17e)](_0x40b3e6){const _0x3fcfb5=a0_0x963a59;try{this[_0x3fcfb5(0x1bc)](_0x3fcfb5(0x1aa));const _0x41b15e=await this['initializeBackendSession']();this['sessionId']=_0x41b15e[_0x3fcfb5(0x1c1)],this[_0x3fcfb5(0x19b)]=_0x41b15e['ephKey'];if(!this[_0x3fcfb5(0x19b)])throw new Error(_0x3fcfb5(0x184));const _0x522799=await this[_0x3fcfb5(0x199)]();this[_0x3fcfb5(0x1c9)]('Minutes\x20left:\x20'+_0x522799),await this['setupWebRTC'](this['ephKey']),this[_0x3fcfb5(0x1d9)]=(0x0,import_socket['default'])(this[_0x3fcfb5(0x1a4)][_0x3fcfb5(0x180)],{'transports':[_0x3fcfb5(0x1b6)]}),this[_0x3fcfb5(0x1d9)]['emit'](_0x3fcfb5(0x18a),{'sessionId':this['sessionId']}),this[_0x3fcfb5(0x1a1)](this[_0x3fcfb5(0x1d9)]),this[_0x3fcfb5(0x1bc)]('connected'),this[_0x3fcfb5(0x1a0)]();}catch(_0x4b4d0d){this[_0x3fcfb5(0x1bc)](_0x3fcfb5(0x1ca));throw _0x4b4d0d;}}async['stopVoiceSession'](){const _0x4b74c7=a0_0x963a59;this[_0x4b74c7(0x19f)]();}[a0_0x963a59(0x19f)](){const _0x11d87b=a0_0x963a59;this['peerConnection']&&(this['peerConnection'][_0x11d87b(0x1a7)](),this['peerConnection']=null),this[_0x11d87b(0x1c8)]&&(this[_0x11d87b(0x1c8)][_0x11d87b(0x1a7)](),this['dataChannel']=null),this['audioStream']&&(this[_0x11d87b(0x1a8)][_0x11d87b(0x1a9)]()[_0x11d87b(0x1d3)](_0x39b6a6=>_0x39b6a6[_0x11d87b(0x1bd)]()),this[_0x11d87b(0x1a8)]=null),this[_0x11d87b(0x1d9)]&&(this[_0x11d87b(0x1d9)][_0x11d87b(0x1c4)](),this[_0x11d87b(0x1d9)]=null),this[_0x11d87b(0x1b8)](),this[_0x11d87b(0x1bc)](_0x11d87b(0x1cf));}async[a0_0x963a59(0x199)](){const _0x45792b=a0_0x963a59,_0x34adac=this['config'][_0x45792b(0x180)]+_0x45792b(0x1be),_0x4efc75=await fetch(_0x34adac,{'method':_0x45792b(0x1c3),'headers':{'x-agrasya-client-api-key':this[_0x45792b(0x1a4)][_0x45792b(0x1b4)],'Content-Type':'application/json'}});if(!_0x4efc75['ok']){const _0x20275d=await _0x4efc75[_0x45792b(0x19d)]()[_0x45792b(0x19c)](()=>({'message':_0x4efc75['statusText']}));throw new Error(_0x45792b(0x188)+(_0x20275d[_0x45792b(0x1ba)]||_0x4efc75[_0x45792b(0x1da)]));}const _0x354ae1=await _0x4efc75[_0x45792b(0x19d)]();if(!_0x354ae1[_0x45792b(0x1cd)])throw new Error(_0x354ae1[_0x45792b(0x1ba)]||'Failed\x20to\x20fetch\x20minutes\x20usage');return _0x354ae1[_0x45792b(0x18b)][_0x45792b(0x1c2)];}};0x0&&(module[a0_0x963a59(0x196)]={'AgrasyaVoiceSDK':AgrasyaVoiceSDK});
1
+ 'use strict';const a0_0x39dbfb=a0_0x1079;(function(_0x3dcbc2,_0x29d8c5){const _0x9244e=a0_0x1079,_0xe1cf1c=_0x3dcbc2();while(!![]){try{const _0x3a8dcd=-parseInt(_0x9244e(0x153))/0x1*(-parseInt(_0x9244e(0x16c))/0x2)+parseInt(_0x9244e(0x147))/0x3+-parseInt(_0x9244e(0x13d))/0x4+parseInt(_0x9244e(0x163))/0x5+parseInt(_0x9244e(0x134))/0x6+-parseInt(_0x9244e(0x16b))/0x7*(parseInt(_0x9244e(0x11e))/0x8)+-parseInt(_0x9244e(0x138))/0x9;if(_0x3a8dcd===_0x29d8c5)break;else _0xe1cf1c['push'](_0xe1cf1c['shift']());}catch(_0x17cac2){_0xe1cf1c['push'](_0xe1cf1c['shift']());}}}(a0_0x33b1,0xba685));function a0_0x1079(_0x81dc3f,_0x4edb73){_0x81dc3f=_0x81dc3f-0x115;const _0x33b145=a0_0x33b1();let _0x107910=_0x33b145[_0x81dc3f];return _0x107910;}var __create=Object['create'],__defProp=Object[a0_0x39dbfb(0x130)],__getOwnPropDesc=Object['getOwnPropertyDescriptor'],__getOwnPropNames=Object['getOwnPropertyNames'],__getProtoOf=Object[a0_0x39dbfb(0x149)],__hasOwnProp=Object[a0_0x39dbfb(0x12e)][a0_0x39dbfb(0x11f)],__export=(_0x54e6f0,_0x390849)=>{for(var _0x1c98cd in _0x390849)__defProp(_0x54e6f0,_0x1c98cd,{'get':_0x390849[_0x1c98cd],'enumerable':!![]});},__copyProps=(_0x233564,_0xc4fe84,_0x406175,_0x52ab44)=>{const _0x3f710c=a0_0x39dbfb;if(_0xc4fe84&&typeof _0xc4fe84===_0x3f710c(0x173)||typeof _0xc4fe84==='function'){for(let _0x111243 of __getOwnPropNames(_0xc4fe84))if(!__hasOwnProp['call'](_0x233564,_0x111243)&&_0x111243!==_0x406175)__defProp(_0x233564,_0x111243,{'get':()=>_0xc4fe84[_0x111243],'enumerable':!(_0x52ab44=__getOwnPropDesc(_0xc4fe84,_0x111243))||_0x52ab44[_0x3f710c(0x14f)]});}return _0x233564;},__toESM=(_0x104051,_0x4963ca,_0x5cd85e)=>(_0x5cd85e=_0x104051!=null?__create(__getProtoOf(_0x104051)):{},__copyProps(_0x4963ca||!_0x104051||!_0x104051[a0_0x39dbfb(0x14c)]?__defProp(_0x5cd85e,a0_0x39dbfb(0x145),{'value':_0x104051,'enumerable':!![]}):_0x5cd85e,_0x104051)),__toCommonJS=_0x46a37e=>__copyProps(__defProp({},a0_0x39dbfb(0x14c),{'value':!![]}),_0x46a37e),index_exports={};__export(index_exports,{'AgrasyaVoiceSDK':()=>AgrasyaVoiceSDK}),module[a0_0x39dbfb(0x152)]=__toCommonJS(index_exports);function a0_0x33b1(){const _0x5a8d63=['http://localhost:4001','mediaDevices','Failed\x20to\x20fetch\x20minutes\x20usage','onCallDurationUpdate','stop','baseUrl','77gmOxmF','596800IHOHRf','catch','setupSocketListeners','stopTimer','debug','oai-events','createElement','object','startVoiceSession','session_ended','setupWebRTC','Failed\x20to\x20initialize\x20session:\x20','onmessage','sdp','peerConnection','ontrack','setRemoteDescription','465584Hswaym','hasOwnProperty','initializeBackendSession','application/json','apiKey','durationInterval','callDuration','connected','socket.io-client','SDP\x20exchange\x20failed:\x20','json','audioStream','data','onStatusChange','dataUrl','update_start_time','prototype','body','defineProperty','usage_limit_reached','audio','model','3105882uFfaeb','stopVoiceSession','emit','idle','13690467ukzeul','statusText','error','disconnect','language','837408qSkLWy','key\x20is\x20null\x20or\x20undefined.','parse','cleanup','getUserMedia','dataChannel','stringify','events','default','close','3188370NBIWaU','createOffer','getPrototypeOf','success','srcObject','__esModule','config','createDataChannel','enumerable','fetchMinutesUsage','startTimer','exports','4gwIzHF','setStatus','Failed\x20to\x20fetch\x20minutes\x20usage:\x20','getTracks','/v1/agrasya/connect','ephKey','addTrack','/v1/agrasya/usage','log','message','socket','forEach','minutesLeft','/v1/agrasya/client-token?language=','websocket','sessionId','1800905kaLYDX','autoplay'];a0_0x33b1=function(){return _0x5a8d63;};return a0_0x33b1();}var import_socket=__toESM(require(a0_0x39dbfb(0x126))),AgrasyaVoiceSDK=class{[a0_0x39dbfb(0x14d)];[a0_0x39dbfb(0x144)];[a0_0x39dbfb(0x11b)]=null;[a0_0x39dbfb(0x142)]=null;[a0_0x39dbfb(0x129)]=null;[a0_0x39dbfb(0x15d)]=null;['sessionId']=null;[a0_0x39dbfb(0x158)]=null;[a0_0x39dbfb(0x12c)]=null;[a0_0x39dbfb(0x133)]=null;[a0_0x39dbfb(0x124)]=0x0;[a0_0x39dbfb(0x123)]=null;constructor(_0x31bcef,_0x293cad={}){const _0x4e5a0f=a0_0x39dbfb;this[_0x4e5a0f(0x14d)]={'baseUrl':_0x4e5a0f(0x165),'language':'','debug':![],..._0x31bcef},this[_0x4e5a0f(0x144)]=_0x293cad;}['log'](..._0x12d6d7){const _0x277725=a0_0x39dbfb;this['config'][_0x277725(0x170)]&&console[_0x277725(0x15b)]('[AgrasyaSDK]',..._0x12d6d7);}['setStatus'](_0x487266){const _0xa05fba=a0_0x39dbfb;this[_0xa05fba(0x144)][_0xa05fba(0x12b)]?.(_0x487266);}['startTimer'](){const _0x22bd7c=a0_0x39dbfb;this['callDuration']=0x0,this[_0x22bd7c(0x123)]=setInterval(()=>{const _0x4c1b9b=_0x22bd7c;this[_0x4c1b9b(0x124)]+=0x1,this[_0x4c1b9b(0x144)][_0x4c1b9b(0x168)]?.(this[_0x4c1b9b(0x124)]);},0x3e8);}[a0_0x39dbfb(0x16f)](){const _0x20c7f2=a0_0x39dbfb;this['durationInterval']&&(clearInterval(this['durationInterval']),this[_0x20c7f2(0x123)]=null);}async['initializeBackendSession'](){const _0x395c6b=a0_0x39dbfb,_0x3ccbaf=this[_0x395c6b(0x14d)][_0x395c6b(0x16a)]+_0x395c6b(0x160)+this[_0x395c6b(0x14d)][_0x395c6b(0x13c)],_0x3fde5b=await fetch(_0x3ccbaf,{'method':'GET','headers':{'x-agrasya-client-api-key':this[_0x395c6b(0x14d)][_0x395c6b(0x122)],'Content-Type':_0x395c6b(0x121)}});if(!_0x3fde5b['ok']){const _0x3b8da3=await _0x3fde5b[_0x395c6b(0x128)]()[_0x395c6b(0x16d)](()=>({'message':_0x3fde5b[_0x395c6b(0x139)]}));throw new Error(_0x395c6b(0x118)+(_0x3b8da3['message']||_0x3fde5b[_0x395c6b(0x139)]));}const _0x4107ff=await _0x3fde5b[_0x395c6b(0x128)]();if(!_0x4107ff['success'])throw new Error(_0x4107ff[_0x395c6b(0x15c)]||'Backend\x20initialization\x20failed');return _0x4107ff[_0x395c6b(0x12a)];}async[a0_0x39dbfb(0x117)](_0x52283a){const _0x471d42=a0_0x39dbfb;this[_0x471d42(0x11b)]=new RTCPeerConnection(),this[_0x471d42(0x142)]=this['peerConnection'][_0x471d42(0x14e)](_0x471d42(0x171));this[_0x471d42(0x142)]&&(this[_0x471d42(0x142)][_0x471d42(0x119)]=_0x348f5c=>{const _0x523c7b=_0x471d42,_0x23a188=JSON[_0x523c7b(0x13f)](_0x348f5c['data']);this[_0x523c7b(0x144)]['onTranscript']?.(_0x23a188);});this[_0x471d42(0x11b)][_0x471d42(0x11c)]=_0x4a4376=>{const _0x4e1825=_0x471d42,_0x21a897=document[_0x4e1825(0x172)](_0x4e1825(0x132));_0x21a897[_0x4e1825(0x14b)]=_0x4a4376['streams'][0x0],_0x21a897[_0x4e1825(0x164)]=!![],document[_0x4e1825(0x12f)]['appendChild'](_0x21a897);},this[_0x471d42(0x129)]=await navigator[_0x471d42(0x166)][_0x471d42(0x141)]({'audio':!![]});if(this[_0x471d42(0x129)]){const _0x233541=this['audioStream']['getTracks']()[0x0];this[_0x471d42(0x11b)][_0x471d42(0x159)](_0x233541,this[_0x471d42(0x129)]);}const _0x106d98=await this[_0x471d42(0x11b)][_0x471d42(0x148)]();await this[_0x471d42(0x11b)]['setLocalDescription'](_0x106d98);const _0x38b462=this[_0x471d42(0x14d)][_0x471d42(0x16a)]+_0x471d42(0x157),_0x161509=await fetch(_0x38b462,{'method':'POST','body':JSON[_0x471d42(0x143)]({'sessionId':this[_0x471d42(0x162)],'sdp':_0x106d98[_0x471d42(0x11a)]}),'headers':{'x-agrasya-client-api-key':this[_0x471d42(0x14d)]['apiKey'],'Content-Type':_0x471d42(0x121)}});if(!_0x161509['ok'])throw new Error(_0x471d42(0x127)+_0x161509[_0x471d42(0x139)]);const _0x22dcc6=await _0x161509[_0x471d42(0x128)](),_0xe1ef09=_0x22dcc6[_0x471d42(0x12a)][_0x471d42(0x11a)],_0x5a9b16={'type':'answer','sdp':_0xe1ef09};await this[_0x471d42(0x11b)][_0x471d42(0x11d)](_0x5a9b16);}[a0_0x39dbfb(0x16e)](_0x165faa){const _0xd7ad51=a0_0x39dbfb;_0x165faa['on']('disconnect',()=>{const _0x22142f=a0_0x1079;this[_0x22142f(0x140)]();}),_0x165faa['on'](_0xd7ad51(0x116),()=>{const _0x30ef0f=_0xd7ad51;this[_0x30ef0f(0x140)]();}),_0x165faa['on'](_0xd7ad51(0x131),_0x42beaa=>{this['events']['onUsageLimitReached']?.(_0x42beaa);});}async[a0_0x39dbfb(0x115)](_0x15e45b){const _0x2cd1dc=a0_0x39dbfb;try{this['setStatus']('initializing');const _0x1cc4d2=await this[_0x2cd1dc(0x120)]();this[_0x2cd1dc(0x162)]=_0x1cc4d2[_0x2cd1dc(0x162)],this['ephKey']=_0x1cc4d2[_0x2cd1dc(0x158)];if(!this[_0x2cd1dc(0x158)])throw new Error(_0x2cd1dc(0x13e));const _0x3c335b=await this[_0x2cd1dc(0x150)]();this[_0x2cd1dc(0x15b)]('Minutes\x20left:\x20'+_0x3c335b),await this[_0x2cd1dc(0x117)](this[_0x2cd1dc(0x158)]),this[_0x2cd1dc(0x15d)]=(0x0,import_socket[_0x2cd1dc(0x145)])(this[_0x2cd1dc(0x14d)]['baseUrl'],{'transports':[_0x2cd1dc(0x161)]}),this[_0x2cd1dc(0x15d)][_0x2cd1dc(0x136)]('join_session',{'sessionId':this['sessionId']}),this[_0x2cd1dc(0x15d)][_0x2cd1dc(0x136)](_0x2cd1dc(0x12d)),this['setupSocketListeners'](this['socket']),this[_0x2cd1dc(0x154)](_0x2cd1dc(0x125)),this[_0x2cd1dc(0x151)]();}catch(_0x5a8eca){this[_0x2cd1dc(0x154)](_0x2cd1dc(0x13a));throw _0x5a8eca;}}async[a0_0x39dbfb(0x135)](){this['cleanup']();}[a0_0x39dbfb(0x140)](){const _0x379c3f=a0_0x39dbfb;this[_0x379c3f(0x11b)]&&(this[_0x379c3f(0x11b)][_0x379c3f(0x146)](),this[_0x379c3f(0x11b)]=null),this[_0x379c3f(0x142)]&&(this[_0x379c3f(0x142)]['close'](),this[_0x379c3f(0x142)]=null),this['audioStream']&&(this[_0x379c3f(0x129)][_0x379c3f(0x156)]()[_0x379c3f(0x15e)](_0x1dc7e3=>_0x1dc7e3[_0x379c3f(0x169)]()),this['audioStream']=null),this[_0x379c3f(0x15d)]&&(this[_0x379c3f(0x15d)][_0x379c3f(0x13b)](),this[_0x379c3f(0x15d)]=null),this['stopTimer'](),this[_0x379c3f(0x154)](_0x379c3f(0x137));}async[a0_0x39dbfb(0x150)](){const _0x253473=a0_0x39dbfb,_0x3eb22e=this[_0x253473(0x14d)][_0x253473(0x16a)]+_0x253473(0x15a),_0x3c822b=await fetch(_0x3eb22e,{'method':'GET','headers':{'x-agrasya-client-api-key':this['config'][_0x253473(0x122)],'Content-Type':_0x253473(0x121)}});if(!_0x3c822b['ok']){const _0x442293=await _0x3c822b[_0x253473(0x128)]()[_0x253473(0x16d)](()=>({'message':_0x3c822b['statusText']}));throw new Error(_0x253473(0x155)+(_0x442293[_0x253473(0x15c)]||_0x3c822b[_0x253473(0x139)]));}const _0x4344c2=await _0x3c822b[_0x253473(0x128)]();if(!_0x4344c2[_0x253473(0x14a)])throw new Error(_0x4344c2[_0x253473(0x15c)]||_0x253473(0x167));return _0x4344c2[_0x253473(0x12a)][_0x253473(0x15f)];}};0x0&&(module[a0_0x39dbfb(0x152)]={'AgrasyaVoiceSDK':AgrasyaVoiceSDK});
package/dist/index.mjs CHANGED
@@ -1 +1 @@
1
- const a1_0x28580a=a1_0x2fe5;(function(_0x644807,_0xa07f1d){const _0x5b1799=a1_0x2fe5,_0x29ee91=_0x644807();while(!![]){try{const _0x213dab=-parseInt(_0x5b1799(0x9e))/0x1+-parseInt(_0x5b1799(0x8f))/0x2*(parseInt(_0x5b1799(0x9c))/0x3)+-parseInt(_0x5b1799(0x9a))/0x4+parseInt(_0x5b1799(0x87))/0x5*(-parseInt(_0x5b1799(0x71))/0x6)+parseInt(_0x5b1799(0x88))/0x7*(-parseInt(_0x5b1799(0x98))/0x8)+parseInt(_0x5b1799(0x82))/0x9*(-parseInt(_0x5b1799(0x93))/0xa)+parseInt(_0x5b1799(0xb3))/0xb;if(_0x213dab===_0xa07f1d)break;else _0x29ee91['push'](_0x29ee91['shift']());}catch(_0x213726){_0x29ee91['push'](_0x29ee91['shift']());}}}(a1_0x51ba,0xc94e6));import a1_0x325548 from'socket.io-client';function a1_0x2fe5(_0x2f7cee,_0x4aec30){_0x2f7cee=_0x2f7cee-0x6a;const _0x51ba55=a1_0x51ba();let _0x2fe5cc=_0x51ba55[_0x2f7cee];return _0x2fe5cc;}var AgrasyaVoiceSDK=class{['config'];[a1_0x28580a(0x76)];[a1_0x28580a(0xb8)]=null;[a1_0x28580a(0x8c)]=null;[a1_0x28580a(0xae)]=null;[a1_0x28580a(0xb6)]=null;[a1_0x28580a(0xad)]=null;[a1_0x28580a(0xb4)]=null;[a1_0x28580a(0xb1)]=null;[a1_0x28580a(0xab)]=null;[a1_0x28580a(0xa2)]=0x0;[a1_0x28580a(0x91)]=null;constructor(_0xe0fe9f,_0x2a3b5b={}){const _0x5e535d=a1_0x28580a;this[_0x5e535d(0x89)]={'baseUrl':'http://localhost:4001','language':'','debug':![],..._0xe0fe9f},this[_0x5e535d(0x76)]=_0x2a3b5b;}[a1_0x28580a(0x95)](..._0xfadc51){const _0x3fb965=a1_0x28580a;this[_0x3fb965(0x89)]['debug']&&console[_0x3fb965(0x95)](_0x3fb965(0x90),..._0xfadc51);}['setStatus'](_0x1154ad){const _0x47f2a4=a1_0x28580a;this[_0x47f2a4(0x76)][_0x47f2a4(0x6d)]?.(_0x1154ad);}[a1_0x28580a(0x6e)](){const _0x1cc102=a1_0x28580a;this['callDuration']=0x0,this[_0x1cc102(0x91)]=setInterval(()=>{const _0x29219f=_0x1cc102;this['callDuration']+=0x1,this[_0x29219f(0x76)][_0x29219f(0xb2)]?.(this[_0x29219f(0xa2)]);},0x3e8);}[a1_0x28580a(0x7d)](){const _0x3df889=a1_0x28580a;this[_0x3df889(0x91)]&&(clearInterval(this[_0x3df889(0x91)]),this[_0x3df889(0x91)]=null);}async[a1_0x28580a(0x6f)](){const _0x43718c=a1_0x28580a,_0xea0ff9=this[_0x43718c(0x89)][_0x43718c(0xa5)]+_0x43718c(0x86)+this[_0x43718c(0x89)][_0x43718c(0xaa)],_0x51891f=await fetch(_0xea0ff9,{'method':_0x43718c(0xb7),'headers':{'x-agrasya-client-api-key':this[_0x43718c(0x89)][_0x43718c(0x94)],'Content-Type':_0x43718c(0xa8)}});if(!_0x51891f['ok']){const _0x45317f=await _0x51891f[_0x43718c(0x70)]()[_0x43718c(0xb5)](()=>({'message':_0x51891f[_0x43718c(0xa4)]}));throw new Error('Failed\x20to\x20initialize\x20session:\x20'+(_0x45317f[_0x43718c(0x8e)]||_0x51891f[_0x43718c(0xa4)]));}const _0x5692be=await _0x51891f[_0x43718c(0x70)]();if(!_0x5692be[_0x43718c(0x7f)])throw new Error(_0x5692be[_0x43718c(0x8e)]||_0x43718c(0x8d));return _0x5692be['data'];}async[a1_0x28580a(0x7a)](_0x2f3d6a){const _0x2592d8=a1_0x28580a;this[_0x2592d8(0xb8)]=new RTCPeerConnection(),this[_0x2592d8(0x8c)]=this[_0x2592d8(0xb8)][_0x2592d8(0x7b)]('oai-events');this['dataChannel']&&(this[_0x2592d8(0x8c)][_0x2592d8(0x80)]=_0x90a410=>{const _0x4edd87=_0x2592d8,_0x4a16bc=JSON[_0x4edd87(0x83)](_0x90a410[_0x4edd87(0xac)]);this['events'][_0x4edd87(0xbb)]?.(_0x4a16bc);});this[_0x2592d8(0xb8)][_0x2592d8(0x9b)]=_0xacb927=>{const _0x206e15=_0x2592d8,_0x1c2a8e=document[_0x206e15(0x92)](_0x206e15(0x79));_0x1c2a8e['srcObject']=_0xacb927[_0x206e15(0x81)][0x0],_0x1c2a8e[_0x206e15(0x84)]=!![],document[_0x206e15(0x99)][_0x206e15(0xa1)](_0x1c2a8e);},this[_0x2592d8(0xae)]=await navigator['mediaDevices']['getUserMedia']({'audio':!![]});if(this['audioStream']){const _0x3298cd=this['audioStream'][_0x2592d8(0x78)]()[0x0];this['peerConnection']['addTrack'](_0x3298cd,this[_0x2592d8(0xae)]);}const _0x4e7b3a=await this['peerConnection']['createOffer']();await this[_0x2592d8(0xb8)]['setLocalDescription'](_0x4e7b3a);const _0x28bf31=this[_0x2592d8(0x89)][_0x2592d8(0xa5)]+'/v1/agrasya/connect',_0x4e2007=await fetch(_0x28bf31,{'method':_0x2592d8(0x6a),'body':JSON[_0x2592d8(0x9d)]({'sessionId':this[_0x2592d8(0xad)],'sdp':_0x4e7b3a[_0x2592d8(0xa9)]}),'headers':{'x-agrasya-client-api-key':this[_0x2592d8(0x89)][_0x2592d8(0x94)],'Content-Type':'application/json'}});if(!_0x4e2007['ok'])throw new Error(_0x2592d8(0xaf)+_0x4e2007[_0x2592d8(0xa4)]);const _0x33f180=await _0x4e2007[_0x2592d8(0x70)](),_0x421aab={'type':_0x2592d8(0x7e),'sdp':_0x33f180['sdp']},_0x1e7b80={'type':_0x421aab[_0x2592d8(0xa6)],'sdp':_0x421aab[_0x2592d8(0xa9)]};await this[_0x2592d8(0xb8)][_0x2592d8(0x8b)](_0x1e7b80);}[a1_0x28580a(0x75)](_0xa6ffe3){_0xa6ffe3['on']('disconnect',()=>{const _0x36529c=a1_0x2fe5;this[_0x36529c(0x85)]();}),_0xa6ffe3['on']('session_ended',()=>{const _0x3349a1=a1_0x2fe5;this[_0x3349a1(0x85)]();});}async[a1_0x28580a(0x8a)](_0xdd3582){const _0x5d49d2=a1_0x28580a;try{this[_0x5d49d2(0xa0)](_0x5d49d2(0x72));const _0x51f046=await this[_0x5d49d2(0x6f)]();this[_0x5d49d2(0xad)]=_0x51f046[_0x5d49d2(0xad)],this[_0x5d49d2(0xb4)]=_0x51f046[_0x5d49d2(0xb4)];if(!this['ephKey'])throw new Error(_0x5d49d2(0x6c));const _0x4ca0f4=await this[_0x5d49d2(0x9f)]();this[_0x5d49d2(0x95)](_0x5d49d2(0x96)+_0x4ca0f4),await this[_0x5d49d2(0x7a)](this[_0x5d49d2(0xb4)]),this[_0x5d49d2(0xb6)]=a1_0x325548(this[_0x5d49d2(0x89)]['baseUrl'],{'transports':[_0x5d49d2(0x74)]}),this[_0x5d49d2(0xb6)]['emit'](_0x5d49d2(0xa3),{'sessionId':this[_0x5d49d2(0xad)]}),this['setupSocketListeners'](this[_0x5d49d2(0xb6)]),this[_0x5d49d2(0xa0)]('connected'),this[_0x5d49d2(0x6e)]();}catch(_0x158b41){this[_0x5d49d2(0xa0)](_0x5d49d2(0xb0));throw _0x158b41;}}async[a1_0x28580a(0x6b)](){this['cleanup']();}[a1_0x28580a(0x85)](){const _0x1dee8a=a1_0x28580a;this[_0x1dee8a(0xb8)]&&(this['peerConnection'][_0x1dee8a(0xb9)](),this[_0x1dee8a(0xb8)]=null),this[_0x1dee8a(0x8c)]&&(this[_0x1dee8a(0x8c)][_0x1dee8a(0xb9)](),this[_0x1dee8a(0x8c)]=null),this[_0x1dee8a(0xae)]&&(this[_0x1dee8a(0xae)]['getTracks']()[_0x1dee8a(0x97)](_0x379d07=>_0x379d07['stop']()),this[_0x1dee8a(0xae)]=null),this[_0x1dee8a(0xb6)]&&(this[_0x1dee8a(0xb6)][_0x1dee8a(0x7c)](),this[_0x1dee8a(0xb6)]=null),this[_0x1dee8a(0x7d)](),this[_0x1dee8a(0xa0)](_0x1dee8a(0xa7));}async[a1_0x28580a(0x9f)](){const _0x2eb3f5=a1_0x28580a,_0x49219c=this['config']['baseUrl']+_0x2eb3f5(0xba),_0x559a01=await fetch(_0x49219c,{'method':'GET','headers':{'x-agrasya-client-api-key':this['config'][_0x2eb3f5(0x94)],'Content-Type':'application/json'}});if(!_0x559a01['ok']){const _0x492bc6=await _0x559a01['json']()[_0x2eb3f5(0xb5)](()=>({'message':_0x559a01[_0x2eb3f5(0xa4)]}));throw new Error(_0x2eb3f5(0x73)+(_0x492bc6[_0x2eb3f5(0x8e)]||_0x559a01['statusText']));}const _0x5994e2=await _0x559a01[_0x2eb3f5(0x70)]();if(!_0x5994e2['success'])throw new Error(_0x5994e2[_0x2eb3f5(0x8e)]||'Failed\x20to\x20fetch\x20minutes\x20usage');return _0x5994e2[_0x2eb3f5(0xac)][_0x2eb3f5(0x77)];}};function a1_0x51ba(){const _0x3c38bc=['dataChannel','Backend\x20initialization\x20failed','message','294VLrqhD','[AgrasyaSDK]','durationInterval','createElement','70nEYflf','apiKey','log','Minutes\x20left:\x20','forEach','1710320ZKEbVs','body','6122068zheZHt','ontrack','23007lGOwah','stringify','376936gePRPa','fetchMinutesUsage','setStatus','appendChild','callDuration','join_session','statusText','baseUrl','type','idle','application/json','sdp','language','model','data','sessionId','audioStream','SDP\x20exchange\x20failed:\x20','error','dataUrl','onCallDurationUpdate','64727135akcABU','ephKey','catch','socket','GET','peerConnection','close','/v1/agrasya/usage','onTranscript','POST','stopVoiceSession','key\x20is\x20null\x20or\x20undefined.','onStatusChange','startTimer','initializeBackendSession','json','1668252RSoWGo','initializing','Failed\x20to\x20fetch\x20minutes\x20usage:\x20','websocket','setupSocketListeners','events','minutesLeft','getTracks','audio','setupWebRTC','createDataChannel','disconnect','stopTimer','answer','success','onmessage','streams','156681OjrCae','parse','autoplay','cleanup','/v1/agrasya/client-token?language=','15lwQqoh','35RUpYOx','config','startVoiceSession','setRemoteDescription'];a1_0x51ba=function(){return _0x3c38bc;};return a1_0x51ba();}export{AgrasyaVoiceSDK};
1
+ const a1_0x4c6459=a1_0x2ac9;(function(_0x1813fe,_0x385a70){const _0x53e059=a1_0x2ac9,_0x33d500=_0x1813fe();while(!![]){try{const _0x27a249=parseInt(_0x53e059(0x120))/0x1+-parseInt(_0x53e059(0x150))/0x2*(-parseInt(_0x53e059(0x15b))/0x3)+parseInt(_0x53e059(0x12f))/0x4*(-parseInt(_0x53e059(0x119))/0x5)+-parseInt(_0x53e059(0x116))/0x6+-parseInt(_0x53e059(0x14d))/0x7*(parseInt(_0x53e059(0x14f))/0x8)+-parseInt(_0x53e059(0x145))/0x9+-parseInt(_0x53e059(0x134))/0xa*(-parseInt(_0x53e059(0x160))/0xb);if(_0x27a249===_0x385a70)break;else _0x33d500['push'](_0x33d500['shift']());}catch(_0x12dd38){_0x33d500['push'](_0x33d500['shift']());}}}(a1_0x5e82,0x7aeda));function a1_0x5e82(){const _0x217878=['Failed\x20to\x20fetch\x20minutes\x20usage:\x20','idle','[AgrasyaSDK]','audioStream','2321431HMIfDV','onUsageLimitReached','16dzSgvb','18lnLEPV','SDP\x20exchange\x20failed:\x20','Minutes\x20left:\x20','message','GET','forEach','error','sdp','emit','parse','getUserMedia','210054IsPhWI','Failed\x20to\x20fetch\x20minutes\x20usage','setStatus','createOffer','initializing','150502GQryfq','createDataChannel','update_start_time','socket','success','events','onStatusChange','292362DLTLRQ','fetchMinutesUsage','audio','170vHpICG','body','streams','sessionId','close','getTracks','POST','815912VWqhQM','http://localhost:4001','minutesLeft','config','dataChannel','connected','setRemoteDescription','json','callDuration','statusText','ephKey','startTimer','disconnect','autoplay','session_ended','21776uXwDdL','apiKey','mediaDevices','stopTimer','data','670erBarH','application/json','cleanup','durationInterval','setupSocketListeners','catch','Backend\x20initialization\x20failed','/v1/agrasya/usage','onmessage','model','baseUrl','peerConnection','/v1/agrasya/client-token?language=','websocket','oai-events','startVoiceSession','log','8659485uEKaYB','setLocalDescription','stop','language'];a1_0x5e82=function(){return _0x217878;};return a1_0x5e82();}import a1_0x5382ae from'socket.io-client';var AgrasyaVoiceSDK=class{[a1_0x4c6459(0x123)];['events'];['peerConnection']=null;['dataChannel']=null;['audioStream']=null;[a1_0x4c6459(0x163)]=null;[a1_0x4c6459(0x11c)]=null;[a1_0x4c6459(0x12a)]=null;['dataUrl']=null;[a1_0x4c6459(0x13d)]=null;['callDuration']=0x0;[a1_0x4c6459(0x137)]=null;constructor(_0x231307,_0x44ab09={}){const _0x534e3f=a1_0x4c6459;this[_0x534e3f(0x123)]={'baseUrl':_0x534e3f(0x121),'language':'','debug':![],..._0x231307},this[_0x534e3f(0x114)]=_0x44ab09;}['log'](..._0x26eb41){const _0x407cce=a1_0x4c6459;this[_0x407cce(0x123)]['debug']&&console[_0x407cce(0x144)](_0x407cce(0x14b),..._0x26eb41);}[a1_0x4c6459(0x15d)](_0x53fb86){const _0x24e91a=a1_0x4c6459;this[_0x24e91a(0x114)][_0x24e91a(0x115)]?.(_0x53fb86);}[a1_0x4c6459(0x12b)](){const _0x4483c6=a1_0x4c6459;this['callDuration']=0x0,this[_0x4483c6(0x137)]=setInterval(()=>{const _0xc93a6b=_0x4483c6;this[_0xc93a6b(0x128)]+=0x1,this[_0xc93a6b(0x114)]['onCallDurationUpdate']?.(this[_0xc93a6b(0x128)]);},0x3e8);}[a1_0x4c6459(0x132)](){const _0x1fad97=a1_0x4c6459;this[_0x1fad97(0x137)]&&(clearInterval(this[_0x1fad97(0x137)]),this[_0x1fad97(0x137)]=null);}async['initializeBackendSession'](){const _0x2a3ad6=a1_0x4c6459,_0x20f07c=this[_0x2a3ad6(0x123)]['baseUrl']+_0x2a3ad6(0x140)+this['config'][_0x2a3ad6(0x148)],_0x2ad278=await fetch(_0x20f07c,{'method':'GET','headers':{'x-agrasya-client-api-key':this[_0x2a3ad6(0x123)]['apiKey'],'Content-Type':_0x2a3ad6(0x135)}});if(!_0x2ad278['ok']){const _0x1a5cb7=await _0x2ad278[_0x2a3ad6(0x127)]()[_0x2a3ad6(0x139)](()=>({'message':_0x2ad278[_0x2a3ad6(0x129)]}));throw new Error('Failed\x20to\x20initialize\x20session:\x20'+(_0x1a5cb7[_0x2a3ad6(0x153)]||_0x2ad278[_0x2a3ad6(0x129)]));}const _0x1bf950=await _0x2ad278[_0x2a3ad6(0x127)]();if(!_0x1bf950['success'])throw new Error(_0x1bf950['message']||_0x2a3ad6(0x13a));return _0x1bf950[_0x2a3ad6(0x133)];}async['setupWebRTC'](_0x2d91de){const _0x1cb4d5=a1_0x4c6459;this['peerConnection']=new RTCPeerConnection(),this['dataChannel']=this[_0x1cb4d5(0x13f)][_0x1cb4d5(0x161)](_0x1cb4d5(0x142));this[_0x1cb4d5(0x124)]&&(this[_0x1cb4d5(0x124)][_0x1cb4d5(0x13c)]=_0x219162=>{const _0x380f0f=_0x1cb4d5,_0x498e6b=JSON[_0x380f0f(0x159)](_0x219162[_0x380f0f(0x133)]);this[_0x380f0f(0x114)]['onTranscript']?.(_0x498e6b);});this[_0x1cb4d5(0x13f)]['ontrack']=_0x32c71c=>{const _0x81a209=_0x1cb4d5,_0x6a9139=document['createElement'](_0x81a209(0x118));_0x6a9139['srcObject']=_0x32c71c[_0x81a209(0x11b)][0x0],_0x6a9139[_0x81a209(0x12d)]=!![],document[_0x81a209(0x11a)]['appendChild'](_0x6a9139);},this[_0x1cb4d5(0x14c)]=await navigator[_0x1cb4d5(0x131)][_0x1cb4d5(0x15a)]({'audio':!![]});if(this[_0x1cb4d5(0x14c)]){const _0x5c7a10=this[_0x1cb4d5(0x14c)][_0x1cb4d5(0x11e)]()[0x0];this[_0x1cb4d5(0x13f)]['addTrack'](_0x5c7a10,this[_0x1cb4d5(0x14c)]);}const _0x37876b=await this[_0x1cb4d5(0x13f)][_0x1cb4d5(0x15e)]();await this[_0x1cb4d5(0x13f)][_0x1cb4d5(0x146)](_0x37876b);const _0x329f73=this[_0x1cb4d5(0x123)]['baseUrl']+'/v1/agrasya/connect',_0x162ce9=await fetch(_0x329f73,{'method':_0x1cb4d5(0x11f),'body':JSON['stringify']({'sessionId':this[_0x1cb4d5(0x11c)],'sdp':_0x37876b[_0x1cb4d5(0x157)]}),'headers':{'x-agrasya-client-api-key':this[_0x1cb4d5(0x123)][_0x1cb4d5(0x130)],'Content-Type':_0x1cb4d5(0x135)}});if(!_0x162ce9['ok'])throw new Error(_0x1cb4d5(0x151)+_0x162ce9[_0x1cb4d5(0x129)]);const _0x314ddd=await _0x162ce9[_0x1cb4d5(0x127)](),_0x207367=_0x314ddd[_0x1cb4d5(0x133)][_0x1cb4d5(0x157)],_0x52a969={'type':'answer','sdp':_0x207367};await this[_0x1cb4d5(0x13f)][_0x1cb4d5(0x126)](_0x52a969);}['setupSocketListeners'](_0x1932a6){const _0x55cb38=a1_0x4c6459;_0x1932a6['on']('disconnect',()=>{this['cleanup']();}),_0x1932a6['on'](_0x55cb38(0x12e),()=>{this['cleanup']();}),_0x1932a6['on']('usage_limit_reached',_0x3fb25a=>{const _0x1513fd=_0x55cb38;this['events'][_0x1513fd(0x14e)]?.(_0x3fb25a);});}async[a1_0x4c6459(0x143)](_0x463e2f){const _0x370758=a1_0x4c6459;try{this[_0x370758(0x15d)](_0x370758(0x15f));const _0x4de461=await this['initializeBackendSession']();this[_0x370758(0x11c)]=_0x4de461['sessionId'],this[_0x370758(0x12a)]=_0x4de461[_0x370758(0x12a)];if(!this[_0x370758(0x12a)])throw new Error('key\x20is\x20null\x20or\x20undefined.');const _0x2533a7=await this[_0x370758(0x117)]();this['log'](_0x370758(0x152)+_0x2533a7),await this['setupWebRTC'](this[_0x370758(0x12a)]),this[_0x370758(0x163)]=a1_0x5382ae(this[_0x370758(0x123)][_0x370758(0x13e)],{'transports':[_0x370758(0x141)]}),this[_0x370758(0x163)][_0x370758(0x158)]('join_session',{'sessionId':this[_0x370758(0x11c)]}),this['socket']['emit'](_0x370758(0x162)),this[_0x370758(0x138)](this[_0x370758(0x163)]),this[_0x370758(0x15d)](_0x370758(0x125)),this[_0x370758(0x12b)]();}catch(_0x54d36a){this[_0x370758(0x15d)](_0x370758(0x156));throw _0x54d36a;}}async['stopVoiceSession'](){const _0x333a29=a1_0x4c6459;this[_0x333a29(0x136)]();}[a1_0x4c6459(0x136)](){const _0x2896ff=a1_0x4c6459;this['peerConnection']&&(this[_0x2896ff(0x13f)][_0x2896ff(0x11d)](),this[_0x2896ff(0x13f)]=null),this[_0x2896ff(0x124)]&&(this['dataChannel']['close'](),this[_0x2896ff(0x124)]=null),this[_0x2896ff(0x14c)]&&(this['audioStream'][_0x2896ff(0x11e)]()[_0x2896ff(0x155)](_0x25c35c=>_0x25c35c[_0x2896ff(0x147)]()),this[_0x2896ff(0x14c)]=null),this[_0x2896ff(0x163)]&&(this[_0x2896ff(0x163)][_0x2896ff(0x12c)](),this['socket']=null),this[_0x2896ff(0x132)](),this[_0x2896ff(0x15d)](_0x2896ff(0x14a));}async[a1_0x4c6459(0x117)](){const _0x1ba51a=a1_0x4c6459,_0x728fe5=this[_0x1ba51a(0x123)][_0x1ba51a(0x13e)]+_0x1ba51a(0x13b),_0x2f15a3=await fetch(_0x728fe5,{'method':_0x1ba51a(0x154),'headers':{'x-agrasya-client-api-key':this[_0x1ba51a(0x123)]['apiKey'],'Content-Type':'application/json'}});if(!_0x2f15a3['ok']){const _0x27411b=await _0x2f15a3[_0x1ba51a(0x127)]()['catch'](()=>({'message':_0x2f15a3[_0x1ba51a(0x129)]}));throw new Error(_0x1ba51a(0x149)+(_0x27411b[_0x1ba51a(0x153)]||_0x2f15a3[_0x1ba51a(0x129)]));}const _0x363734=await _0x2f15a3[_0x1ba51a(0x127)]();if(!_0x363734[_0x1ba51a(0x164)])throw new Error(_0x363734['message']||_0x1ba51a(0x15c));return _0x363734[_0x1ba51a(0x133)][_0x1ba51a(0x122)];}};function a1_0x2ac9(_0x581670,_0x2be819){_0x581670=_0x581670-0x114;const _0x5e8288=a1_0x5e82();let _0x2ac92b=_0x5e8288[_0x581670];return _0x2ac92b;}export{AgrasyaVoiceSDK};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "agrasya-voice-sdk",
3
- "version": "1.0.33",
3
+ "version": "1.0.35",
4
4
  "main": "dist/index.js",
5
5
  "module": "dist/index.mjs",
6
6
  "types": "dist/index.d.ts",