mirror of
https://github.com/jambonz/jambonz-webapp.git
synced 2026-10-04 02:04:17 +00:00
@@ -419,6 +419,7 @@ export interface SpeechCredential {
|
|||||||
custom_stt_endpoint: null | string;
|
custom_stt_endpoint: null | string;
|
||||||
client_id: null | string;
|
client_id: null | string;
|
||||||
client_secret: null | string;
|
client_secret: null | string;
|
||||||
|
client_key: null | string;
|
||||||
secret: null | string;
|
secret: null | string;
|
||||||
nuance_tts_uri: null | string;
|
nuance_tts_uri: null | string;
|
||||||
nuance_stt_uri: null | string;
|
nuance_stt_uri: null | string;
|
||||||
|
|||||||
@@ -38,6 +38,7 @@ import {
|
|||||||
VENDOR_INWORLD,
|
VENDOR_INWORLD,
|
||||||
VENDOR_DEEPGRAM_FLUX,
|
VENDOR_DEEPGRAM_FLUX,
|
||||||
VENDOR_RESEMBLE,
|
VENDOR_RESEMBLE,
|
||||||
|
VENDOR_HOUNDIFY,
|
||||||
} from "src/vendor";
|
} from "src/vendor";
|
||||||
import {
|
import {
|
||||||
LabelOptions,
|
LabelOptions,
|
||||||
@@ -434,6 +435,7 @@ export const SpeechProviderSelection = ({
|
|||||||
vendor.value !== VENDOR_CUSTOM &&
|
vendor.value !== VENDOR_CUSTOM &&
|
||||||
vendor.value !== VENDOR_OPENAI &&
|
vendor.value !== VENDOR_OPENAI &&
|
||||||
vendor.value !== VENDOR_DEEPGRAM_FLUX &&
|
vendor.value !== VENDOR_DEEPGRAM_FLUX &&
|
||||||
|
vendor.value !== VENDOR_HOUNDIFY &&
|
||||||
vendor.value !== VENDOR_COBALT,
|
vendor.value !== VENDOR_COBALT,
|
||||||
)}
|
)}
|
||||||
onChange={(e) => {
|
onChange={(e) => {
|
||||||
|
|||||||
@@ -55,6 +55,7 @@ import {
|
|||||||
VENDOR_INWORLD,
|
VENDOR_INWORLD,
|
||||||
VENDOR_DEEPGRAM_FLUX,
|
VENDOR_DEEPGRAM_FLUX,
|
||||||
VENDOR_RESEMBLE,
|
VENDOR_RESEMBLE,
|
||||||
|
VENDOR_HOUNDIFY,
|
||||||
} from "src/vendor";
|
} from "src/vendor";
|
||||||
import { MSG_REQUIRED_FIELDS } from "src/constants";
|
import { MSG_REQUIRED_FIELDS } from "src/constants";
|
||||||
import {
|
import {
|
||||||
@@ -134,6 +135,7 @@ export const SpeechServiceForm = ({ credential }: SpeechServiceFormProps) => {
|
|||||||
const [secretAccessKey, setSecretAccessKey] = useState("");
|
const [secretAccessKey, setSecretAccessKey] = useState("");
|
||||||
const [clientId, setClientId] = useState("");
|
const [clientId, setClientId] = useState("");
|
||||||
const [secretKey, setSecretKey] = useState("");
|
const [secretKey, setSecretKey] = useState("");
|
||||||
|
const [clientKey, setClientKey] = useState("");
|
||||||
const [clientSecret, setClientSecret] = useState("");
|
const [clientSecret, setClientSecret] = useState("");
|
||||||
const [googleServiceKey, setGoogleServiceKey] =
|
const [googleServiceKey, setGoogleServiceKey] =
|
||||||
useState<GoogleServiceKey | null>(null);
|
useState<GoogleServiceKey | null>(null);
|
||||||
@@ -455,6 +457,11 @@ export const SpeechServiceForm = ({ credential }: SpeechServiceFormProps) => {
|
|||||||
nuance_tts_uri: onPremNuanceTtsUrl || null,
|
nuance_tts_uri: onPremNuanceTtsUrl || null,
|
||||||
nuance_stt_uri: onPremNuanceSttUrl || null,
|
nuance_stt_uri: onPremNuanceSttUrl || null,
|
||||||
}),
|
}),
|
||||||
|
...(vendor === VENDOR_HOUNDIFY && {
|
||||||
|
client_id: clientId || null,
|
||||||
|
client_key: clientKey || null,
|
||||||
|
user_id: userId || null,
|
||||||
|
}),
|
||||||
...(vendor === VENDOR_COBALT && {
|
...(vendor === VENDOR_COBALT && {
|
||||||
cobalt_server_uri: cobaltServerUri || null,
|
cobalt_server_uri: cobaltServerUri || null,
|
||||||
}),
|
}),
|
||||||
@@ -723,6 +730,9 @@ export const SpeechServiceForm = ({ credential }: SpeechServiceFormProps) => {
|
|||||||
if (credential.data.client_id) {
|
if (credential.data.client_id) {
|
||||||
setClientId(credential.data.client_id);
|
setClientId(credential.data.client_id);
|
||||||
}
|
}
|
||||||
|
if (credential.data.client_key) {
|
||||||
|
setClientKey(credential.data.client_key);
|
||||||
|
}
|
||||||
|
|
||||||
if (credential.data.secret) {
|
if (credential.data.secret) {
|
||||||
setSecretKey(credential.data.secret);
|
setSecretKey(credential.data.secret);
|
||||||
@@ -1028,6 +1038,7 @@ export const SpeechServiceForm = ({ credential }: SpeechServiceFormProps) => {
|
|||||||
vendor !== VENDOR_SONIOX &&
|
vendor !== VENDOR_SONIOX &&
|
||||||
vendor !== VENDOR_SPEECHMATICS &&
|
vendor !== VENDOR_SPEECHMATICS &&
|
||||||
vendor !== VENDOR_DEEPGRAM_FLUX &&
|
vendor !== VENDOR_DEEPGRAM_FLUX &&
|
||||||
|
vendor !== VENDOR_HOUNDIFY &&
|
||||||
vendor !== VENDOR_OPENAI &&
|
vendor !== VENDOR_OPENAI &&
|
||||||
vendor != VENDOR_CUSTOM && (
|
vendor != VENDOR_CUSTOM && (
|
||||||
<label htmlFor="use_for_tts" className="chk">
|
<label htmlFor="use_for_tts" className="chk">
|
||||||
@@ -1427,6 +1438,47 @@ export const SpeechServiceForm = ({ credential }: SpeechServiceFormProps) => {
|
|||||||
)}
|
)}
|
||||||
</>
|
</>
|
||||||
)}
|
)}
|
||||||
|
{vendor === VENDOR_HOUNDIFY && (
|
||||||
|
<fieldset>
|
||||||
|
<label htmlFor="houndify_client_id">
|
||||||
|
Client ID
|
||||||
|
{!onPremNuanceSttCheck && !onPremNuanceTtsCheck && <span>*</span>}
|
||||||
|
</label>
|
||||||
|
<input
|
||||||
|
id="houndify_client_id"
|
||||||
|
required={!onPremNuanceSttCheck && !onPremNuanceTtsCheck}
|
||||||
|
type="text"
|
||||||
|
name="houndify_client_id"
|
||||||
|
placeholder="Client ID"
|
||||||
|
value={clientId}
|
||||||
|
onChange={(e) => setClientId(e.target.value)}
|
||||||
|
disabled={credential ? true : false}
|
||||||
|
/>
|
||||||
|
<label htmlFor="houndify_secret">
|
||||||
|
Client Key
|
||||||
|
{!onPremNuanceSttCheck && !onPremNuanceTtsCheck && <span>*</span>}
|
||||||
|
</label>
|
||||||
|
<Passwd
|
||||||
|
id="houndify_secret"
|
||||||
|
required={!onPremNuanceSttCheck && !onPremNuanceTtsCheck}
|
||||||
|
name="houndify_secret"
|
||||||
|
placeholder="Client Key"
|
||||||
|
value={clientKey ? getObscuredSecret(clientKey) : clientKey}
|
||||||
|
onChange={(e) => setClientKey(e.target.value)}
|
||||||
|
disabled={credential ? true : false}
|
||||||
|
/>
|
||||||
|
<label htmlFor="houndify_user_id">User ID</label>
|
||||||
|
<input
|
||||||
|
id="houndify_user_id"
|
||||||
|
type="text"
|
||||||
|
name="houndify_user_id"
|
||||||
|
placeholder="User ID"
|
||||||
|
value={userId}
|
||||||
|
onChange={(e) => setUserId(e.target.value)}
|
||||||
|
disabled={credential ? true : false}
|
||||||
|
/>
|
||||||
|
</fieldset>
|
||||||
|
)}
|
||||||
{vendor === VENDOR_NUANCE && (
|
{vendor === VENDOR_NUANCE && (
|
||||||
<>
|
<>
|
||||||
<fieldset>
|
<fieldset>
|
||||||
|
|||||||
Vendored
+5
@@ -30,6 +30,7 @@ export const VENDOR_VERBIO = "verbio";
|
|||||||
export const VENDOR_CARTESIA = "cartesia";
|
export const VENDOR_CARTESIA = "cartesia";
|
||||||
export const VENDOR_OPENAI = "openai";
|
export const VENDOR_OPENAI = "openai";
|
||||||
export const VENDOR_RESEMBLE = "resemble";
|
export const VENDOR_RESEMBLE = "resemble";
|
||||||
|
export const VENDOR_HOUNDIFY = "houndify";
|
||||||
|
|
||||||
export const vendors: VendorOptions[] = [
|
export const vendors: VendorOptions[] = [
|
||||||
{
|
{
|
||||||
@@ -128,6 +129,10 @@ export const vendors: VendorOptions[] = [
|
|||||||
name: "Resemble",
|
name: "Resemble",
|
||||||
value: VENDOR_RESEMBLE,
|
value: VENDOR_RESEMBLE,
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
name: "SoundHound",
|
||||||
|
value: VENDOR_HOUNDIFY,
|
||||||
|
},
|
||||||
].sort((a, b) => a.name.localeCompare(b.name)) as VendorOptions[];
|
].sort((a, b) => a.name.localeCompare(b.name)) as VendorOptions[];
|
||||||
|
|
||||||
export const AWS_CREDENTIAL_ACCESS_KEY = "access_key";
|
export const AWS_CREDENTIAL_ACCESS_KEY = "access_key";
|
||||||
|
|||||||
Vendored
+2
-1
@@ -22,7 +22,8 @@ export type Vendor =
|
|||||||
| "verbio"
|
| "verbio"
|
||||||
| "openai"
|
| "openai"
|
||||||
| "Cartesia"
|
| "Cartesia"
|
||||||
| "Resemble";
|
| "Resemble"
|
||||||
|
| "Houndify";
|
||||||
|
|
||||||
export interface VendorOptions {
|
export interface VendorOptions {
|
||||||
name: Vendor;
|
name: Vendor;
|
||||||
|
|||||||
Reference in New Issue
Block a user