Changelog
Qué hay de nuevo.
Cada mejora de la plataforma, a medida que se envía.
· EmailService
El nuevo nombre de un miembro alcanza el nombre de su buzón de correo (SP95 T35)
¿Qué? {previous, current} - Confía en el secreto interno de KamoAI como el buzón de correo electrónico. Los buzones que el miembro tiene como primario cuyo nombre de pantalla está en blanco o todavía el anterior (trimado, caso ignorante) toma el nuevo nombre; un nombre un administrador eligió, y un buzón de correo el miembro sólo comparte, quedarse. Un blanco el nombre actual es 400. Una transacción @RetryOnDbConflict clave por miembro; no llamada del proveedor (KamoMail no guarda nombre de pantalla del lado del servidor).
· kamo-internal
Llame a sus colegas en la carta, la línea de equipo del servidor telefónico y "Asked for" en una acción que alguien pidió (SP95 T26)
- Carta: PLACE INTERNAL CALL junto a PLACE CALL; APPROVAL tiene un artículo por clase (19, gobernando SP95-T4-1). - Tarjeta de servidor de teléfono: la línea de equipo (defaultTransferExtension), enviada en cada caja, en blanco como ninguna (V10 reemplaza cada campo). - Aprobaciones: un chip "Asked for" para el modo ON REQUEST en la lista y el detalle; el detalle dice quién pidió y vincula a el chat (abierto en su lugar) o la tarea (/notes?task=). Tipos leídos a través de ********************** (SP95-T26-1).
· SecurityService
Un renombre alcanza los buzones de correo del miembro (SP95 T36)
Después de un cambio comprometido de "Primero Último", Servicio de Seguridad publicaciones {previous, current} a EmailService Una vez por membresía. del usuario, con el secreto interno de KamoAI (el paso de alquiler MAILBOX) cliente y URL). EmailService renombra sólo los buzones de correo que miembro sostiene como primario y que todavía lleva el viejo nombre automático. - MemberNameChangeNotifier: after commit only (AfterCommit), off the solicitar hilo en kamoaiExecutor, el mejor esfuerzo (WARN, nunca falla el salvo); un nombre aclarado a blanco no se anuncia. - Llamado por el perfil miembro PUT y la cuenta de la plataforma Usuarios editar, sólo cuando "Primero Último" cambió. CuentaControlador ParseName nombre una cuenta de cliente, no una persona, así que no anuncia nada.
· AIService
Una org que clasifica la transcripción OpenAI los primeros flujos STT a través de ella, y cada billete nombre su dialecto de sesión (SP95)
modelo de transcripción se dejó caer como ADAPTER UNSUPPORTED y cada streaming STT El boleto fue a Kamo Speech en CPU. Cada fila de catálogos nombra ahora la sesión (los paseos modelo en la actualización de sesión), y la sesión de respuestas del ticketDialect.
· APIService
Formularios de contacto del sitio web de la ruta, en el presupuesto de creación de sesión
POST /api/public-chat/contact proxies to MediaService's new contact endpoint a través del mismo sitio-key, el origen y los controles de alcance como cada otra llamada public-chat, así que el formulario de contacto de un prestamista archiva un ticket en la propia cola de apoyo del prestamista. Crea una sesión y un boleto, por lo que protege el *** como su hermanos y aprovecha el estricto presupuesto de creación (3/min por IP). Es el que crea camino sin "sesiones" en él, por lo que es igualado por nombre; izquierda al presupuesto del mensaje un script podría presentar 30 entradas por minuto de una dirección.
· MediaService
Un formulario de contacto de un prestamista hace un ticket en su propia cola
POST /api/media/public-chat/contact, alcanzado a través del sitio de la puerta-key puerta como cualquier otra llamada de la cadena pública, por lo que las claves llaman la org y su los orígenes permitidos nombre el sitio web. El propio formulario de contacto de la plataforma podría no hacer esto: archiva en la plataforma org, cualquier sitio lo publicó. Un formulario de contacto es un chat abierto y escrito en una vez, por lo que se construye desde exactamente esos dos pasos: createSupportSession (el tema de la integración, atribución, geo, la estrategia de asignación del tema después del compromiso) y sendSupportMessage (el primer mensaje del visitante). Sólo el título y descripción difiere, y ambos llevan con una tarjeta de nombre, correo electrónico y teléfono, porque el visitante ha dejado la página y el correo electrónico es el camino de regreso a ellos. La cola se dice una vez que el mensaje está en el hilo, como con la AI desvío. Una fuente de miel llena responde al éxito y no hace nada.
· MCPGatewayService
Rag search toma audiencia PUBLIC, la búsqueda del público puede leer (SP95 T12)
Una inteligencia artificial en una llamada telefónica responde a una llamada anónima, por lo que sólo busca la artículos publicados que el público puede leer, nunca notas (spec D12). El opcional audiencia enum es ["PUBLIC"] y se envía a RAGService (Task 11); cualquier otro valor es INVALID ARGUMENTOS por esquema y nunca alcanza RAG.
· KlusterServices
Rspamd mantiene sus datos en su propio Redis
local.d/redis.conf es ahora la clave redis-own.conf: rspamd-redis en correo, base de datos 0, el mismo correo rspamd login. El subPath cambia la cápsula. La llave vieja permanece en el ConfigMap hasta que el interruptor sea confirmado, por lo que `kubectl -n mail rollout undo deployment/rspamd` es todo el rollback (SP98-M-1, etapa 2 de 3). Lo envía sólo después de que los datos de rspamd hayan sido copiados en rspamd-redis.
· KlusterServices
Un Redis de rspamd
rspamd parses correo no confiado y registros en la plataforma Redis, al lado de cada sesión del miembro, y ningún ACL puede mantenerlo allí: un usuario no puede ser a una base de datos; los scripts de rspamd pasan etiquetas de clase, banderas y msgpack blobs as KEYS, so a key-pattern ACL refuses every Bayes learn; and its Bayes SCANs expiry, que lista cada nombre clave (*** y nombres OTK son portadores credenciales) cualquiera que sean los patrones. Esto añade rspamd-redis en correo: la plataforma Redis's build, pinned to k1m1 junto a rspamd con sus archivos en el disco de ese nodo, una base de datos, PING solamente sin un login, mail rspamd con la contraseña existente de rspamd, kamo ops para operadores, y una política de red que admite las cápsulas de rspamd solo. CI lo aplica y lo espera antes de Rspamd. rspamd en sí mismo no cambia hasta el siguiente commit (SP98-M-1, etapa 1 de 3).
· SecurityService
Un ahorro de carta llega al tiempo de ejecución de AI a la vez, y el perfil de la empresa nombre (SP95 T6)
Ahora tiene una causa. The rights path envía derechos; un ahorro de carta comprometido envía CARTER para cada AI afectada miembro, con los derechos actuales del miembroStamp (leer después del compromiso, en una consulta) y vacío agregado/removido, así que cada cápsula kamoai gotas que AI Listas de cartas y herramientas a la vez en lugar de servir una lista de herramientas. - Un ahorro de nivel miembro (S6) anuncia al miembro cuando es una AI. - Ahorro de papel, departamento o puesto de trabajo, solo de alquiler (S7-S9) o completo actualizar portar charterItems, anuncia cada equipo de AI no retirado miembro de la org, de una consulta de org. - CharterProfile gana orgName, el nombre de la empresa hablada (OrgSpoken Nombre: nombre corto, otro nombre, otro nombre legal), para el breve línea de identidad.
· MCPGatewayService
Approvals request envía a una clase una herramienta realiza a esa herramienta; el sello de carta mantiene las herramientas frescas (SP95 T10)
approvals request rechaza una clase de acción que una herramienta de catálogo realiza con INVALID ARGUMENTS USE TOOL {tool, tools, actionClass}, or NO TOOL FOR YOU when el que llama no puede ver ninguna de esas herramientas; sólo las clases DECISION ONLY todavía tienen aprobación de la decisión. ToolSpec.alsoClasses declara que las clases un planificador puede reclaso a (mail, chat, calendario, tareas, phone call), el registro deriva clase - tabla de herramientas de título de ellos, y la visibilidad esconde una herramienta sólo cuando cada clase que puede tomar es FORBIDDEN. El oleoducto ahora rechaza el plan de un FORBIDDEN clase sobre una nueva ejecución aprobada también, y los espejos de CharterPolicy D1 (nombre PLACE INTERNAL CALL hereda un FORBIDDEN PLACE CALL). X-Kamo-Charter-Stamp alcanza CharterClient.policy(memberId, expectedStamp), que relee una carta de caché bajo otro sello a la vez; herramientas / lista juzgado por una carta de lectura y respuestas ****************
· kamo-apps
Abra la aplicación con las respuestas que un sitio del prestamista ya tomó
Un sitio de marketing de prestamistas ahora puede llevar su propia forma de "comenzar" corto y enviar al prestatario aquí con propósito, nombre, correo electrónico y teléfono llenado, Así que nadie los escribe dos veces. Las respuestas viajan en el fragmento de URL, nunca la cadena de consulta: un fragmento no se envía al servidor, así que un prestatario email nunca aterriza en un registro de acceso o un Refer, y el formulario lo limpia desde la barra de direcciones tan pronto como lo haya leído. El propósito viaja como el nombre enum (purchase, refinance) y se combina contra las propias opciones del producto, por lo que el sitio nunca necesita un id ordinal. La búsqueda no ahorra nada: en un producto de contacto primero el plomo sigue siendo creado por el primer "continue" del prestatario, como si hubieran escrito las respuestas.
· SecurityService
SP94 DDL para las dos columnas de nombre fonético de la org, pintadas por una prueba de contrato
orgs.title phonetic and orgs.title short phonetic, both nullable VARCHAR(255) with no default and no CHECK, la misma forma que los usuarios.name phonetic. Aplicado a mano a la producción (SP94 Task 2); La prueba de contrato marca el archivo para la declaración de 5.1.
· AIService
E5 habla con la voz recordada de un miembro de AI, su modelo preferido primero, y llama la voz que envió
Para un tema de IA (la propia sesión de IA, o el gemelo interno con ?memberId=) El candidato de TTS es enviado la voz que el resolver SP96 decide, y el modelo de respuesta la decisión se recuerda después de la síntesis (insertar, comparar y poner, toque por hora). Con el modelo kamo:auto el modelo preferido del miembro se camina primero. Una sesión de persona, incluyendo uno enviado como un actor de AI, mantiene la vozPara no cambiar. La memoria es el mejor esfuerzo: a falló leer o escribir es una WARN y el miembro todavía habla. Cada discurso responde X-Kamo-Voice-Id.
· RAGService
Audience PUBLIC estrecha una búsqueda de sesión para publicar artículos públicos
Una búsqueda de sesión puede enviar al público: "PUBLIC" a buscar como público widget hace (ningún miembro, ningún tipo de miembro): artículos publicados marcados por el público, nunca una nota. Un miembro de AI en una llamada telefónica busca con su propia sesión TEAM MEMBER mientras que un callador anónimo dirige las preguntas. El campo sólo se estrecha: cualquier otro valor es 400 {error, campo: "audiencia"}. El camino interno lo ignora. KamoAI SP95 Task 11, spec §5.5, D12.
· VOIPService
La línea de equipo del servidor telefónico para la transferencia sin nombre de un miembro de AI
SP95 D10: la configuración de voz de AI toma defaultTransferExtension (digits, like el retroceso; el blanco lo aclara) y el eco. La nueva ruta interna ¿Qué? responde al objetivo SIP de la línea de equipo, o 404 NO TEAM LINE cuando no está activado.
· SecurityService
Una tarjeta de llamada de un colega para llamadas AI, y el consentimiento para AI llama a su propio perfil (SP95 T5)
- ¿Qué? (X-Internal-Auth): un equipo nombre del miembro, amable, ya sea que todavía estén aquí, su zona efectiva (sitio de trabajo, miembro, org, UTC), los números E.164 en su perfil (CELL, PHONE, TRABAJO) y su propio consentimiento permanente. A miembro que no está en el equipo (un portal login) no tiene tarjeta. - ¿Qué? una persona cambia a miembros del equipo AI llama a uno de sus propios números, o fuera; un registro del libro bajo miembro: MEMBER PROFILE. Auto o MANAGE MEMBER SECURITY lee (todo número enmascarado); sólo la persona ellos mismos escribe. - MemberZoneResolver: TimezoneController's resolution, extracted unchanged, so the member's own la zona y las horas de llamada de una AI están de acuerdo.
· AIService
El uso de la computadora se gana a través de las propias herramientas informáticas * de Kamo por cualquier proveedor (SP98 T25A)
herramienta informática nativa con un encabezado beta y pasó en cualquier 2xx. Los miembros de AI conducen su estación de trabajo a través de las herramientas del Plano de Herramientas *, nunca un proveedor API nativa, por lo que el cheque ahora prueba exactamente eso, lo mismo para cada proveedor tipo cuyo adaptador de chat envía imágenes: tres pantallas de prueba 1280x800, un nombre botón en cada uno, haga clic a través de computer click(x, y) dentro de ese botón. Un pase escribe herramientaVersion kamo computer 1, el contrato que el modelo pasó. - El router sirve COMPUTER USE donde el adaptador envía imágenes y reproducciones resultados de la herramienta (un bucle de herramientas sobre capturas de pantalla), quien sea el proveedor. (UI-TARS, GUI-*, un modelo de uso de computadora) se insinúa para que el cheque se resuelva. - Una AI todavía puede usar COMPUTER USE sólo una vez que sea VERIFIED.
· MCPGatewayService
Phone call llama a un colega por memberId, como PLACE INTERNAL CALL (SP95 T9)
Un colega es nombrado por memberId, nunca por número: el planificador lee su Seguridad Tarjeta de servicio y marca la celda, si no el teléfono, el trabajo número en su perfil (un nombre debe ser uno de los suyos). Sólo un activo persona de la org del callador se puede llamar así; los rechazos son INVALID ARGUMENTS NOT A COLLEAGUE, CANNO CALL SELF, NO NUMBER ON PROFILE or No. La llamada es PLACE INTERNAL CALL, su resumen indica los colega y no tiene número, y K6 recibe calleeMemberId. La calle es propia solicitud verificada, entregada en el plan predeterminado como una Solicitud verificada, es la consentimiento de la llamada (consentimientoBasis CALLEE REQUEST con su solicitudRef). Una llamada el número se queda PLACE CALL, sin cambios. ActionClasses gana PLACE INTERNAL CALL.
· kamo-internal
SP96 sexo en el perfil miembro, cerrado como datos personales
Una tarjeta de datos personales en la sala de identidad mantiene el sexo del miembro: No especificado, Mujer o Hombre. Está en la fila de los miembros, así que las puertas Regla D3 de SecurityService: el miembro y sus administradores véase, y en un AI también lo hacen sus gerentes de fuerza de trabajo y su supervisor. Una persona cambia su propio, un AI nunca lo hace. No especificado salva como nulo. La llave monta un ahorro sólo cuando era cambió, porque SecurityService se niega a alguien que no puede escríbalo (SP96-T5-1). Un rechazo que nombre un campo ahora muestra bajo eso campo en lugar de bajo cada campo en la misma solicitud.
· kamo-internal
SP96 sexo en el perfil miembro, cerrado como datos personales
Una tarjeta de datos personales en la sala de identidad mantiene el sexo del miembro: No especificado, Mujer o Hombre. Está en la fila de los miembros, así que las puertas Regla D3 de SecurityService: el miembro y sus administradores véase, y en una AI también lo hacen sus gerentes de fuerza de trabajo y su supervisor. Una persona cambia su propio, una AI nunca lo hace. No especificado salva como nulo. La llave monta un ahorro sólo cuando era cambió, porque SecurityService se niega a alguien que no puede escríbalo (SP96-T5-1). Un rechazo que nombre un campo ahora muestra bajo eso campo en lugar de bajo cada campo en la misma solicitud.
· kamo-shared-library
El cheque de uso de la computadora escribe el contrato un modelo aprobado (SP98 T25A)
COMPUTER USE se gana a través de las herramientas informáticas de Kamo * de cualquier proveedor, por lo que toolVersion está llena de sonda: los registros de cheques que contratan el modelo aprobado, y un administrador que añade la capacidad no tiene ninguna versión de herramienta de proveedor para escribir.
· kamo-shared-library
SP96 retirar la ficha VOICE TTS de la carta
Un elemento VOICE es sólo estilo: validación rechaza vozModelId/voiceId (FIELD NOT ALLOWED), el solucionador no tiene tecla TTS y Cárter Efectivo no Tts, y CharterView no emite voz.tts. AIService recuerda cada AI la voz del miembro por modelo. Las columnas y los mapas de entidades permanecen; una hilera que todavía sostiene un pin se emite como su estilo, y guardarlo aclara el pin.
· kamo-shared-library
PLACE INTERNAL CALL, consentimiento miembro, nombre de empresa hablado, línea de equipo, Aprobaciones ON REQUEST
SP95 Task 4 (spec §5.2, D1, D4, D10, D15, D24): - AiActionClass gana PLACE INTERNAL CALL (AUTONOMOUS), anexado último. CharterResolver resuelve un PLACE INTERNAL CALL FORBIDDEN sin nombre, con la fuente de PLACE CALL, cuando PLACE CALL resolvió FORBIDDEN. La sección APPROVAL sigue el recuento de clase (19). - AiVoiceConsentimientoVia gana MEMBER PROFILE; ******************* - OrgSpokenName: el nombre corto, si no el nombre de la pantalla, el nombre legal. - ¿Qué? (DEFAULT TRANSFER EXTENSION, nullable). - AiCallEventType gana CONSENT BASIS. - AiApprovalMode gana ON REQUEST; AiApproval.requestRef (request ref VARCHAR(200)). Las dos nuevas columnas deben existir (SP95 Task 3's DDL) antes de que esto llegue al principio.
· AIService
Un miembro de AI recuerda la voz por modelo de discurso, y el solucionador que lo mantiene o re-pica
La tienda de ai member voices (JDBC, TransientDbRetry, comparar y poner re-picks, un toque horal, el aumento de CHOSEN y la bandera preferida de un estado), los hechos miembros que necesita (AI, sexo, idioma), y la resolución pura de SP96 spec sección 5.4: PASS, USE, KEEP o PICK por candidato, por idioma y luego nivel de género, anclado en la voz preferida
· VOIPService
El archivo DDL para la línea de equipo del servidor telefónico
SP95 Task 2. nullable VARCHAR(20) que mantiene la extensión una transferencia sin nombre de AI anillos (la línea de equipo, 8200 en el k1m1 FreePBX). Aplicado a mano por la tarea 3 antes de las construcciones que lo mapean; Sp95DdlContract Pruebas coloca el archivo en el La espectro es una declaración re-runable, aditiva, nulable.
· SecurityService
SP96 opciones de alquiler para dejar fuera la extensión del teléfono y la estación de trabajo
Un cuerpo de alquiler de AI toma aiPhoneExtension y aiWorkstation (JSON booleans, verdadero cuando ausente). Un paso a la izquierda se crea SKIPPED con NOT REQUESTED AT HIRE, por lo que el alquiler todavía llega a COMPLETE, y la ruta de reborrecimiento lo vuelve a abrir como ahora. La vista de la lista de verificación marca tal fila saltadaAtHire y retráctil. Rebeldes jubiladas con la razón de retiro, por lo que nunca se puede configurar en una AI retirada.
· AIService
Género de voz, desde su historial, una mesa curada o su estilo, y género de proveedores mantenidos por la sonda
SP96 Task 7. VoiceGender {FEMALE, MALE, NEUTRAL, UNKNOWN} with a lenient parse, y VoiceGenders.of (tipo, modelo, registro) aplicación de espectro 5.3 en orden: el convención, Piper norman, Deepgram thalia), un estilo de exactamente mujer / hombre, otra cosa. VoiceInfo gana género: OnceLabs mapas etiquetas. género, Ninguno. ProbeRunner almacena el género con los otros campos de voz. Nada lee the gender yet (Task 8).
· SecurityService
SP96 sexo en el perfil miembro y en la creación, cerrado como datos personales
Get /api/security/members/{id} names sex (FEMALE, MALE or null) only to a callador que puede leerlo (MemberSexAccess, spec D3); la clave está ausente cualquiera más. PUT rechaza un mal valor (400 sexo de campo) y un callador que puede no escribirlo (403 NO ALLOWED sexo de campo) antes de que nada esté escrito, sets y audita un cambio de alguien que no sea el miembro: una AI está con los valores, una persona está sin ellos. Creación de miembros lee el sexo del cuerpo para cualquier registro a través del mismo MemberSexWire.
· kamo-shared-library
SP96 MemberSex, Member.sex y un género en el registro de voz
miembros. sexo es una columna de STRING nulable (FEMALE TENIDO MALE, null = no especificado), por lo que un miembro de AI puede hablar con una voz coincidente. El TTS y REALTIME AUDIO voices record acepta un campo de género opcional.

Tu universo está esperando.
Comience gratis en minutos y agregue productos cuando esté listo, sin migración ni nuevos inicios de sesión.
Gratis para siempre: no se requiere tarjeta de crédito