assemblyai 4.18.0 → 4.18.2
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 +1 -1
- package/dist/assemblyai.umd.min.js +1 -1
- package/dist/browser.mjs +1 -1
- package/dist/bun.mjs +1 -1
- package/dist/deno.mjs +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.mjs +1 -1
- package/dist/node.cjs +1 -1
- package/dist/node.mjs +1 -1
- package/dist/types/openapi.generated.d.ts +171 -1
- package/dist/workerd.mjs +1 -1
- package/package.json +1 -1
- package/src/types/openapi.generated.ts +184 -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.18.
|
|
68
|
+
sdk: { name: "JavaScript", version: "4.18.2" },
|
|
69
69
|
};
|
|
70
70
|
if (typeof process !== "undefined") {
|
|
71
71
|
if (process.versions.node && defaultUserAgentString.indexOf("Node") === -1) {
|
|
@@ -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(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.18.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}));
|
|
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.18.2"}};"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.
|
|
18
|
+
sdk: { name: "JavaScript", version: "4.18.2" },
|
|
19
19
|
};
|
|
20
20
|
if (typeof process !== "undefined") {
|
|
21
21
|
if (process.versions.node && defaultUserAgentString.indexOf("Node") === -1) {
|
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.18.
|
|
20
|
+
sdk: { name: "JavaScript", version: "4.18.2" },
|
|
21
21
|
};
|
|
22
22
|
if (typeof process !== "undefined") {
|
|
23
23
|
if (process.versions.node && defaultUserAgentString.indexOf("Node") === -1) {
|
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.18.
|
|
20
|
+
sdk: { name: "JavaScript", version: "4.18.2" },
|
|
21
21
|
};
|
|
22
22
|
if (typeof process !== "undefined") {
|
|
23
23
|
if (process.versions.node && defaultUserAgentString.indexOf("Node") === -1) {
|
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.18.
|
|
66
|
+
sdk: { name: "JavaScript", version: "4.18.2" },
|
|
67
67
|
};
|
|
68
68
|
if (typeof process !== "undefined") {
|
|
69
69
|
if (process.versions.node && defaultUserAgentString.indexOf("Node") === -1) {
|
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.18.
|
|
64
|
+
sdk: { name: "JavaScript", version: "4.18.2" },
|
|
65
65
|
};
|
|
66
66
|
if (typeof process !== "undefined") {
|
|
67
67
|
if (process.versions.node && defaultUserAgentString.indexOf("Node") === -1) {
|
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.18.
|
|
25
|
+
sdk: { name: "JavaScript", version: "4.18.2" },
|
|
26
26
|
};
|
|
27
27
|
if (typeof process !== "undefined") {
|
|
28
28
|
if (process.versions.node && defaultUserAgentString.indexOf("Node") === -1) {
|
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.18.
|
|
23
|
+
sdk: { name: "JavaScript", version: "4.18.2" },
|
|
24
24
|
};
|
|
25
25
|
if (typeof process !== "undefined") {
|
|
26
26
|
if (process.versions.node && defaultUserAgentString.indexOf("Node") === -1) {
|
|
@@ -935,7 +935,7 @@ export type ListTranscriptParams = {
|
|
|
935
935
|
/**
|
|
936
936
|
* Only get throttled transcripts, overrides the status filter
|
|
937
937
|
* @defaultValue false
|
|
938
|
-
* @deprecated
|
|
938
|
+
* @deprecated This parameter is no longer supported and will be removed in a future version.
|
|
939
939
|
*/
|
|
940
940
|
throttled_only?: boolean;
|
|
941
941
|
};
|
|
@@ -1321,6 +1321,156 @@ export type SeverityScoreSummary = {
|
|
|
1321
1321
|
low: number;
|
|
1322
1322
|
medium: number;
|
|
1323
1323
|
};
|
|
1324
|
+
/**
|
|
1325
|
+
* Speaker identification type for speech understanding
|
|
1326
|
+
*/
|
|
1327
|
+
export type SpeakerType = "role" | "name";
|
|
1328
|
+
/**
|
|
1329
|
+
* Speaker identification configuration for speech understanding
|
|
1330
|
+
*/
|
|
1331
|
+
export type SpeakerIdentificationRequest = {
|
|
1332
|
+
/**
|
|
1333
|
+
* The type of speaker identification to perform
|
|
1334
|
+
*/
|
|
1335
|
+
speaker_type: SpeakerType;
|
|
1336
|
+
/**
|
|
1337
|
+
* Known speaker values (required when speaker_type is 'role')
|
|
1338
|
+
*/
|
|
1339
|
+
known_values?: string[];
|
|
1340
|
+
};
|
|
1341
|
+
/**
|
|
1342
|
+
* Translation configuration for speech understanding
|
|
1343
|
+
*/
|
|
1344
|
+
export type TranslationRequest = {
|
|
1345
|
+
/**
|
|
1346
|
+
* List of target language codes to translate the transcript into
|
|
1347
|
+
*/
|
|
1348
|
+
target_languages: string[];
|
|
1349
|
+
/**
|
|
1350
|
+
* Whether to use formal language in translations (default: false)
|
|
1351
|
+
*/
|
|
1352
|
+
formal?: boolean;
|
|
1353
|
+
/**
|
|
1354
|
+
* Whether to match the original utterance structure in translations (default: false)
|
|
1355
|
+
*/
|
|
1356
|
+
match_original_utterance?: boolean;
|
|
1357
|
+
};
|
|
1358
|
+
/**
|
|
1359
|
+
* Custom formatting configuration for speech understanding
|
|
1360
|
+
*/
|
|
1361
|
+
export type CustomFormattingRequest = {
|
|
1362
|
+
/**
|
|
1363
|
+
* Custom date format pattern (e.g., 'mm/dd/yyyy')
|
|
1364
|
+
*/
|
|
1365
|
+
date?: string;
|
|
1366
|
+
/**
|
|
1367
|
+
* Custom phone number format pattern (e.g., '(xxx)xxx-xxxx')
|
|
1368
|
+
*/
|
|
1369
|
+
phone_number?: string;
|
|
1370
|
+
/**
|
|
1371
|
+
* Custom email format pattern (e.g., 'username\@domain.com')
|
|
1372
|
+
*/
|
|
1373
|
+
email?: string;
|
|
1374
|
+
};
|
|
1375
|
+
/**
|
|
1376
|
+
* Speech understanding feature requests grouped together
|
|
1377
|
+
*/
|
|
1378
|
+
export type SpeechUnderstandingFeatureRequests = {
|
|
1379
|
+
/**
|
|
1380
|
+
* Speaker identification configuration
|
|
1381
|
+
*/
|
|
1382
|
+
speaker_identification?: SpeakerIdentificationRequest;
|
|
1383
|
+
/**
|
|
1384
|
+
* Translation configuration
|
|
1385
|
+
*/
|
|
1386
|
+
translation?: TranslationRequest;
|
|
1387
|
+
/**
|
|
1388
|
+
* Custom formatting configuration
|
|
1389
|
+
*/
|
|
1390
|
+
custom_formatting?: CustomFormattingRequest;
|
|
1391
|
+
};
|
|
1392
|
+
/**
|
|
1393
|
+
* Speech understanding request configuration for LLM Gateway features
|
|
1394
|
+
*/
|
|
1395
|
+
export type SpeechUnderstandingRequest = {
|
|
1396
|
+
/**
|
|
1397
|
+
* The speech understanding feature requests
|
|
1398
|
+
*/
|
|
1399
|
+
request?: SpeechUnderstandingFeatureRequests;
|
|
1400
|
+
};
|
|
1401
|
+
/**
|
|
1402
|
+
* Speaker identification response containing status and mapping
|
|
1403
|
+
*/
|
|
1404
|
+
export type SpeakerIdentificationResponse = {
|
|
1405
|
+
/**
|
|
1406
|
+
* Status of the speaker identification feature (e.g., 'success')
|
|
1407
|
+
*/
|
|
1408
|
+
status: string;
|
|
1409
|
+
/**
|
|
1410
|
+
* Mapping of original speaker labels to identified speaker labels
|
|
1411
|
+
*/
|
|
1412
|
+
mapping?: Record<string, string>;
|
|
1413
|
+
};
|
|
1414
|
+
/**
|
|
1415
|
+
* Translation response containing status
|
|
1416
|
+
*/
|
|
1417
|
+
export type TranslationResponse = {
|
|
1418
|
+
/**
|
|
1419
|
+
* Status of the translation feature
|
|
1420
|
+
*/
|
|
1421
|
+
status: string;
|
|
1422
|
+
};
|
|
1423
|
+
/**
|
|
1424
|
+
* Custom formatting response containing mapping and formatted texts
|
|
1425
|
+
*/
|
|
1426
|
+
export type CustomFormattingResponse = {
|
|
1427
|
+
/**
|
|
1428
|
+
* Mapping of original entities to formatted entities
|
|
1429
|
+
*/
|
|
1430
|
+
mapping?: Record<string, string>;
|
|
1431
|
+
/**
|
|
1432
|
+
* Full transcript text with formatted entities
|
|
1433
|
+
*/
|
|
1434
|
+
formatted_text?: string;
|
|
1435
|
+
/**
|
|
1436
|
+
* List of utterances with formatted text
|
|
1437
|
+
*/
|
|
1438
|
+
formatted_utterances?: Record<string, unknown>[];
|
|
1439
|
+
/**
|
|
1440
|
+
* Status of the custom formatting feature
|
|
1441
|
+
*/
|
|
1442
|
+
status: string;
|
|
1443
|
+
};
|
|
1444
|
+
/**
|
|
1445
|
+
* Speech understanding feature responses grouped together
|
|
1446
|
+
*/
|
|
1447
|
+
export type SpeechUnderstandingFeatureResponses = {
|
|
1448
|
+
/**
|
|
1449
|
+
* Speaker identification results including status and mapping
|
|
1450
|
+
*/
|
|
1451
|
+
speaker_identification?: SpeakerIdentificationResponse;
|
|
1452
|
+
/**
|
|
1453
|
+
* Translation results
|
|
1454
|
+
*/
|
|
1455
|
+
translation?: TranslationResponse;
|
|
1456
|
+
/**
|
|
1457
|
+
* Custom formatting results
|
|
1458
|
+
*/
|
|
1459
|
+
custom_formatting?: CustomFormattingResponse;
|
|
1460
|
+
};
|
|
1461
|
+
/**
|
|
1462
|
+
* Speech understanding response containing both request and response
|
|
1463
|
+
*/
|
|
1464
|
+
export type SpeechUnderstandingResponse = {
|
|
1465
|
+
/**
|
|
1466
|
+
* The original speech understanding request
|
|
1467
|
+
*/
|
|
1468
|
+
request?: SpeechUnderstandingRequest;
|
|
1469
|
+
/**
|
|
1470
|
+
* The speech understanding feature responses
|
|
1471
|
+
*/
|
|
1472
|
+
response?: SpeechUnderstandingFeatureResponses;
|
|
1473
|
+
};
|
|
1324
1474
|
/**
|
|
1325
1475
|
* Advanced options for controlling speaker diarization parameters
|
|
1326
1476
|
*/
|
|
@@ -2376,6 +2526,10 @@ export type Transcript = {
|
|
|
2376
2526
|
* The confidence score for the detected language, between 0.0 (low confidence) and 1.0 (high confidence)
|
|
2377
2527
|
*/
|
|
2378
2528
|
language_confidence: number | null;
|
|
2529
|
+
/**
|
|
2530
|
+
* List of language codes detected in the audio file when language detection is enabled
|
|
2531
|
+
*/
|
|
2532
|
+
language_codes: LiteralUnion<TranscriptLanguageCode, string>[] | null;
|
|
2379
2533
|
/**
|
|
2380
2534
|
* The confidence threshold for the automatically detected language.
|
|
2381
2535
|
* An error will be returned if the language confidence is below this threshold.
|
|
@@ -2530,6 +2684,14 @@ export type Transcript = {
|
|
|
2530
2684
|
* See {@link https://www.assemblyai.com/docs/models/speech-recognition | Speech recognition } for more information.
|
|
2531
2685
|
*/
|
|
2532
2686
|
words?: TranscriptWord[] | null;
|
|
2687
|
+
/**
|
|
2688
|
+
* Speech understanding response when enabled
|
|
2689
|
+
*/
|
|
2690
|
+
speech_understanding?: SpeechUnderstandingResponse;
|
|
2691
|
+
/**
|
|
2692
|
+
* Translations of the full transcript text when translation is enabled
|
|
2693
|
+
*/
|
|
2694
|
+
translated_texts?: Record<string, string>;
|
|
2533
2695
|
};
|
|
2534
2696
|
/**
|
|
2535
2697
|
* How much to boost specified words
|
|
@@ -2927,6 +3089,10 @@ export type TranscriptOptionalParams = {
|
|
|
2927
3089
|
* The list of custom vocabulary to boost transcription probability for
|
|
2928
3090
|
*/
|
|
2929
3091
|
word_boost?: string[];
|
|
3092
|
+
/**
|
|
3093
|
+
* Speech understanding configuration/response for LLM Gateway features
|
|
3094
|
+
*/
|
|
3095
|
+
speech_understanding?: SpeechUnderstandingRequest | SpeechUnderstandingResponse;
|
|
2930
3096
|
};
|
|
2931
3097
|
/**
|
|
2932
3098
|
* @example
|
|
@@ -3298,6 +3464,10 @@ export type TranscriptUtterance = {
|
|
|
3298
3464
|
* The words in the utterance.
|
|
3299
3465
|
*/
|
|
3300
3466
|
words: TranscriptWord[];
|
|
3467
|
+
/**
|
|
3468
|
+
* Translations of the utterance text when translation is enabled
|
|
3469
|
+
*/
|
|
3470
|
+
translated_texts?: Record<string, string>;
|
|
3301
3471
|
};
|
|
3302
3472
|
/**
|
|
3303
3473
|
* The notifications sent to the webhook URL.
|
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.
|
|
18
|
+
sdk: { name: "JavaScript", version: "4.18.2" },
|
|
19
19
|
};
|
|
20
20
|
if (typeof process !== "undefined") {
|
|
21
21
|
if (process.versions.node && defaultUserAgentString.indexOf("Node") === -1) {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "assemblyai",
|
|
3
|
-
"version": "4.18.
|
|
3
|
+
"version": "4.18.2",
|
|
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"
|
|
@@ -1037,7 +1037,7 @@ export type ListTranscriptParams = {
|
|
|
1037
1037
|
/**
|
|
1038
1038
|
* Only get throttled transcripts, overrides the status filter
|
|
1039
1039
|
* @defaultValue false
|
|
1040
|
-
* @deprecated
|
|
1040
|
+
* @deprecated This parameter is no longer supported and will be removed in a future version.
|
|
1041
1041
|
*/
|
|
1042
1042
|
throttled_only?: boolean;
|
|
1043
1043
|
};
|
|
@@ -1481,6 +1481,167 @@ export type SeverityScoreSummary = {
|
|
|
1481
1481
|
medium: number;
|
|
1482
1482
|
};
|
|
1483
1483
|
|
|
1484
|
+
/**
|
|
1485
|
+
* Speaker identification type for speech understanding
|
|
1486
|
+
*/
|
|
1487
|
+
export type SpeakerType = "role" | "name";
|
|
1488
|
+
|
|
1489
|
+
/**
|
|
1490
|
+
* Speaker identification configuration for speech understanding
|
|
1491
|
+
*/
|
|
1492
|
+
export type SpeakerIdentificationRequest = {
|
|
1493
|
+
/**
|
|
1494
|
+
* The type of speaker identification to perform
|
|
1495
|
+
*/
|
|
1496
|
+
speaker_type: SpeakerType;
|
|
1497
|
+
/**
|
|
1498
|
+
* Known speaker values (required when speaker_type is 'role')
|
|
1499
|
+
*/
|
|
1500
|
+
known_values?: string[];
|
|
1501
|
+
};
|
|
1502
|
+
|
|
1503
|
+
/**
|
|
1504
|
+
* Translation configuration for speech understanding
|
|
1505
|
+
*/
|
|
1506
|
+
export type TranslationRequest = {
|
|
1507
|
+
/**
|
|
1508
|
+
* List of target language codes to translate the transcript into
|
|
1509
|
+
*/
|
|
1510
|
+
target_languages: string[];
|
|
1511
|
+
/**
|
|
1512
|
+
* Whether to use formal language in translations (default: false)
|
|
1513
|
+
*/
|
|
1514
|
+
formal?: boolean;
|
|
1515
|
+
/**
|
|
1516
|
+
* Whether to match the original utterance structure in translations (default: false)
|
|
1517
|
+
*/
|
|
1518
|
+
match_original_utterance?: boolean;
|
|
1519
|
+
};
|
|
1520
|
+
|
|
1521
|
+
/**
|
|
1522
|
+
* Custom formatting configuration for speech understanding
|
|
1523
|
+
*/
|
|
1524
|
+
export type CustomFormattingRequest = {
|
|
1525
|
+
/**
|
|
1526
|
+
* Custom date format pattern (e.g., 'mm/dd/yyyy')
|
|
1527
|
+
*/
|
|
1528
|
+
date?: string;
|
|
1529
|
+
/**
|
|
1530
|
+
* Custom phone number format pattern (e.g., '(xxx)xxx-xxxx')
|
|
1531
|
+
*/
|
|
1532
|
+
phone_number?: string;
|
|
1533
|
+
/**
|
|
1534
|
+
* Custom email format pattern (e.g., 'username\@domain.com')
|
|
1535
|
+
*/
|
|
1536
|
+
email?: string;
|
|
1537
|
+
};
|
|
1538
|
+
|
|
1539
|
+
/**
|
|
1540
|
+
* Speech understanding feature requests grouped together
|
|
1541
|
+
*/
|
|
1542
|
+
export type SpeechUnderstandingFeatureRequests = {
|
|
1543
|
+
/**
|
|
1544
|
+
* Speaker identification configuration
|
|
1545
|
+
*/
|
|
1546
|
+
speaker_identification?: SpeakerIdentificationRequest;
|
|
1547
|
+
/**
|
|
1548
|
+
* Translation configuration
|
|
1549
|
+
*/
|
|
1550
|
+
translation?: TranslationRequest;
|
|
1551
|
+
/**
|
|
1552
|
+
* Custom formatting configuration
|
|
1553
|
+
*/
|
|
1554
|
+
custom_formatting?: CustomFormattingRequest;
|
|
1555
|
+
};
|
|
1556
|
+
|
|
1557
|
+
/**
|
|
1558
|
+
* Speech understanding request configuration for LLM Gateway features
|
|
1559
|
+
*/
|
|
1560
|
+
export type SpeechUnderstandingRequest = {
|
|
1561
|
+
/**
|
|
1562
|
+
* The speech understanding feature requests
|
|
1563
|
+
*/
|
|
1564
|
+
request?: SpeechUnderstandingFeatureRequests;
|
|
1565
|
+
};
|
|
1566
|
+
|
|
1567
|
+
/**
|
|
1568
|
+
* Speaker identification response containing status and mapping
|
|
1569
|
+
*/
|
|
1570
|
+
export type SpeakerIdentificationResponse = {
|
|
1571
|
+
/**
|
|
1572
|
+
* Status of the speaker identification feature (e.g., 'success')
|
|
1573
|
+
*/
|
|
1574
|
+
status: string;
|
|
1575
|
+
/**
|
|
1576
|
+
* Mapping of original speaker labels to identified speaker labels
|
|
1577
|
+
*/
|
|
1578
|
+
mapping?: Record<string, string>;
|
|
1579
|
+
};
|
|
1580
|
+
|
|
1581
|
+
/**
|
|
1582
|
+
* Translation response containing status
|
|
1583
|
+
*/
|
|
1584
|
+
export type TranslationResponse = {
|
|
1585
|
+
/**
|
|
1586
|
+
* Status of the translation feature
|
|
1587
|
+
*/
|
|
1588
|
+
status: string;
|
|
1589
|
+
};
|
|
1590
|
+
|
|
1591
|
+
/**
|
|
1592
|
+
* Custom formatting response containing mapping and formatted texts
|
|
1593
|
+
*/
|
|
1594
|
+
export type CustomFormattingResponse = {
|
|
1595
|
+
/**
|
|
1596
|
+
* Mapping of original entities to formatted entities
|
|
1597
|
+
*/
|
|
1598
|
+
mapping?: Record<string, string>;
|
|
1599
|
+
/**
|
|
1600
|
+
* Full transcript text with formatted entities
|
|
1601
|
+
*/
|
|
1602
|
+
formatted_text?: string;
|
|
1603
|
+
/**
|
|
1604
|
+
* List of utterances with formatted text
|
|
1605
|
+
*/
|
|
1606
|
+
formatted_utterances?: Record<string, unknown>[];
|
|
1607
|
+
/**
|
|
1608
|
+
* Status of the custom formatting feature
|
|
1609
|
+
*/
|
|
1610
|
+
status: string;
|
|
1611
|
+
};
|
|
1612
|
+
|
|
1613
|
+
/**
|
|
1614
|
+
* Speech understanding feature responses grouped together
|
|
1615
|
+
*/
|
|
1616
|
+
export type SpeechUnderstandingFeatureResponses = {
|
|
1617
|
+
/**
|
|
1618
|
+
* Speaker identification results including status and mapping
|
|
1619
|
+
*/
|
|
1620
|
+
speaker_identification?: SpeakerIdentificationResponse;
|
|
1621
|
+
/**
|
|
1622
|
+
* Translation results
|
|
1623
|
+
*/
|
|
1624
|
+
translation?: TranslationResponse;
|
|
1625
|
+
/**
|
|
1626
|
+
* Custom formatting results
|
|
1627
|
+
*/
|
|
1628
|
+
custom_formatting?: CustomFormattingResponse;
|
|
1629
|
+
};
|
|
1630
|
+
|
|
1631
|
+
/**
|
|
1632
|
+
* Speech understanding response containing both request and response
|
|
1633
|
+
*/
|
|
1634
|
+
export type SpeechUnderstandingResponse = {
|
|
1635
|
+
/**
|
|
1636
|
+
* The original speech understanding request
|
|
1637
|
+
*/
|
|
1638
|
+
request?: SpeechUnderstandingRequest;
|
|
1639
|
+
/**
|
|
1640
|
+
* The speech understanding feature responses
|
|
1641
|
+
*/
|
|
1642
|
+
response?: SpeechUnderstandingFeatureResponses;
|
|
1643
|
+
};
|
|
1644
|
+
|
|
1484
1645
|
/**
|
|
1485
1646
|
* Advanced options for controlling speaker diarization parameters
|
|
1486
1647
|
*/
|
|
@@ -2551,6 +2712,10 @@ export type Transcript = {
|
|
|
2551
2712
|
* The confidence score for the detected language, between 0.0 (low confidence) and 1.0 (high confidence)
|
|
2552
2713
|
*/
|
|
2553
2714
|
language_confidence: number | null;
|
|
2715
|
+
/**
|
|
2716
|
+
* List of language codes detected in the audio file when language detection is enabled
|
|
2717
|
+
*/
|
|
2718
|
+
language_codes: LiteralUnion<TranscriptLanguageCode, string>[] | null;
|
|
2554
2719
|
/**
|
|
2555
2720
|
* The confidence threshold for the automatically detected language.
|
|
2556
2721
|
* An error will be returned if the language confidence is below this threshold.
|
|
@@ -2705,6 +2870,14 @@ export type Transcript = {
|
|
|
2705
2870
|
* See {@link https://www.assemblyai.com/docs/models/speech-recognition | Speech recognition } for more information.
|
|
2706
2871
|
*/
|
|
2707
2872
|
words?: TranscriptWord[] | null;
|
|
2873
|
+
/**
|
|
2874
|
+
* Speech understanding response when enabled
|
|
2875
|
+
*/
|
|
2876
|
+
speech_understanding?: SpeechUnderstandingResponse;
|
|
2877
|
+
/**
|
|
2878
|
+
* Translations of the full transcript text when translation is enabled
|
|
2879
|
+
*/
|
|
2880
|
+
translated_texts?: Record<string, string>;
|
|
2708
2881
|
};
|
|
2709
2882
|
|
|
2710
2883
|
/**
|
|
@@ -3210,6 +3383,12 @@ export type TranscriptOptionalParams = {
|
|
|
3210
3383
|
* The list of custom vocabulary to boost transcription probability for
|
|
3211
3384
|
*/
|
|
3212
3385
|
word_boost?: string[];
|
|
3386
|
+
/**
|
|
3387
|
+
* Speech understanding configuration/response for LLM Gateway features
|
|
3388
|
+
*/
|
|
3389
|
+
speech_understanding?:
|
|
3390
|
+
| SpeechUnderstandingRequest
|
|
3391
|
+
| SpeechUnderstandingResponse;
|
|
3213
3392
|
};
|
|
3214
3393
|
|
|
3215
3394
|
/**
|
|
@@ -3588,6 +3767,10 @@ export type TranscriptUtterance = {
|
|
|
3588
3767
|
* The words in the utterance.
|
|
3589
3768
|
*/
|
|
3590
3769
|
words: TranscriptWord[];
|
|
3770
|
+
/**
|
|
3771
|
+
* Translations of the utterance text when translation is enabled
|
|
3772
|
+
*/
|
|
3773
|
+
translated_texts?: Record<string, string>;
|
|
3591
3774
|
};
|
|
3592
3775
|
|
|
3593
3776
|
/**
|