@alquimia-ai/tools 1.1.0 → 1.3.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.
@@ -2038,24 +2038,52 @@ var StabilityProvider = class extends StableDiffusionProvider {
2038
2038
  // src/providers/eleven-labs.ts
2039
2039
  import { ElevenLabsClient, ElevenLabs } from "elevenlabs";
2040
2040
  import axios3 from "axios";
2041
- var requestSpecs = {
2041
+ var defaultVoiceSettings = {
2042
+ stability: 0.7,
2043
+ similarity_boost: 0.3,
2044
+ style: 0.2
2045
+ };
2046
+ var defaultRequestSpecs = {
2042
2047
  optimize_streaming_latency: ElevenLabs.OptimizeStreamingLatency.Zero,
2043
2048
  output_format: ElevenLabs.OutputFormat.Mp344100128,
2044
- model_id: "eleven_multilingual_v1",
2045
- language: "es",
2046
- voice_settings: {
2047
- stability: 0.1,
2048
- similarity_boost: 0.15,
2049
- style: 0.2
2050
- }
2049
+ model_id: "eleven_multilingual_v2",
2050
+ language: "es"
2051
2051
  };
2052
2052
  var ElevenLabsWhisperProvider = class extends WhisperProvider {
2053
2053
  constructor(config) {
2054
2054
  super(config);
2055
+ this.requestSpecs = {
2056
+ ...defaultRequestSpecs,
2057
+ voice_settings: {
2058
+ ...defaultVoiceSettings,
2059
+ ...config.voiceSettings
2060
+ }
2061
+ };
2055
2062
  this.client = new ElevenLabsClient(config);
2056
2063
  }
2057
2064
  async speechToText(audio) {
2058
- return "";
2065
+ try {
2066
+ const axiosClient = axios3.create({
2067
+ baseURL: this.config.baseURL,
2068
+ headers: {
2069
+ "xi-api-key": this.config.apiKey
2070
+ }
2071
+ });
2072
+ const base64Data = audio.split(",")[1];
2073
+ const blob = new Blob([Buffer.from(base64Data, "base64")], { type: "audio/webm" });
2074
+ const formData = new FormData();
2075
+ formData.append("file", blob, "audio.webm");
2076
+ formData.append("model_id", "scribe_v1");
2077
+ const response = await axiosClient.post("/v1/speech-to-text", formData, {
2078
+ headers: {
2079
+ "Content-Type": "multipart/form-data"
2080
+ }
2081
+ });
2082
+ return response.data.text;
2083
+ } catch (error) {
2084
+ console.error("Error converting speech to text:", error);
2085
+ throw error;
2086
+ }
2059
2087
  }
2060
2088
  async textToSpeech(text) {
2061
2089
  const axiosClient = axios3.create({
@@ -2071,7 +2099,7 @@ var ElevenLabsWhisperProvider = class extends WhisperProvider {
2071
2099
  `/v1/text-to-speech/${this.config.voiceId}`,
2072
2100
  {
2073
2101
  text,
2074
- ...requestSpecs
2102
+ ...this.requestSpecs
2075
2103
  },
2076
2104
  { responseType: "blob" }
2077
2105
  );
@@ -2082,70 +2110,10 @@ var ElevenLabsWhisperProvider = class extends WhisperProvider {
2082
2110
  }
2083
2111
  }
2084
2112
  };
2085
-
2086
- // src/providers/elastic-search.ts
2087
- import pino from "pino";
2088
- var ElasticLoggerProvider = class _ElasticLoggerProvider extends LoggerProvider {
2089
- constructor(config) {
2090
- super(config);
2091
- this.logger = console;
2092
- }
2093
- static async create(config) {
2094
- const provider = new _ElasticLoggerProvider(config);
2095
- await provider.initialize(config);
2096
- return provider;
2097
- }
2098
- async initialize(config) {
2099
- if (typeof window === "undefined") {
2100
- const [pinoElastic] = await Promise.all([
2101
- import("pino-elasticsearch")
2102
- ]);
2103
- const streamToElastic = pinoElastic.default({
2104
- index: config.index || "logs-index",
2105
- node: config.endpoint,
2106
- esVersion: config.esVersion || 7,
2107
- flushBytes: config.flushBytes || 1e3,
2108
- auth: {
2109
- username: config.username || "",
2110
- password: config.password || ""
2111
- },
2112
- tls: {
2113
- rejectUnauthorized: false
2114
- },
2115
- op_type: "create"
2116
- });
2117
- streamToElastic.on("error", (err) => {
2118
- console.error("Elasticsearch stream error:", err);
2119
- });
2120
- streamToElastic.on("insertError", (err) => {
2121
- console.error("Elasticsearch insert error:", err);
2122
- });
2123
- streamToElastic.on("insert", () => {
2124
- console.log("Successfully sent log to Elasticsearch");
2125
- });
2126
- this.logger = pino({
2127
- level: "info",
2128
- timestamp: () => `,"time":"${(/* @__PURE__ */ new Date()).toISOString()}"`
2129
- }, streamToElastic);
2130
- }
2131
- }
2132
- logInfo(message, data) {
2133
- this.logger.info({ ...data }, message);
2134
- }
2135
- logError(message, error, data) {
2136
- const errorDetails = {
2137
- message: error.message,
2138
- name: error.name,
2139
- stack: error.stack
2140
- };
2141
- this.logger.error({ error, ...data, ...errorDetails }, message);
2142
- }
2143
- };
2144
2113
  export {
2145
2114
  AlquimiaRatingsProvider,
2146
2115
  AlquimiaWhisperProvider,
2147
2116
  CharacterizationProvider,
2148
- ElasticLoggerProvider,
2149
2117
  ElevenLabsWhisperProvider,
2150
2118
  GenerativeProvider,
2151
2119
  LoggerProvider,