assemblyai 4.16.1 → 4.17.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.
- package/dist/assemblyai.umd.js +14 -8
- package/dist/assemblyai.umd.min.js +1 -1
- package/dist/browser.mjs +14 -8
- package/dist/bun.mjs +14 -8
- package/dist/deno.mjs +14 -8
- package/dist/index.cjs +14 -8
- package/dist/index.mjs +14 -8
- package/dist/node.cjs +14 -8
- package/dist/node.mjs +14 -8
- package/dist/services/lemur/index.d.ts +9 -7
- package/dist/workerd.mjs +14 -8
- package/package.json +1 -1
- package/src/services/lemur/index.ts +28 -7
- package/src/services/streaming/service.ts +4 -1
package/dist/assemblyai.umd.js
CHANGED
|
@@ -65,7 +65,7 @@
|
|
|
65
65
|
defaultUserAgentString += navigator.userAgent;
|
|
66
66
|
}
|
|
67
67
|
const defaultUserAgent = {
|
|
68
|
-
sdk: { name: "JavaScript", version: "4.
|
|
68
|
+
sdk: { name: "JavaScript", version: "4.17.0" },
|
|
69
69
|
};
|
|
70
70
|
if (typeof process !== "undefined") {
|
|
71
71
|
if (process.versions.node && defaultUserAgentString.indexOf("Node") === -1) {
|
|
@@ -157,40 +157,46 @@
|
|
|
157
157
|
}
|
|
158
158
|
|
|
159
159
|
class LemurService extends BaseService {
|
|
160
|
-
summary(params) {
|
|
160
|
+
summary(params, signal) {
|
|
161
161
|
return this.fetchJson("/lemur/v3/generate/summary", {
|
|
162
162
|
method: "POST",
|
|
163
163
|
body: JSON.stringify(params),
|
|
164
|
+
signal,
|
|
164
165
|
});
|
|
165
166
|
}
|
|
166
|
-
questionAnswer(params) {
|
|
167
|
+
questionAnswer(params, signal) {
|
|
167
168
|
return this.fetchJson("/lemur/v3/generate/question-answer", {
|
|
168
169
|
method: "POST",
|
|
169
170
|
body: JSON.stringify(params),
|
|
171
|
+
signal,
|
|
170
172
|
});
|
|
171
173
|
}
|
|
172
|
-
actionItems(params) {
|
|
174
|
+
actionItems(params, signal) {
|
|
173
175
|
return this.fetchJson("/lemur/v3/generate/action-items", {
|
|
174
176
|
method: "POST",
|
|
175
177
|
body: JSON.stringify(params),
|
|
178
|
+
signal,
|
|
176
179
|
});
|
|
177
180
|
}
|
|
178
|
-
task(params) {
|
|
181
|
+
task(params, signal) {
|
|
179
182
|
return this.fetchJson("/lemur/v3/generate/task", {
|
|
180
183
|
method: "POST",
|
|
181
184
|
body: JSON.stringify(params),
|
|
185
|
+
signal,
|
|
182
186
|
});
|
|
183
187
|
}
|
|
184
|
-
getResponse(id) {
|
|
185
|
-
return this.fetchJson(`/lemur/v3/${id}
|
|
188
|
+
getResponse(id, signal) {
|
|
189
|
+
return this.fetchJson(`/lemur/v3/${id}`, { signal });
|
|
186
190
|
}
|
|
187
191
|
/**
|
|
188
192
|
* Delete the data for a previously submitted LeMUR request.
|
|
189
193
|
* @param id - ID of the LeMUR request
|
|
194
|
+
* @param signal - Optional AbortSignal to cancel the request
|
|
190
195
|
*/
|
|
191
|
-
purgeRequestData(id) {
|
|
196
|
+
purgeRequestData(id, signal) {
|
|
192
197
|
return this.fetchJson(`/lemur/v3/${id}`, {
|
|
193
198
|
method: "DELETE",
|
|
199
|
+
signal,
|
|
194
200
|
});
|
|
195
201
|
}
|
|
196
202
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).assemblyai={})}(this,(function(e){"use strict";function t(e,t,s,i){return new(s||(s=Promise))((function(r,n){function o(e){try{c(i.next(e))}catch(e){n(e)}}function a(e){try{c(i.throw(e))}catch(e){n(e)}}function c(e){var t;e.done?r(e.value):(t=e.value,t instanceof s?t:new s((function(e){e(t)}))).then(o,a)}c((i=i.apply(e,t||[])).next())}))}"function"==typeof SuppressedError&&SuppressedError;const s={cache:"no-store"};let i="";"undefined"!=typeof navigator&&navigator.userAgent&&(i+=navigator.userAgent);const r={sdk:{name:"JavaScript",version:"4.16.1"}};"undefined"!=typeof process&&(process.versions.node&&-1===i.indexOf("Node")&&(r.runtime_env={name:"Node",version:process.versions.node}),process.versions.bun&&-1===i.indexOf("Bun")&&(r.runtime_env={name:"Bun",version:process.versions.bun})),"undefined"!=typeof Deno&&process.versions.bun&&-1===i.indexOf("Deno")&&(r.runtime_env={name:"Deno",version:Deno.version.deno});class n{constructor(e){var t;this.params=e,!1===e.userAgent?this.userAgent=void 0:this.userAgent=(t=e.userAgent||{},i+(!1===t?"":" AssemblyAI/1.0 ("+Object.entries(Object.assign(Object.assign({},r),t)).map((([e,t])=>t?`${e}=${t.name}/${t.version}`:"")).join(" ")+")"))}fetch(e,i){return t(this,void 0,void 0,(function*(){i=Object.assign(Object.assign({},s),i);let t={Authorization:this.params.apiKey,"Content-Type":"application/json"};(null==s?void 0:s.headers)&&(t=Object.assign(Object.assign({},t),s.headers)),(null==i?void 0:i.headers)&&(t=Object.assign(Object.assign({},t),i.headers)),this.userAgent&&(t["User-Agent"]=this.userAgent,"undefined"!=typeof window&&"chrome"in window&&(t["AssemblyAI-Agent"]=this.userAgent)),i.headers=t,e.startsWith("http")||(e=this.params.baseUrl+e);const r=yield fetch(e,i);if(r.status>=400){let e;const t=yield r.text();if(t){try{e=JSON.parse(t)}catch(e){}if(null==e?void 0:e.error)throw new Error(e.error);throw new Error(t)}throw new Error(`HTTP Error: ${r.status} ${r.statusText}`)}return r}))}fetchJson(e,s){return t(this,void 0,void 0,(function*(){return(yield this.fetch(e,s)).json()}))}}class o extends n{summary(e){return this.fetchJson("/lemur/v3/generate/summary",{method:"POST",body:JSON.stringify(e)})}questionAnswer(e){return this.fetchJson("/lemur/v3/generate/question-answer",{method:"POST",body:JSON.stringify(e)})}actionItems(e){return this.fetchJson("/lemur/v3/generate/action-items",{method:"POST",body:JSON.stringify(e)})}task(e){return this.fetchJson("/lemur/v3/generate/task",{method:"POST",body:JSON.stringify(e)})}getResponse(e){return this.fetchJson(`/lemur/v3/${e}`)}purgeRequestData(e){return this.fetchJson(`/lemur/v3/${e}`,{method:"DELETE"})}}const{WritableStream:a}="undefined"!=typeof window?window:"undefined"!=typeof global?global:globalThis;var c,l;const d=null!==(l=null!==(c=null!==WebSocket&&void 0!==WebSocket?WebSocket:null===global||void 0===global?void 0:global.WebSocket)&&void 0!==c?c:null===window||void 0===window?void 0:window.WebSocket)&&void 0!==l?l:null===self||void 0===self?void 0:self.WebSocket,h=(e,t)=>t?new d(e,t):new d(e),u={[4e3]:"Sample rate must be a positive integer",[4001]:"Not Authorized",[4002]:"Insufficient funds",[4003]:"This feature is paid-only and requires you to add a credit card. Please visit https://app.assemblyai.com/ to add a credit card to your account.",[4004]:"Session ID does not exist",[4008]:"Session has expired",[4010]:"Session is closed",[4029]:"Rate limited",[4030]:"Unique session violation",[4031]:"Session Timeout",[4032]:"Audio too short",[4033]:"Audio too long",[4034]:"Audio too small to transcode",[4100]:"Bad JSON",[4101]:"Bad schema",[4102]:"Too many streams",[4103]:"This session has been reconnected. This WebSocket is no longer valid.",[1013]:"Reconnect attempts exhausted",[4104]:"Could not parse word boost parameter"};class m extends Error{}const p={[4e3]:"Sample rate must be a positive integer",[4001]:"Not Authorized",[4002]:"Insufficient funds",[4003]:"This feature is paid-only and requires you to add a credit card. Please visit https://app.assemblyai.com/ to add a credit card to your account.",[4004]:"Session ID does not exist",[4008]:"Session has expired",[4010]:"Session is closed",[4029]:"Rate limited",[4030]:"Unique session violation",[4031]:"Session Timeout",[4032]:"Audio too short",[4033]:"Audio too long",[4034]:"Audio too small to transcode",[4101]:"Bad schema",[4102]:"Too many streams",[4103]:"This session has been reconnected. This WebSocket is no longer valid."};class f extends Error{}const y='{"terminate_session":true}';class v{constructor(e){var t,s;if(this.listeners={},this.realtimeUrl=null!==(t=e.realtimeUrl)&&void 0!==t?t:"wss://api.assemblyai.com/v2/realtime/ws",this.sampleRate=null!==(s=e.sampleRate)&&void 0!==s?s:16e3,this.wordBoost=e.wordBoost,this.encoding=e.encoding,this.endUtteranceSilenceThreshold=e.endUtteranceSilenceThreshold,this.disablePartialTranscripts=e.disablePartialTranscripts,"token"in e&&e.token&&(this.token=e.token),"apiKey"in e&&e.apiKey&&(this.apiKey=e.apiKey),!this.token&&!this.apiKey)throw new Error("API key or temporary token is required.")}connectionUrl(){const e=new URL(this.realtimeUrl);if("wss:"!==e.protocol)throw new Error("Invalid protocol, must be wss");const t=new URLSearchParams;return this.token&&t.set("token",this.token),t.set("sample_rate",this.sampleRate.toString()),this.wordBoost&&this.wordBoost.length>0&&t.set("word_boost",JSON.stringify(this.wordBoost)),this.encoding&&t.set("encoding",this.encoding),t.set("enable_extra_session_information","true"),this.disablePartialTranscripts&&t.set("disable_partial_transcripts",this.disablePartialTranscripts.toString()),e.search=t.toString(),e}on(e,t){this.listeners[e]=t}connect(){return new Promise((e=>{if(this.socket)throw new Error("Already connected");const t=this.connectionUrl();this.token?this.socket=h(t.toString()):(console.warn("API key authentication is not supported for the RealtimeTranscriber in browser environment. Use temporary token authentication instead.\nLearn more at https://github.com/AssemblyAI/assemblyai-node-sdk/blob/main/docs/compat.md#browser-compatibility."),this.socket=h(t.toString(),{headers:{Authorization:this.apiKey}})),this.socket.binaryType="arraybuffer",this.socket.onopen=()=>{void 0!==this.endUtteranceSilenceThreshold&&null!==this.endUtteranceSilenceThreshold&&this.configureEndUtteranceSilenceThreshold(this.endUtteranceSilenceThreshold)},this.socket.onclose=({code:e,reason:t})=>{var s,i;t||e in u&&(t=u[e]),null===(i=(s=this.listeners).close)||void 0===i||i.call(s,e,t)},this.socket.onerror=e=>{var t,s,i,r;e.error?null===(s=(t=this.listeners).error)||void 0===s||s.call(t,e.error):null===(r=(i=this.listeners).error)||void 0===r||r.call(i,new Error(e.message))},this.socket.onmessage=({data:t})=>{var s,i,r,n,o,a,c,l,d,h,u,p,f,y,v;const b=JSON.parse(t.toString());if("error"in b)null===(i=(s=this.listeners).error)||void 0===i||i.call(s,new m(b.error));else switch(b.message_type){case"SessionBegins":{const t={sessionId:b.session_id,expiresAt:new Date(b.expires_at)};e(t),null===(n=(r=this.listeners).open)||void 0===n||n.call(r,t);break}case"PartialTranscript":b.created=new Date(b.created),null===(a=(o=this.listeners).transcript)||void 0===a||a.call(o,b),null===(l=(c=this.listeners)["transcript.partial"])||void 0===l||l.call(c,b);break;case"FinalTranscript":b.created=new Date(b.created),null===(h=(d=this.listeners).transcript)||void 0===h||h.call(d,b),null===(p=(u=this.listeners)["transcript.final"])||void 0===p||p.call(u,b);break;case"SessionInformation":null===(y=(f=this.listeners).session_information)||void 0===y||y.call(f,b);break;case"SessionTerminated":null===(v=this.sessionTerminatedResolve)||void 0===v||v.call(this)}}}))}sendAudio(e){this.send(e)}stream(){return new a({write:e=>{this.sendAudio(e)}})}forceEndUtterance(){this.send('{"force_end_utterance":true}')}configureEndUtteranceSilenceThreshold(e){this.send(`{"end_utterance_silence_threshold":${e}}`)}send(e){if(!this.socket||this.socket.readyState!==this.socket.OPEN)throw new Error("Socket is not open for communication");this.socket.send(e)}close(){return t(this,arguments,void 0,(function*(e=!0){var t;if(this.socket){if(this.socket.readyState===this.socket.OPEN)if(e){const e=new Promise((e=>{this.sessionTerminatedResolve=e}));this.socket.send(y),yield e}else this.socket.send(y);(null===(t=this.socket)||void 0===t?void 0:t.removeAllListeners)&&this.socket.removeAllListeners(),this.socket.close()}this.listeners={},this.socket=void 0}))}}class b extends n{constructor(e){super(e),this.rtFactoryParams=e}createService(e){return this.transcriber(e)}transcriber(e){const t=Object.assign({},e);return t.token||t.apiKey||(t.apiKey=this.rtFactoryParams.apiKey),new v(t)}createTemporaryToken(e){return t(this,void 0,void 0,(function*(){return(yield this.fetchJson("/v2/realtime/token",{method:"POST",body:JSON.stringify(e)})).token}))}}function g(e){return e.startsWith("http")||e.startsWith("https")||e.startsWith("data:")?null:e.startsWith("file://")?e.substring(7):e.startsWith("file:")?e.substring(5):e}class w extends n{constructor(e,t){super(e),this.files=t}transcribe(e,s){return t(this,void 0,void 0,(function*(){const t=yield this.submit(e);return yield this.waitUntilReady(t.id,s)}))}submit(e){return t(this,void 0,void 0,(function*(){let t,s;if("audio"in e){const{audio:i}=e,r=function(e,t){var s={};for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&t.indexOf(i)<0&&(s[i]=e[i]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(i=Object.getOwnPropertySymbols(e);r<i.length;r++)t.indexOf(i[r])<0&&Object.prototype.propertyIsEnumerable.call(e,i[r])&&(s[i[r]]=e[i[r]])}return s}(e,["audio"]);if("string"==typeof i){const e=g(i);t=null!==e?yield this.files.upload(e):i.startsWith("data:")?yield this.files.upload(i):i}else t=yield this.files.upload(i);s=Object.assign(Object.assign({},r),{audio_url:t})}else s=e;return yield this.fetchJson("/v2/transcript",{method:"POST",body:JSON.stringify(s)})}))}create(e,s){return t(this,void 0,void 0,(function*(){var t;const i=g(e.audio_url);if(null!==i){const t=yield this.files.upload(i);e.audio_url=t}const r=yield this.fetchJson("/v2/transcript",{method:"POST",body:JSON.stringify(e)});return null===(t=null==s?void 0:s.poll)||void 0===t||t?yield this.waitUntilReady(r.id,s):r}))}waitUntilReady(e,s){return t(this,void 0,void 0,(function*(){var t,i;const r=null!==(t=null==s?void 0:s.pollingInterval)&&void 0!==t?t:3e3,n=null!==(i=null==s?void 0:s.pollingTimeout)&&void 0!==i?i:-1,o=Date.now();for(;;){const t=yield this.get(e);if("completed"===t.status||"error"===t.status)return t;if(n>0&&Date.now()-o>n)throw new Error("Polling timeout");yield new Promise((e=>setTimeout(e,r)))}}))}get(e){return this.fetchJson(`/v2/transcript/${e}`)}list(e){return t(this,void 0,void 0,(function*(){let t="/v2/transcript";"string"==typeof e?t=e:e&&(t=`${t}?${new URLSearchParams(Object.keys(e).map((t=>{var s;return[t,(null===(s=e[t])||void 0===s?void 0:s.toString())||""]})))}`);const s=yield this.fetchJson(t);for(const e of s.transcripts)e.created=new Date(e.created),e.completed&&(e.completed=new Date(e.completed));return s}))}delete(e){return this.fetchJson(`/v2/transcript/${e}`,{method:"DELETE"})}wordSearch(e,t){const s=new URLSearchParams({words:t.join(",")});return this.fetchJson(`/v2/transcript/${e}/word-search?${s.toString()}`)}sentences(e){return this.fetchJson(`/v2/transcript/${e}/sentences`)}paragraphs(e){return this.fetchJson(`/v2/transcript/${e}/paragraphs`)}subtitles(e){return t(this,arguments,void 0,(function*(e,t="srt",s){let i=`/v2/transcript/${e}/${t}`;if(s){const e=new URLSearchParams;e.set("chars_per_caption",s.toString()),i+=`?${e.toString()}`}const r=yield this.fetch(i);return yield r.text()}))}redactions(e){return this.redactedAudio(e)}redactedAudio(e){return this.fetchJson(`/v2/transcript/${e}/redacted-audio`)}redactedAudioFile(e){return t(this,void 0,void 0,(function*(){const{redacted_audio_url:t,status:s}=yield this.redactedAudio(e);if("redacted_audio_ready"!==s)throw new Error(`Redacted audio status is ${s}`);const i=yield fetch(t);if(!i.ok)throw new Error(`Failed to fetch redacted audio: ${i.statusText}`);return{arrayBuffer:i.arrayBuffer.bind(i),blob:i.blob.bind(i),body:i.body,bodyUsed:i.bodyUsed}}))}}class k extends n{upload(e){return t(this,void 0,void 0,(function*(){let s;s="string"==typeof e?e.startsWith("data:")?function(e){const t=e.split(","),s=t[0].match(/:(.*?);/)[1],i=atob(t[1]);let r=i.length;const n=new Uint8Array(r);for(;r--;)n[r]=i.charCodeAt(r);return new Blob([n],{type:s})}(e):yield function(e){return t(this,void 0,void 0,(function*(){throw new Error("Interacting with the file system is not supported in this environment.")}))}():e;return(yield this.fetchJson("/v2/upload",{method:"POST",body:s,headers:{"Content-Type":"application/octet-stream"},duplex:"half"})).upload_url}))}}const S='{"type":"Terminate"}';class T{constructor(e){if(this.listeners={},this.params=Object.assign(Object.assign({},e),{websocketBaseUrl:e.websocketBaseUrl||"wss://streaming.assemblyai.com/v3/ws"}),"token"in e&&e.token&&(this.token=e.token),"apiKey"in e&&e.apiKey&&(this.apiKey=e.apiKey),!this.token&&!this.apiKey)throw new Error("API key or temporary token is required.")}connectionUrl(){var e;const t=new URL(null!==(e=this.params.websocketBaseUrl)&&void 0!==e?e:"");if("wss:"!==t.protocol)throw new Error("Invalid protocol, must be wss");const s=new URLSearchParams;return this.token&&s.set("token",this.token),s.set("sample_rate",this.params.sampleRate.toString()),this.params.endOfTurnConfidenceThreshold&&s.set("end_of_turn_confidence_threshold",this.params.endOfTurnConfidenceThreshold.toString()),this.params.minEndOfTurnSilenceWhenConfident&&s.set("min_end_of_turn_silence_when_confident",this.params.minEndOfTurnSilenceWhenConfident.toString()),this.params.maxTurnSilence&&s.set("max_turn_silence",this.params.maxTurnSilence.toString()),this.params.formatTurns&&s.set("format_turns",this.params.formatTurns.toString()),this.params.encoding&&s.set("encoding",this.params.encoding.toString()),this.params.keytermsPrompt?s.set("keyterms_prompt",JSON.stringify(this.params.keytermsPrompt)):this.params.keyterms&&(console.warn("[Deprecation Warning] `keyterms` is deprecated and will be removed in a future release. Please use `keytermsPrompt` instead."),s.set("keyterms_prompt",JSON.stringify(this.params.keyterms))),this.params.filterProfanity&&s.set("filter_profanity",this.params.filterProfanity.toString()),t.search=s.toString(),t}on(e,t){this.listeners[e]=t}connect(){return new Promise((e=>{if(this.socket)throw new Error("Already connected");const t=this.connectionUrl();this.token?this.socket=h(t.toString()):(console.warn("API key authentication is not supported for the StreamingTranscriber in browser environment. Use temporary token authentication instead.\nLearn more at https://github.com/AssemblyAI/assemblyai-node-sdk/blob/main/docs/compat.md#browser-compatibility."),this.socket=h(t.toString(),{headers:{Authorization:this.apiKey}})),this.socket.binaryType="arraybuffer",this.socket.onopen=()=>{},this.socket.onclose=({code:e,reason:t})=>{var s,i;t||e in p&&(t=p[e]),null===(i=(s=this.listeners).close)||void 0===i||i.call(s,e,t)},this.socket.onerror=e=>{var t,s,i,r;e.error?null===(s=(t=this.listeners).error)||void 0===s||s.call(t,e.error):null===(r=(i=this.listeners).error)||void 0===r||r.call(i,new Error(e.message))},this.socket.onmessage=({data:t})=>{var s,i,r,n,o,a,c;const l=JSON.parse(t.toString());if("error"in l)null===(i=(s=this.listeners).error)||void 0===i||i.call(s,new f(l.error));else switch(l.type){case"Begin":e(l),null===(n=(r=this.listeners).open)||void 0===n||n.call(r,l);break;case"Turn":null===(a=(o=this.listeners).turn)||void 0===a||a.call(o,l);break;case"Termination":null===(c=this.sessionTerminatedResolve)||void 0===c||c.call(this)}}}))}stream(){return new a({write:e=>{this.sendAudio(e)}})}sendAudio(e){this.send(e)}send(e){if(!this.socket||this.socket.readyState!==this.socket.OPEN)throw new Error("Socket is not open for communication");this.socket.send(e)}close(){return t(this,arguments,void 0,(function*(e=!0){var t;if(this.socket){if(this.socket.readyState===this.socket.OPEN)if(e){const e=new Promise((e=>{this.sessionTerminatedResolve=e}));this.socket.send(S),yield e}else this.socket.send(S);(null===(t=this.socket)||void 0===t?void 0:t.removeAllListeners)&&this.socket.removeAllListeners(),this.socket.close()}this.listeners={},this.socket=void 0}))}}class O extends n{constructor(e){super(e),this.baseServiceParams=e}transcriber(e){const t=Object.assign({},e);return t.token||t.apiKey||(t.apiKey=this.baseServiceParams.apiKey),new T(t)}createTemporaryToken(e){return t(this,void 0,void 0,(function*(){const t=new URLSearchParams;Object.entries(e).forEach((([e,s])=>{null!=s&&t.append(e,String(s))}));const s=t.toString(),i=s?`/v3/token?${s}`:"/v3/token";return(yield this.fetchJson(i,{method:"GET"})).token}))}}e.AssemblyAI=class{constructor(e){e.baseUrl=e.baseUrl||"https://api.assemblyai.com",e.baseUrl&&e.baseUrl.endsWith("/")&&(e.baseUrl=e.baseUrl.slice(0,-1)),this.files=new k(e),this.transcripts=new w(e,this.files),this.lemur=new o(e),this.realtime=new b(e),this.streaming=new O(Object.assign(Object.assign({},e),{baseUrl:e.streamingBaseUrl||"https://streaming.assemblyai.com"}))}},e.FileService=k,e.LemurService=o,e.RealtimeService=class extends v{},e.RealtimeServiceFactory=class extends b{},e.RealtimeTranscriber=v,e.RealtimeTranscriberFactory=b,e.StreamingTranscriber=T,e.TranscriptService=w}));
|
|
1
|
+
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).assemblyai={})}(this,(function(e){"use strict";function t(e,t,s,i){return new(s||(s=Promise))((function(n,r){function o(e){try{c(i.next(e))}catch(e){r(e)}}function a(e){try{c(i.throw(e))}catch(e){r(e)}}function c(e){var t;e.done?n(e.value):(t=e.value,t instanceof s?t:new s((function(e){e(t)}))).then(o,a)}c((i=i.apply(e,t||[])).next())}))}"function"==typeof SuppressedError&&SuppressedError;const s={cache:"no-store"};let i="";"undefined"!=typeof navigator&&navigator.userAgent&&(i+=navigator.userAgent);const n={sdk:{name:"JavaScript",version:"4.17.0"}};"undefined"!=typeof process&&(process.versions.node&&-1===i.indexOf("Node")&&(n.runtime_env={name:"Node",version:process.versions.node}),process.versions.bun&&-1===i.indexOf("Bun")&&(n.runtime_env={name:"Bun",version:process.versions.bun})),"undefined"!=typeof Deno&&process.versions.bun&&-1===i.indexOf("Deno")&&(n.runtime_env={name:"Deno",version:Deno.version.deno});class r{constructor(e){var t;this.params=e,!1===e.userAgent?this.userAgent=void 0:this.userAgent=(t=e.userAgent||{},i+(!1===t?"":" AssemblyAI/1.0 ("+Object.entries(Object.assign(Object.assign({},n),t)).map((([e,t])=>t?`${e}=${t.name}/${t.version}`:"")).join(" ")+")"))}fetch(e,i){return t(this,void 0,void 0,(function*(){i=Object.assign(Object.assign({},s),i);let t={Authorization:this.params.apiKey,"Content-Type":"application/json"};(null==s?void 0:s.headers)&&(t=Object.assign(Object.assign({},t),s.headers)),(null==i?void 0:i.headers)&&(t=Object.assign(Object.assign({},t),i.headers)),this.userAgent&&(t["User-Agent"]=this.userAgent,"undefined"!=typeof window&&"chrome"in window&&(t["AssemblyAI-Agent"]=this.userAgent)),i.headers=t,e.startsWith("http")||(e=this.params.baseUrl+e);const n=yield fetch(e,i);if(n.status>=400){let e;const t=yield n.text();if(t){try{e=JSON.parse(t)}catch(e){}if(null==e?void 0:e.error)throw new Error(e.error);throw new Error(t)}throw new Error(`HTTP Error: ${n.status} ${n.statusText}`)}return n}))}fetchJson(e,s){return t(this,void 0,void 0,(function*(){return(yield this.fetch(e,s)).json()}))}}class o extends r{summary(e,t){return this.fetchJson("/lemur/v3/generate/summary",{method:"POST",body:JSON.stringify(e),signal:t})}questionAnswer(e,t){return this.fetchJson("/lemur/v3/generate/question-answer",{method:"POST",body:JSON.stringify(e),signal:t})}actionItems(e,t){return this.fetchJson("/lemur/v3/generate/action-items",{method:"POST",body:JSON.stringify(e),signal:t})}task(e,t){return this.fetchJson("/lemur/v3/generate/task",{method:"POST",body:JSON.stringify(e),signal:t})}getResponse(e,t){return this.fetchJson(`/lemur/v3/${e}`,{signal:t})}purgeRequestData(e,t){return this.fetchJson(`/lemur/v3/${e}`,{method:"DELETE",signal:t})}}const{WritableStream:a}="undefined"!=typeof window?window:"undefined"!=typeof global?global:globalThis;var c,l;const d=null!==(l=null!==(c=null!==WebSocket&&void 0!==WebSocket?WebSocket:null===global||void 0===global?void 0:global.WebSocket)&&void 0!==c?c:null===window||void 0===window?void 0:window.WebSocket)&&void 0!==l?l:null===self||void 0===self?void 0:self.WebSocket,h=(e,t)=>t?new d(e,t):new d(e),u={[4e3]:"Sample rate must be a positive integer",[4001]:"Not Authorized",[4002]:"Insufficient funds",[4003]:"This feature is paid-only and requires you to add a credit card. Please visit https://app.assemblyai.com/ to add a credit card to your account.",[4004]:"Session ID does not exist",[4008]:"Session has expired",[4010]:"Session is closed",[4029]:"Rate limited",[4030]:"Unique session violation",[4031]:"Session Timeout",[4032]:"Audio too short",[4033]:"Audio too long",[4034]:"Audio too small to transcode",[4100]:"Bad JSON",[4101]:"Bad schema",[4102]:"Too many streams",[4103]:"This session has been reconnected. This WebSocket is no longer valid.",[1013]:"Reconnect attempts exhausted",[4104]:"Could not parse word boost parameter"};class m extends Error{}const p={[4e3]:"Sample rate must be a positive integer",[4001]:"Not Authorized",[4002]:"Insufficient funds",[4003]:"This feature is paid-only and requires you to add a credit card. Please visit https://app.assemblyai.com/ to add a credit card to your account.",[4004]:"Session ID does not exist",[4008]:"Session has expired",[4010]:"Session is closed",[4029]:"Rate limited",[4030]:"Unique session violation",[4031]:"Session Timeout",[4032]:"Audio too short",[4033]:"Audio too long",[4034]:"Audio too small to transcode",[4101]:"Bad schema",[4102]:"Too many streams",[4103]:"This session has been reconnected. This WebSocket is no longer valid."};class f extends Error{}const y='{"terminate_session":true}';class v{constructor(e){var t,s;if(this.listeners={},this.realtimeUrl=null!==(t=e.realtimeUrl)&&void 0!==t?t:"wss://api.assemblyai.com/v2/realtime/ws",this.sampleRate=null!==(s=e.sampleRate)&&void 0!==s?s:16e3,this.wordBoost=e.wordBoost,this.encoding=e.encoding,this.endUtteranceSilenceThreshold=e.endUtteranceSilenceThreshold,this.disablePartialTranscripts=e.disablePartialTranscripts,"token"in e&&e.token&&(this.token=e.token),"apiKey"in e&&e.apiKey&&(this.apiKey=e.apiKey),!this.token&&!this.apiKey)throw new Error("API key or temporary token is required.")}connectionUrl(){const e=new URL(this.realtimeUrl);if("wss:"!==e.protocol)throw new Error("Invalid protocol, must be wss");const t=new URLSearchParams;return this.token&&t.set("token",this.token),t.set("sample_rate",this.sampleRate.toString()),this.wordBoost&&this.wordBoost.length>0&&t.set("word_boost",JSON.stringify(this.wordBoost)),this.encoding&&t.set("encoding",this.encoding),t.set("enable_extra_session_information","true"),this.disablePartialTranscripts&&t.set("disable_partial_transcripts",this.disablePartialTranscripts.toString()),e.search=t.toString(),e}on(e,t){this.listeners[e]=t}connect(){return new Promise((e=>{if(this.socket)throw new Error("Already connected");const t=this.connectionUrl();this.token?this.socket=h(t.toString()):(console.warn("API key authentication is not supported for the RealtimeTranscriber in browser environment. Use temporary token authentication instead.\nLearn more at https://github.com/AssemblyAI/assemblyai-node-sdk/blob/main/docs/compat.md#browser-compatibility."),this.socket=h(t.toString(),{headers:{Authorization:this.apiKey}})),this.socket.binaryType="arraybuffer",this.socket.onopen=()=>{void 0!==this.endUtteranceSilenceThreshold&&null!==this.endUtteranceSilenceThreshold&&this.configureEndUtteranceSilenceThreshold(this.endUtteranceSilenceThreshold)},this.socket.onclose=({code:e,reason:t})=>{var s,i;t||e in u&&(t=u[e]),null===(i=(s=this.listeners).close)||void 0===i||i.call(s,e,t)},this.socket.onerror=e=>{var t,s,i,n;e.error?null===(s=(t=this.listeners).error)||void 0===s||s.call(t,e.error):null===(n=(i=this.listeners).error)||void 0===n||n.call(i,new Error(e.message))},this.socket.onmessage=({data:t})=>{var s,i,n,r,o,a,c,l,d,h,u,p,f,y,v;const b=JSON.parse(t.toString());if("error"in b)null===(i=(s=this.listeners).error)||void 0===i||i.call(s,new m(b.error));else switch(b.message_type){case"SessionBegins":{const t={sessionId:b.session_id,expiresAt:new Date(b.expires_at)};e(t),null===(r=(n=this.listeners).open)||void 0===r||r.call(n,t);break}case"PartialTranscript":b.created=new Date(b.created),null===(a=(o=this.listeners).transcript)||void 0===a||a.call(o,b),null===(l=(c=this.listeners)["transcript.partial"])||void 0===l||l.call(c,b);break;case"FinalTranscript":b.created=new Date(b.created),null===(h=(d=this.listeners).transcript)||void 0===h||h.call(d,b),null===(p=(u=this.listeners)["transcript.final"])||void 0===p||p.call(u,b);break;case"SessionInformation":null===(y=(f=this.listeners).session_information)||void 0===y||y.call(f,b);break;case"SessionTerminated":null===(v=this.sessionTerminatedResolve)||void 0===v||v.call(this)}}}))}sendAudio(e){this.send(e)}stream(){return new a({write:e=>{this.sendAudio(e)}})}forceEndUtterance(){this.send('{"force_end_utterance":true}')}configureEndUtteranceSilenceThreshold(e){this.send(`{"end_utterance_silence_threshold":${e}}`)}send(e){if(!this.socket||this.socket.readyState!==this.socket.OPEN)throw new Error("Socket is not open for communication");this.socket.send(e)}close(){return t(this,arguments,void 0,(function*(e=!0){var t;if(this.socket){if(this.socket.readyState===this.socket.OPEN)if(e){const e=new Promise((e=>{this.sessionTerminatedResolve=e}));this.socket.send(y),yield e}else this.socket.send(y);(null===(t=this.socket)||void 0===t?void 0:t.removeAllListeners)&&this.socket.removeAllListeners(),this.socket.close()}this.listeners={},this.socket=void 0}))}}class b extends r{constructor(e){super(e),this.rtFactoryParams=e}createService(e){return this.transcriber(e)}transcriber(e){const t=Object.assign({},e);return t.token||t.apiKey||(t.apiKey=this.rtFactoryParams.apiKey),new v(t)}createTemporaryToken(e){return t(this,void 0,void 0,(function*(){return(yield this.fetchJson("/v2/realtime/token",{method:"POST",body:JSON.stringify(e)})).token}))}}function g(e){return e.startsWith("http")||e.startsWith("https")||e.startsWith("data:")?null:e.startsWith("file://")?e.substring(7):e.startsWith("file:")?e.substring(5):e}class w extends r{constructor(e,t){super(e),this.files=t}transcribe(e,s){return t(this,void 0,void 0,(function*(){const t=yield this.submit(e);return yield this.waitUntilReady(t.id,s)}))}submit(e){return t(this,void 0,void 0,(function*(){let t,s;if("audio"in e){const{audio:i}=e,n=function(e,t){var s={};for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&t.indexOf(i)<0&&(s[i]=e[i]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var n=0;for(i=Object.getOwnPropertySymbols(e);n<i.length;n++)t.indexOf(i[n])<0&&Object.prototype.propertyIsEnumerable.call(e,i[n])&&(s[i[n]]=e[i[n]])}return s}(e,["audio"]);if("string"==typeof i){const e=g(i);t=null!==e?yield this.files.upload(e):i.startsWith("data:")?yield this.files.upload(i):i}else t=yield this.files.upload(i);s=Object.assign(Object.assign({},n),{audio_url:t})}else s=e;return yield this.fetchJson("/v2/transcript",{method:"POST",body:JSON.stringify(s)})}))}create(e,s){return t(this,void 0,void 0,(function*(){var t;const i=g(e.audio_url);if(null!==i){const t=yield this.files.upload(i);e.audio_url=t}const n=yield this.fetchJson("/v2/transcript",{method:"POST",body:JSON.stringify(e)});return null===(t=null==s?void 0:s.poll)||void 0===t||t?yield this.waitUntilReady(n.id,s):n}))}waitUntilReady(e,s){return t(this,void 0,void 0,(function*(){var t,i;const n=null!==(t=null==s?void 0:s.pollingInterval)&&void 0!==t?t:3e3,r=null!==(i=null==s?void 0:s.pollingTimeout)&&void 0!==i?i:-1,o=Date.now();for(;;){const t=yield this.get(e);if("completed"===t.status||"error"===t.status)return t;if(r>0&&Date.now()-o>r)throw new Error("Polling timeout");yield new Promise((e=>setTimeout(e,n)))}}))}get(e){return this.fetchJson(`/v2/transcript/${e}`)}list(e){return t(this,void 0,void 0,(function*(){let t="/v2/transcript";"string"==typeof e?t=e:e&&(t=`${t}?${new URLSearchParams(Object.keys(e).map((t=>{var s;return[t,(null===(s=e[t])||void 0===s?void 0:s.toString())||""]})))}`);const s=yield this.fetchJson(t);for(const e of s.transcripts)e.created=new Date(e.created),e.completed&&(e.completed=new Date(e.completed));return s}))}delete(e){return this.fetchJson(`/v2/transcript/${e}`,{method:"DELETE"})}wordSearch(e,t){const s=new URLSearchParams({words:t.join(",")});return this.fetchJson(`/v2/transcript/${e}/word-search?${s.toString()}`)}sentences(e){return this.fetchJson(`/v2/transcript/${e}/sentences`)}paragraphs(e){return this.fetchJson(`/v2/transcript/${e}/paragraphs`)}subtitles(e){return t(this,arguments,void 0,(function*(e,t="srt",s){let i=`/v2/transcript/${e}/${t}`;if(s){const e=new URLSearchParams;e.set("chars_per_caption",s.toString()),i+=`?${e.toString()}`}const n=yield this.fetch(i);return yield n.text()}))}redactions(e){return this.redactedAudio(e)}redactedAudio(e){return this.fetchJson(`/v2/transcript/${e}/redacted-audio`)}redactedAudioFile(e){return t(this,void 0,void 0,(function*(){const{redacted_audio_url:t,status:s}=yield this.redactedAudio(e);if("redacted_audio_ready"!==s)throw new Error(`Redacted audio status is ${s}`);const i=yield fetch(t);if(!i.ok)throw new Error(`Failed to fetch redacted audio: ${i.statusText}`);return{arrayBuffer:i.arrayBuffer.bind(i),blob:i.blob.bind(i),body:i.body,bodyUsed:i.bodyUsed}}))}}class k extends r{upload(e){return t(this,void 0,void 0,(function*(){let s;s="string"==typeof e?e.startsWith("data:")?function(e){const t=e.split(","),s=t[0].match(/:(.*?);/)[1],i=atob(t[1]);let n=i.length;const r=new Uint8Array(n);for(;n--;)r[n]=i.charCodeAt(n);return new Blob([r],{type:s})}(e):yield function(e){return t(this,void 0,void 0,(function*(){throw new Error("Interacting with the file system is not supported in this environment.")}))}():e;return(yield this.fetchJson("/v2/upload",{method:"POST",body:s,headers:{"Content-Type":"application/octet-stream"},duplex:"half"})).upload_url}))}}const S='{"type":"Terminate"}';class T{constructor(e){if(this.listeners={},this.params=Object.assign(Object.assign({},e),{websocketBaseUrl:e.websocketBaseUrl||"wss://streaming.assemblyai.com/v3/ws"}),"token"in e&&e.token&&(this.token=e.token),"apiKey"in e&&e.apiKey&&(this.apiKey=e.apiKey),!this.token&&!this.apiKey)throw new Error("API key or temporary token is required.")}connectionUrl(){var e;const t=new URL(null!==(e=this.params.websocketBaseUrl)&&void 0!==e?e:"");if("wss:"!==t.protocol)throw new Error("Invalid protocol, must be wss");const s=new URLSearchParams;return this.token&&s.set("token",this.token),s.set("sample_rate",this.params.sampleRate.toString()),this.params.endOfTurnConfidenceThreshold&&s.set("end_of_turn_confidence_threshold",this.params.endOfTurnConfidenceThreshold.toString()),this.params.minEndOfTurnSilenceWhenConfident&&s.set("min_end_of_turn_silence_when_confident",this.params.minEndOfTurnSilenceWhenConfident.toString()),this.params.maxTurnSilence&&s.set("max_turn_silence",this.params.maxTurnSilence.toString()),this.params.formatTurns&&s.set("format_turns",this.params.formatTurns.toString()),this.params.encoding&&s.set("encoding",this.params.encoding.toString()),this.params.keytermsPrompt?s.set("keyterms_prompt",JSON.stringify(this.params.keytermsPrompt)):this.params.keyterms&&(console.warn("[Deprecation Warning] `keyterms` is deprecated and will be removed in a future release. Please use `keytermsPrompt` instead."),s.set("keyterms_prompt",JSON.stringify(this.params.keyterms))),this.params.filterProfanity&&s.set("filter_profanity",this.params.filterProfanity.toString()),t.search=s.toString(),t}on(e,t){this.listeners[e]=t}connect(){return new Promise((e=>{if(this.socket)throw new Error("Already connected");const t=this.connectionUrl();this.token?this.socket=h(t.toString()):(console.warn("API key authentication is not supported for the StreamingTranscriber in browser environment. Use temporary token authentication instead.\nLearn more at https://github.com/AssemblyAI/assemblyai-node-sdk/blob/main/docs/compat.md#browser-compatibility."),this.socket=h(t.toString(),{headers:{Authorization:this.apiKey}})),this.socket.binaryType="arraybuffer",this.socket.onopen=()=>{},this.socket.onclose=({code:e,reason:t})=>{var s,i;t||e in p&&(t=p[e]),null===(i=(s=this.listeners).close)||void 0===i||i.call(s,e,t)},this.socket.onerror=e=>{var t,s,i,n;e.error?null===(s=(t=this.listeners).error)||void 0===s||s.call(t,e.error):null===(n=(i=this.listeners).error)||void 0===n||n.call(i,new Error(e.message))},this.socket.onmessage=({data:t})=>{var s,i,n,r,o,a,c;const l=JSON.parse(t.toString());if("error"in l)null===(i=(s=this.listeners).error)||void 0===i||i.call(s,new f(l.error));else switch(l.type){case"Begin":e(l),null===(r=(n=this.listeners).open)||void 0===r||r.call(n,l);break;case"Turn":null===(a=(o=this.listeners).turn)||void 0===a||a.call(o,l);break;case"Termination":null===(c=this.sessionTerminatedResolve)||void 0===c||c.call(this)}}}))}stream(){return new a({write:e=>{this.sendAudio(e)}})}sendAudio(e){this.send(e)}send(e){if(!this.socket||this.socket.readyState!==this.socket.OPEN)throw new Error("Socket is not open for communication");this.socket.send(e)}close(){return t(this,arguments,void 0,(function*(e=!0){var t;if(this.socket){if(this.socket.readyState===this.socket.OPEN)if(e){const e=new Promise((e=>{this.sessionTerminatedResolve=e}));this.socket.send(S),yield e}else this.socket.send(S);(null===(t=this.socket)||void 0===t?void 0:t.removeAllListeners)&&this.socket.removeAllListeners(),this.socket.close()}this.listeners={},this.socket=void 0}))}}class O extends r{constructor(e){super(e),this.baseServiceParams=e}transcriber(e){const t=Object.assign({},e);return t.token||t.apiKey||(t.apiKey=this.baseServiceParams.apiKey),new T(t)}createTemporaryToken(e){return t(this,void 0,void 0,(function*(){const t=new URLSearchParams;Object.entries(e).forEach((([e,s])=>{null!=s&&t.append(e,String(s))}));const s=t.toString(),i=s?`/v3/token?${s}`:"/v3/token";return(yield this.fetchJson(i,{method:"GET"})).token}))}}e.AssemblyAI=class{constructor(e){e.baseUrl=e.baseUrl||"https://api.assemblyai.com",e.baseUrl&&e.baseUrl.endsWith("/")&&(e.baseUrl=e.baseUrl.slice(0,-1)),this.files=new k(e),this.transcripts=new w(e,this.files),this.lemur=new o(e),this.realtime=new b(e),this.streaming=new O(Object.assign(Object.assign({},e),{baseUrl:e.streamingBaseUrl||"https://streaming.assemblyai.com"}))}},e.FileService=k,e.LemurService=o,e.RealtimeService=class extends v{},e.RealtimeServiceFactory=class extends b{},e.RealtimeTranscriber=v,e.RealtimeTranscriberFactory=b,e.StreamingTranscriber=T,e.TranscriptService=w}));
|
package/dist/browser.mjs
CHANGED
|
@@ -15,7 +15,7 @@ if (typeof navigator !== "undefined" && navigator.userAgent) {
|
|
|
15
15
|
defaultUserAgentString += navigator.userAgent;
|
|
16
16
|
}
|
|
17
17
|
const defaultUserAgent = {
|
|
18
|
-
sdk: { name: "JavaScript", version: "4.
|
|
18
|
+
sdk: { name: "JavaScript", version: "4.17.0" },
|
|
19
19
|
};
|
|
20
20
|
if (typeof process !== "undefined") {
|
|
21
21
|
if (process.versions.node && defaultUserAgentString.indexOf("Node") === -1) {
|
|
@@ -103,40 +103,46 @@ class BaseService {
|
|
|
103
103
|
}
|
|
104
104
|
|
|
105
105
|
class LemurService extends BaseService {
|
|
106
|
-
summary(params) {
|
|
106
|
+
summary(params, signal) {
|
|
107
107
|
return this.fetchJson("/lemur/v3/generate/summary", {
|
|
108
108
|
method: "POST",
|
|
109
109
|
body: JSON.stringify(params),
|
|
110
|
+
signal,
|
|
110
111
|
});
|
|
111
112
|
}
|
|
112
|
-
questionAnswer(params) {
|
|
113
|
+
questionAnswer(params, signal) {
|
|
113
114
|
return this.fetchJson("/lemur/v3/generate/question-answer", {
|
|
114
115
|
method: "POST",
|
|
115
116
|
body: JSON.stringify(params),
|
|
117
|
+
signal,
|
|
116
118
|
});
|
|
117
119
|
}
|
|
118
|
-
actionItems(params) {
|
|
120
|
+
actionItems(params, signal) {
|
|
119
121
|
return this.fetchJson("/lemur/v3/generate/action-items", {
|
|
120
122
|
method: "POST",
|
|
121
123
|
body: JSON.stringify(params),
|
|
124
|
+
signal,
|
|
122
125
|
});
|
|
123
126
|
}
|
|
124
|
-
task(params) {
|
|
127
|
+
task(params, signal) {
|
|
125
128
|
return this.fetchJson("/lemur/v3/generate/task", {
|
|
126
129
|
method: "POST",
|
|
127
130
|
body: JSON.stringify(params),
|
|
131
|
+
signal,
|
|
128
132
|
});
|
|
129
133
|
}
|
|
130
|
-
getResponse(id) {
|
|
131
|
-
return this.fetchJson(`/lemur/v3/${id}
|
|
134
|
+
getResponse(id, signal) {
|
|
135
|
+
return this.fetchJson(`/lemur/v3/${id}`, { signal });
|
|
132
136
|
}
|
|
133
137
|
/**
|
|
134
138
|
* Delete the data for a previously submitted LeMUR request.
|
|
135
139
|
* @param id - ID of the LeMUR request
|
|
140
|
+
* @param signal - Optional AbortSignal to cancel the request
|
|
136
141
|
*/
|
|
137
|
-
purgeRequestData(id) {
|
|
142
|
+
purgeRequestData(id, signal) {
|
|
138
143
|
return this.fetchJson(`/lemur/v3/${id}`, {
|
|
139
144
|
method: "DELETE",
|
|
145
|
+
signal,
|
|
140
146
|
});
|
|
141
147
|
}
|
|
142
148
|
}
|
package/dist/bun.mjs
CHANGED
|
@@ -17,7 +17,7 @@ if (typeof navigator !== "undefined" && navigator.userAgent) {
|
|
|
17
17
|
defaultUserAgentString += navigator.userAgent;
|
|
18
18
|
}
|
|
19
19
|
const defaultUserAgent = {
|
|
20
|
-
sdk: { name: "JavaScript", version: "4.
|
|
20
|
+
sdk: { name: "JavaScript", version: "4.17.0" },
|
|
21
21
|
};
|
|
22
22
|
if (typeof process !== "undefined") {
|
|
23
23
|
if (process.versions.node && defaultUserAgentString.indexOf("Node") === -1) {
|
|
@@ -98,40 +98,46 @@ class BaseService {
|
|
|
98
98
|
}
|
|
99
99
|
|
|
100
100
|
class LemurService extends BaseService {
|
|
101
|
-
summary(params) {
|
|
101
|
+
summary(params, signal) {
|
|
102
102
|
return this.fetchJson("/lemur/v3/generate/summary", {
|
|
103
103
|
method: "POST",
|
|
104
104
|
body: JSON.stringify(params),
|
|
105
|
+
signal,
|
|
105
106
|
});
|
|
106
107
|
}
|
|
107
|
-
questionAnswer(params) {
|
|
108
|
+
questionAnswer(params, signal) {
|
|
108
109
|
return this.fetchJson("/lemur/v3/generate/question-answer", {
|
|
109
110
|
method: "POST",
|
|
110
111
|
body: JSON.stringify(params),
|
|
112
|
+
signal,
|
|
111
113
|
});
|
|
112
114
|
}
|
|
113
|
-
actionItems(params) {
|
|
115
|
+
actionItems(params, signal) {
|
|
114
116
|
return this.fetchJson("/lemur/v3/generate/action-items", {
|
|
115
117
|
method: "POST",
|
|
116
118
|
body: JSON.stringify(params),
|
|
119
|
+
signal,
|
|
117
120
|
});
|
|
118
121
|
}
|
|
119
|
-
task(params) {
|
|
122
|
+
task(params, signal) {
|
|
120
123
|
return this.fetchJson("/lemur/v3/generate/task", {
|
|
121
124
|
method: "POST",
|
|
122
125
|
body: JSON.stringify(params),
|
|
126
|
+
signal,
|
|
123
127
|
});
|
|
124
128
|
}
|
|
125
|
-
getResponse(id) {
|
|
126
|
-
return this.fetchJson(`/lemur/v3/${id}
|
|
129
|
+
getResponse(id, signal) {
|
|
130
|
+
return this.fetchJson(`/lemur/v3/${id}`, { signal });
|
|
127
131
|
}
|
|
128
132
|
/**
|
|
129
133
|
* Delete the data for a previously submitted LeMUR request.
|
|
130
134
|
* @param id - ID of the LeMUR request
|
|
135
|
+
* @param signal - Optional AbortSignal to cancel the request
|
|
131
136
|
*/
|
|
132
|
-
purgeRequestData(id) {
|
|
137
|
+
purgeRequestData(id, signal) {
|
|
133
138
|
return this.fetchJson(`/lemur/v3/${id}`, {
|
|
134
139
|
method: "DELETE",
|
|
140
|
+
signal,
|
|
135
141
|
});
|
|
136
142
|
}
|
|
137
143
|
}
|
package/dist/deno.mjs
CHANGED
|
@@ -17,7 +17,7 @@ if (typeof navigator !== "undefined" && navigator.userAgent) {
|
|
|
17
17
|
defaultUserAgentString += navigator.userAgent;
|
|
18
18
|
}
|
|
19
19
|
const defaultUserAgent = {
|
|
20
|
-
sdk: { name: "JavaScript", version: "4.
|
|
20
|
+
sdk: { name: "JavaScript", version: "4.17.0" },
|
|
21
21
|
};
|
|
22
22
|
if (typeof process !== "undefined") {
|
|
23
23
|
if (process.versions.node && defaultUserAgentString.indexOf("Node") === -1) {
|
|
@@ -98,40 +98,46 @@ class BaseService {
|
|
|
98
98
|
}
|
|
99
99
|
|
|
100
100
|
class LemurService extends BaseService {
|
|
101
|
-
summary(params) {
|
|
101
|
+
summary(params, signal) {
|
|
102
102
|
return this.fetchJson("/lemur/v3/generate/summary", {
|
|
103
103
|
method: "POST",
|
|
104
104
|
body: JSON.stringify(params),
|
|
105
|
+
signal,
|
|
105
106
|
});
|
|
106
107
|
}
|
|
107
|
-
questionAnswer(params) {
|
|
108
|
+
questionAnswer(params, signal) {
|
|
108
109
|
return this.fetchJson("/lemur/v3/generate/question-answer", {
|
|
109
110
|
method: "POST",
|
|
110
111
|
body: JSON.stringify(params),
|
|
112
|
+
signal,
|
|
111
113
|
});
|
|
112
114
|
}
|
|
113
|
-
actionItems(params) {
|
|
115
|
+
actionItems(params, signal) {
|
|
114
116
|
return this.fetchJson("/lemur/v3/generate/action-items", {
|
|
115
117
|
method: "POST",
|
|
116
118
|
body: JSON.stringify(params),
|
|
119
|
+
signal,
|
|
117
120
|
});
|
|
118
121
|
}
|
|
119
|
-
task(params) {
|
|
122
|
+
task(params, signal) {
|
|
120
123
|
return this.fetchJson("/lemur/v3/generate/task", {
|
|
121
124
|
method: "POST",
|
|
122
125
|
body: JSON.stringify(params),
|
|
126
|
+
signal,
|
|
123
127
|
});
|
|
124
128
|
}
|
|
125
|
-
getResponse(id) {
|
|
126
|
-
return this.fetchJson(`/lemur/v3/${id}
|
|
129
|
+
getResponse(id, signal) {
|
|
130
|
+
return this.fetchJson(`/lemur/v3/${id}`, { signal });
|
|
127
131
|
}
|
|
128
132
|
/**
|
|
129
133
|
* Delete the data for a previously submitted LeMUR request.
|
|
130
134
|
* @param id - ID of the LeMUR request
|
|
135
|
+
* @param signal - Optional AbortSignal to cancel the request
|
|
131
136
|
*/
|
|
132
|
-
purgeRequestData(id) {
|
|
137
|
+
purgeRequestData(id, signal) {
|
|
133
138
|
return this.fetchJson(`/lemur/v3/${id}`, {
|
|
134
139
|
method: "DELETE",
|
|
140
|
+
signal,
|
|
135
141
|
});
|
|
136
142
|
}
|
|
137
143
|
}
|
package/dist/index.cjs
CHANGED
|
@@ -63,7 +63,7 @@ if (typeof navigator !== "undefined" && navigator.userAgent) {
|
|
|
63
63
|
defaultUserAgentString += navigator.userAgent;
|
|
64
64
|
}
|
|
65
65
|
const defaultUserAgent = {
|
|
66
|
-
sdk: { name: "JavaScript", version: "4.
|
|
66
|
+
sdk: { name: "JavaScript", version: "4.17.0" },
|
|
67
67
|
};
|
|
68
68
|
if (typeof process !== "undefined") {
|
|
69
69
|
if (process.versions.node && defaultUserAgentString.indexOf("Node") === -1) {
|
|
@@ -155,40 +155,46 @@ class BaseService {
|
|
|
155
155
|
}
|
|
156
156
|
|
|
157
157
|
class LemurService extends BaseService {
|
|
158
|
-
summary(params) {
|
|
158
|
+
summary(params, signal) {
|
|
159
159
|
return this.fetchJson("/lemur/v3/generate/summary", {
|
|
160
160
|
method: "POST",
|
|
161
161
|
body: JSON.stringify(params),
|
|
162
|
+
signal,
|
|
162
163
|
});
|
|
163
164
|
}
|
|
164
|
-
questionAnswer(params) {
|
|
165
|
+
questionAnswer(params, signal) {
|
|
165
166
|
return this.fetchJson("/lemur/v3/generate/question-answer", {
|
|
166
167
|
method: "POST",
|
|
167
168
|
body: JSON.stringify(params),
|
|
169
|
+
signal,
|
|
168
170
|
});
|
|
169
171
|
}
|
|
170
|
-
actionItems(params) {
|
|
172
|
+
actionItems(params, signal) {
|
|
171
173
|
return this.fetchJson("/lemur/v3/generate/action-items", {
|
|
172
174
|
method: "POST",
|
|
173
175
|
body: JSON.stringify(params),
|
|
176
|
+
signal,
|
|
174
177
|
});
|
|
175
178
|
}
|
|
176
|
-
task(params) {
|
|
179
|
+
task(params, signal) {
|
|
177
180
|
return this.fetchJson("/lemur/v3/generate/task", {
|
|
178
181
|
method: "POST",
|
|
179
182
|
body: JSON.stringify(params),
|
|
183
|
+
signal,
|
|
180
184
|
});
|
|
181
185
|
}
|
|
182
|
-
getResponse(id) {
|
|
183
|
-
return this.fetchJson(`/lemur/v3/${id}
|
|
186
|
+
getResponse(id, signal) {
|
|
187
|
+
return this.fetchJson(`/lemur/v3/${id}`, { signal });
|
|
184
188
|
}
|
|
185
189
|
/**
|
|
186
190
|
* Delete the data for a previously submitted LeMUR request.
|
|
187
191
|
* @param id - ID of the LeMUR request
|
|
192
|
+
* @param signal - Optional AbortSignal to cancel the request
|
|
188
193
|
*/
|
|
189
|
-
purgeRequestData(id) {
|
|
194
|
+
purgeRequestData(id, signal) {
|
|
190
195
|
return this.fetchJson(`/lemur/v3/${id}`, {
|
|
191
196
|
method: "DELETE",
|
|
197
|
+
signal,
|
|
192
198
|
});
|
|
193
199
|
}
|
|
194
200
|
}
|
package/dist/index.mjs
CHANGED
|
@@ -61,7 +61,7 @@ if (typeof navigator !== "undefined" && navigator.userAgent) {
|
|
|
61
61
|
defaultUserAgentString += navigator.userAgent;
|
|
62
62
|
}
|
|
63
63
|
const defaultUserAgent = {
|
|
64
|
-
sdk: { name: "JavaScript", version: "4.
|
|
64
|
+
sdk: { name: "JavaScript", version: "4.17.0" },
|
|
65
65
|
};
|
|
66
66
|
if (typeof process !== "undefined") {
|
|
67
67
|
if (process.versions.node && defaultUserAgentString.indexOf("Node") === -1) {
|
|
@@ -153,40 +153,46 @@ class BaseService {
|
|
|
153
153
|
}
|
|
154
154
|
|
|
155
155
|
class LemurService extends BaseService {
|
|
156
|
-
summary(params) {
|
|
156
|
+
summary(params, signal) {
|
|
157
157
|
return this.fetchJson("/lemur/v3/generate/summary", {
|
|
158
158
|
method: "POST",
|
|
159
159
|
body: JSON.stringify(params),
|
|
160
|
+
signal,
|
|
160
161
|
});
|
|
161
162
|
}
|
|
162
|
-
questionAnswer(params) {
|
|
163
|
+
questionAnswer(params, signal) {
|
|
163
164
|
return this.fetchJson("/lemur/v3/generate/question-answer", {
|
|
164
165
|
method: "POST",
|
|
165
166
|
body: JSON.stringify(params),
|
|
167
|
+
signal,
|
|
166
168
|
});
|
|
167
169
|
}
|
|
168
|
-
actionItems(params) {
|
|
170
|
+
actionItems(params, signal) {
|
|
169
171
|
return this.fetchJson("/lemur/v3/generate/action-items", {
|
|
170
172
|
method: "POST",
|
|
171
173
|
body: JSON.stringify(params),
|
|
174
|
+
signal,
|
|
172
175
|
});
|
|
173
176
|
}
|
|
174
|
-
task(params) {
|
|
177
|
+
task(params, signal) {
|
|
175
178
|
return this.fetchJson("/lemur/v3/generate/task", {
|
|
176
179
|
method: "POST",
|
|
177
180
|
body: JSON.stringify(params),
|
|
181
|
+
signal,
|
|
178
182
|
});
|
|
179
183
|
}
|
|
180
|
-
getResponse(id) {
|
|
181
|
-
return this.fetchJson(`/lemur/v3/${id}
|
|
184
|
+
getResponse(id, signal) {
|
|
185
|
+
return this.fetchJson(`/lemur/v3/${id}`, { signal });
|
|
182
186
|
}
|
|
183
187
|
/**
|
|
184
188
|
* Delete the data for a previously submitted LeMUR request.
|
|
185
189
|
* @param id - ID of the LeMUR request
|
|
190
|
+
* @param signal - Optional AbortSignal to cancel the request
|
|
186
191
|
*/
|
|
187
|
-
purgeRequestData(id) {
|
|
192
|
+
purgeRequestData(id, signal) {
|
|
188
193
|
return this.fetchJson(`/lemur/v3/${id}`, {
|
|
189
194
|
method: "DELETE",
|
|
195
|
+
signal,
|
|
190
196
|
});
|
|
191
197
|
}
|
|
192
198
|
}
|
package/dist/node.cjs
CHANGED
|
@@ -22,7 +22,7 @@ if (typeof navigator !== "undefined" && navigator.userAgent) {
|
|
|
22
22
|
defaultUserAgentString += navigator.userAgent;
|
|
23
23
|
}
|
|
24
24
|
const defaultUserAgent = {
|
|
25
|
-
sdk: { name: "JavaScript", version: "4.
|
|
25
|
+
sdk: { name: "JavaScript", version: "4.17.0" },
|
|
26
26
|
};
|
|
27
27
|
if (typeof process !== "undefined") {
|
|
28
28
|
if (process.versions.node && defaultUserAgentString.indexOf("Node") === -1) {
|
|
@@ -103,40 +103,46 @@ class BaseService {
|
|
|
103
103
|
}
|
|
104
104
|
|
|
105
105
|
class LemurService extends BaseService {
|
|
106
|
-
summary(params) {
|
|
106
|
+
summary(params, signal) {
|
|
107
107
|
return this.fetchJson("/lemur/v3/generate/summary", {
|
|
108
108
|
method: "POST",
|
|
109
109
|
body: JSON.stringify(params),
|
|
110
|
+
signal,
|
|
110
111
|
});
|
|
111
112
|
}
|
|
112
|
-
questionAnswer(params) {
|
|
113
|
+
questionAnswer(params, signal) {
|
|
113
114
|
return this.fetchJson("/lemur/v3/generate/question-answer", {
|
|
114
115
|
method: "POST",
|
|
115
116
|
body: JSON.stringify(params),
|
|
117
|
+
signal,
|
|
116
118
|
});
|
|
117
119
|
}
|
|
118
|
-
actionItems(params) {
|
|
120
|
+
actionItems(params, signal) {
|
|
119
121
|
return this.fetchJson("/lemur/v3/generate/action-items", {
|
|
120
122
|
method: "POST",
|
|
121
123
|
body: JSON.stringify(params),
|
|
124
|
+
signal,
|
|
122
125
|
});
|
|
123
126
|
}
|
|
124
|
-
task(params) {
|
|
127
|
+
task(params, signal) {
|
|
125
128
|
return this.fetchJson("/lemur/v3/generate/task", {
|
|
126
129
|
method: "POST",
|
|
127
130
|
body: JSON.stringify(params),
|
|
131
|
+
signal,
|
|
128
132
|
});
|
|
129
133
|
}
|
|
130
|
-
getResponse(id) {
|
|
131
|
-
return this.fetchJson(`/lemur/v3/${id}
|
|
134
|
+
getResponse(id, signal) {
|
|
135
|
+
return this.fetchJson(`/lemur/v3/${id}`, { signal });
|
|
132
136
|
}
|
|
133
137
|
/**
|
|
134
138
|
* Delete the data for a previously submitted LeMUR request.
|
|
135
139
|
* @param id - ID of the LeMUR request
|
|
140
|
+
* @param signal - Optional AbortSignal to cancel the request
|
|
136
141
|
*/
|
|
137
|
-
purgeRequestData(id) {
|
|
142
|
+
purgeRequestData(id, signal) {
|
|
138
143
|
return this.fetchJson(`/lemur/v3/${id}`, {
|
|
139
144
|
method: "DELETE",
|
|
145
|
+
signal,
|
|
140
146
|
});
|
|
141
147
|
}
|
|
142
148
|
}
|
package/dist/node.mjs
CHANGED
|
@@ -20,7 +20,7 @@ if (typeof navigator !== "undefined" && navigator.userAgent) {
|
|
|
20
20
|
defaultUserAgentString += navigator.userAgent;
|
|
21
21
|
}
|
|
22
22
|
const defaultUserAgent = {
|
|
23
|
-
sdk: { name: "JavaScript", version: "4.
|
|
23
|
+
sdk: { name: "JavaScript", version: "4.17.0" },
|
|
24
24
|
};
|
|
25
25
|
if (typeof process !== "undefined") {
|
|
26
26
|
if (process.versions.node && defaultUserAgentString.indexOf("Node") === -1) {
|
|
@@ -101,40 +101,46 @@ class BaseService {
|
|
|
101
101
|
}
|
|
102
102
|
|
|
103
103
|
class LemurService extends BaseService {
|
|
104
|
-
summary(params) {
|
|
104
|
+
summary(params, signal) {
|
|
105
105
|
return this.fetchJson("/lemur/v3/generate/summary", {
|
|
106
106
|
method: "POST",
|
|
107
107
|
body: JSON.stringify(params),
|
|
108
|
+
signal,
|
|
108
109
|
});
|
|
109
110
|
}
|
|
110
|
-
questionAnswer(params) {
|
|
111
|
+
questionAnswer(params, signal) {
|
|
111
112
|
return this.fetchJson("/lemur/v3/generate/question-answer", {
|
|
112
113
|
method: "POST",
|
|
113
114
|
body: JSON.stringify(params),
|
|
115
|
+
signal,
|
|
114
116
|
});
|
|
115
117
|
}
|
|
116
|
-
actionItems(params) {
|
|
118
|
+
actionItems(params, signal) {
|
|
117
119
|
return this.fetchJson("/lemur/v3/generate/action-items", {
|
|
118
120
|
method: "POST",
|
|
119
121
|
body: JSON.stringify(params),
|
|
122
|
+
signal,
|
|
120
123
|
});
|
|
121
124
|
}
|
|
122
|
-
task(params) {
|
|
125
|
+
task(params, signal) {
|
|
123
126
|
return this.fetchJson("/lemur/v3/generate/task", {
|
|
124
127
|
method: "POST",
|
|
125
128
|
body: JSON.stringify(params),
|
|
129
|
+
signal,
|
|
126
130
|
});
|
|
127
131
|
}
|
|
128
|
-
getResponse(id) {
|
|
129
|
-
return this.fetchJson(`/lemur/v3/${id}
|
|
132
|
+
getResponse(id, signal) {
|
|
133
|
+
return this.fetchJson(`/lemur/v3/${id}`, { signal });
|
|
130
134
|
}
|
|
131
135
|
/**
|
|
132
136
|
* Delete the data for a previously submitted LeMUR request.
|
|
133
137
|
* @param id - ID of the LeMUR request
|
|
138
|
+
* @param signal - Optional AbortSignal to cancel the request
|
|
134
139
|
*/
|
|
135
|
-
purgeRequestData(id) {
|
|
140
|
+
purgeRequestData(id, signal) {
|
|
136
141
|
return this.fetchJson(`/lemur/v3/${id}`, {
|
|
137
142
|
method: "DELETE",
|
|
143
|
+
signal,
|
|
138
144
|
});
|
|
139
145
|
}
|
|
140
146
|
}
|
|
@@ -1,20 +1,22 @@
|
|
|
1
1
|
import { LemurSummaryParams, LemurActionItemsParams, LemurQuestionAnswerParams, LemurTaskParams, LemurSummaryResponse, LemurQuestionAnswerResponse, LemurActionItemsResponse, LemurTaskResponse, PurgeLemurRequestDataResponse, LemurResponse } from "../..";
|
|
2
2
|
import { BaseService } from "../base";
|
|
3
3
|
export declare class LemurService extends BaseService {
|
|
4
|
-
summary(params: LemurSummaryParams): Promise<LemurSummaryResponse>;
|
|
5
|
-
questionAnswer(params: LemurQuestionAnswerParams): Promise<LemurQuestionAnswerResponse>;
|
|
6
|
-
actionItems(params: LemurActionItemsParams): Promise<LemurActionItemsResponse>;
|
|
7
|
-
task(params: LemurTaskParams): Promise<LemurTaskResponse>;
|
|
4
|
+
summary(params: LemurSummaryParams, signal?: AbortSignal): Promise<LemurSummaryResponse>;
|
|
5
|
+
questionAnswer(params: LemurQuestionAnswerParams, signal?: AbortSignal): Promise<LemurQuestionAnswerResponse>;
|
|
6
|
+
actionItems(params: LemurActionItemsParams, signal?: AbortSignal): Promise<LemurActionItemsResponse>;
|
|
7
|
+
task(params: LemurTaskParams, signal?: AbortSignal): Promise<LemurTaskResponse>;
|
|
8
8
|
/**
|
|
9
9
|
* Retrieve a LeMUR response that was previously generated.
|
|
10
10
|
* @param id - The ID of the LeMUR request you previously made. This would be found in the response of the original request.
|
|
11
|
+
* @param signal - Optional AbortSignal to cancel the request
|
|
11
12
|
* @returns The LeMUR response.
|
|
12
13
|
*/
|
|
13
|
-
getResponse<T extends LemurResponse>(id: string): Promise<T>;
|
|
14
|
-
getResponse(id: string): Promise<LemurResponse>;
|
|
14
|
+
getResponse<T extends LemurResponse>(id: string, signal?: AbortSignal): Promise<T>;
|
|
15
|
+
getResponse(id: string, signal?: AbortSignal): Promise<LemurResponse>;
|
|
15
16
|
/**
|
|
16
17
|
* Delete the data for a previously submitted LeMUR request.
|
|
17
18
|
* @param id - ID of the LeMUR request
|
|
19
|
+
* @param signal - Optional AbortSignal to cancel the request
|
|
18
20
|
*/
|
|
19
|
-
purgeRequestData(id: string): Promise<PurgeLemurRequestDataResponse>;
|
|
21
|
+
purgeRequestData(id: string, signal?: AbortSignal): Promise<PurgeLemurRequestDataResponse>;
|
|
20
22
|
}
|
package/dist/workerd.mjs
CHANGED
|
@@ -15,7 +15,7 @@ if (typeof navigator !== "undefined" && navigator.userAgent) {
|
|
|
15
15
|
defaultUserAgentString += navigator.userAgent;
|
|
16
16
|
}
|
|
17
17
|
const defaultUserAgent = {
|
|
18
|
-
sdk: { name: "JavaScript", version: "4.
|
|
18
|
+
sdk: { name: "JavaScript", version: "4.17.0" },
|
|
19
19
|
};
|
|
20
20
|
if (typeof process !== "undefined") {
|
|
21
21
|
if (process.versions.node && defaultUserAgentString.indexOf("Node") === -1) {
|
|
@@ -96,40 +96,46 @@ class BaseService {
|
|
|
96
96
|
}
|
|
97
97
|
|
|
98
98
|
class LemurService extends BaseService {
|
|
99
|
-
summary(params) {
|
|
99
|
+
summary(params, signal) {
|
|
100
100
|
return this.fetchJson("/lemur/v3/generate/summary", {
|
|
101
101
|
method: "POST",
|
|
102
102
|
body: JSON.stringify(params),
|
|
103
|
+
signal,
|
|
103
104
|
});
|
|
104
105
|
}
|
|
105
|
-
questionAnswer(params) {
|
|
106
|
+
questionAnswer(params, signal) {
|
|
106
107
|
return this.fetchJson("/lemur/v3/generate/question-answer", {
|
|
107
108
|
method: "POST",
|
|
108
109
|
body: JSON.stringify(params),
|
|
110
|
+
signal,
|
|
109
111
|
});
|
|
110
112
|
}
|
|
111
|
-
actionItems(params) {
|
|
113
|
+
actionItems(params, signal) {
|
|
112
114
|
return this.fetchJson("/lemur/v3/generate/action-items", {
|
|
113
115
|
method: "POST",
|
|
114
116
|
body: JSON.stringify(params),
|
|
117
|
+
signal,
|
|
115
118
|
});
|
|
116
119
|
}
|
|
117
|
-
task(params) {
|
|
120
|
+
task(params, signal) {
|
|
118
121
|
return this.fetchJson("/lemur/v3/generate/task", {
|
|
119
122
|
method: "POST",
|
|
120
123
|
body: JSON.stringify(params),
|
|
124
|
+
signal,
|
|
121
125
|
});
|
|
122
126
|
}
|
|
123
|
-
getResponse(id) {
|
|
124
|
-
return this.fetchJson(`/lemur/v3/${id}
|
|
127
|
+
getResponse(id, signal) {
|
|
128
|
+
return this.fetchJson(`/lemur/v3/${id}`, { signal });
|
|
125
129
|
}
|
|
126
130
|
/**
|
|
127
131
|
* Delete the data for a previously submitted LeMUR request.
|
|
128
132
|
* @param id - ID of the LeMUR request
|
|
133
|
+
* @param signal - Optional AbortSignal to cancel the request
|
|
129
134
|
*/
|
|
130
|
-
purgeRequestData(id) {
|
|
135
|
+
purgeRequestData(id, signal) {
|
|
131
136
|
return this.fetchJson(`/lemur/v3/${id}`, {
|
|
132
137
|
method: "DELETE",
|
|
138
|
+
signal,
|
|
133
139
|
});
|
|
134
140
|
}
|
|
135
141
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "assemblyai",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.17.0",
|
|
4
4
|
"description": "The AssemblyAI JavaScript SDK provides an easy-to-use interface for interacting with the AssemblyAI API, which supports async and real-time transcription, as well as the latest LeMUR models.",
|
|
5
5
|
"engines": {
|
|
6
6
|
"node": ">=18"
|
|
@@ -13,62 +13,83 @@ import {
|
|
|
13
13
|
import { BaseService } from "../base";
|
|
14
14
|
|
|
15
15
|
export class LemurService extends BaseService {
|
|
16
|
-
summary(
|
|
16
|
+
summary(
|
|
17
|
+
params: LemurSummaryParams,
|
|
18
|
+
signal?: AbortSignal,
|
|
19
|
+
): Promise<LemurSummaryResponse> {
|
|
17
20
|
return this.fetchJson<LemurSummaryResponse>("/lemur/v3/generate/summary", {
|
|
18
21
|
method: "POST",
|
|
19
22
|
body: JSON.stringify(params),
|
|
23
|
+
signal,
|
|
20
24
|
});
|
|
21
25
|
}
|
|
22
26
|
|
|
23
27
|
questionAnswer(
|
|
24
28
|
params: LemurQuestionAnswerParams,
|
|
29
|
+
signal?: AbortSignal,
|
|
25
30
|
): Promise<LemurQuestionAnswerResponse> {
|
|
26
31
|
return this.fetchJson<LemurQuestionAnswerResponse>(
|
|
27
32
|
"/lemur/v3/generate/question-answer",
|
|
28
33
|
{
|
|
29
34
|
method: "POST",
|
|
30
35
|
body: JSON.stringify(params),
|
|
36
|
+
signal,
|
|
31
37
|
},
|
|
32
38
|
);
|
|
33
39
|
}
|
|
34
40
|
|
|
35
41
|
actionItems(
|
|
36
42
|
params: LemurActionItemsParams,
|
|
43
|
+
signal?: AbortSignal,
|
|
37
44
|
): Promise<LemurActionItemsResponse> {
|
|
38
45
|
return this.fetchJson<LemurActionItemsResponse>(
|
|
39
46
|
"/lemur/v3/generate/action-items",
|
|
40
47
|
{
|
|
41
48
|
method: "POST",
|
|
42
49
|
body: JSON.stringify(params),
|
|
50
|
+
signal,
|
|
43
51
|
},
|
|
44
52
|
);
|
|
45
53
|
}
|
|
46
54
|
|
|
47
|
-
task(
|
|
55
|
+
task(
|
|
56
|
+
params: LemurTaskParams,
|
|
57
|
+
signal?: AbortSignal,
|
|
58
|
+
): Promise<LemurTaskResponse> {
|
|
48
59
|
return this.fetchJson<LemurTaskResponse>("/lemur/v3/generate/task", {
|
|
49
60
|
method: "POST",
|
|
50
61
|
body: JSON.stringify(params),
|
|
62
|
+
signal,
|
|
51
63
|
});
|
|
52
64
|
}
|
|
53
65
|
|
|
54
66
|
/**
|
|
55
67
|
* Retrieve a LeMUR response that was previously generated.
|
|
56
68
|
* @param id - The ID of the LeMUR request you previously made. This would be found in the response of the original request.
|
|
69
|
+
* @param signal - Optional AbortSignal to cancel the request
|
|
57
70
|
* @returns The LeMUR response.
|
|
58
71
|
*/
|
|
59
|
-
getResponse<T extends LemurResponse>(
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
72
|
+
getResponse<T extends LemurResponse>(
|
|
73
|
+
id: string,
|
|
74
|
+
signal?: AbortSignal,
|
|
75
|
+
): Promise<T>;
|
|
76
|
+
getResponse(id: string, signal?: AbortSignal): Promise<LemurResponse>;
|
|
77
|
+
getResponse(id: string, signal?: AbortSignal): Promise<LemurResponse> {
|
|
78
|
+
return this.fetchJson<LemurResponse>(`/lemur/v3/${id}`, { signal });
|
|
63
79
|
}
|
|
64
80
|
|
|
65
81
|
/**
|
|
66
82
|
* Delete the data for a previously submitted LeMUR request.
|
|
67
83
|
* @param id - ID of the LeMUR request
|
|
84
|
+
* @param signal - Optional AbortSignal to cancel the request
|
|
68
85
|
*/
|
|
69
|
-
purgeRequestData(
|
|
86
|
+
purgeRequestData(
|
|
87
|
+
id: string,
|
|
88
|
+
signal?: AbortSignal,
|
|
89
|
+
): Promise<PurgeLemurRequestDataResponse> {
|
|
70
90
|
return this.fetchJson<PurgeLemurRequestDataResponse>(`/lemur/v3/${id}`, {
|
|
71
91
|
method: "DELETE",
|
|
92
|
+
signal,
|
|
72
93
|
});
|
|
73
94
|
}
|
|
74
95
|
}
|
|
@@ -118,7 +118,10 @@ export class StreamingTranscriber {
|
|
|
118
118
|
}
|
|
119
119
|
|
|
120
120
|
if (this.params.filterProfanity) {
|
|
121
|
-
searchParams.set(
|
|
121
|
+
searchParams.set(
|
|
122
|
+
"filter_profanity",
|
|
123
|
+
this.params.filterProfanity.toString(),
|
|
124
|
+
);
|
|
122
125
|
}
|
|
123
126
|
|
|
124
127
|
url.search = searchParams.toString();
|