Changelog
Qué hay de nuevo.
Cada mejora de la plataforma, a medida que se envía.
· SecurityService
Puntos finales de QC - extracción con confianza - regalo/impuestos lecturas de regalo/impuestos
- QcController (/api/security/mlos/qc, LOS-VIEW-PIPELINE): consulta de revisión, revisión acción (confirmo/correcto/rechazo), exportación de datos de capacitación NDJSON, por tipo de médico la precisión. - Extracción ahora estampa confianza tipo doc en cada hecho y puertas el estado QC (a las aplicaciones automáticas=0,85; abajo espera en la caja de QC). - Nuevos avisos de extracción: cartas de regalo (cantidad y donante; tipo/futorno inyectado), declaración de impuestos / Anexo C ingresos por cuenta propia (inyección de entrada para trabajadores).
· kamo-shared-library
Caja QC con confianza - datos de formación etiquetados - regalo/autoempleo reconciliarse
Motor QC (me lón de la fase 4): - VerifiedFact gana EXTRACTION-CONFIDENCE, DOC-TYPE-CODE, QC-STATE columnas (QcState: **************** aplica ahora SOLO hechos de paso por la puerta (AUTO/CONFIRMED - non-extracción); La confianza espera la revisión, rechazada nunca se aplica, corregida es reemplazada. - ExtracciónCorrección = datos de entrenamiento etiquetados solo a apéndice (doc, campo, valor de IA . confianza, verdad de tierra humana, acción). QcReviewService lo captura en cada confirmar/correcto/rechazo, menccionar una OPERO OVERRIDE de alta confianza en una corrección, y reconcilia. VerifiedFactRepository: QC-queue - revisado-corpus consultas. Ampliación de la extracción: - regalo.* - Rejamiento de regalo (creadoGift añadido; kind=Cash Gift, source=Inyectado relativo de tipo doc; AI lee cantidad . donante). declaración de impuestos / Lista C por cuenta propia Empleo (empleo.isAbandera de autoempleado del tipo doc).
· SecurityService
Ingresos por concepto de prestaciones y ayudas de extracción (SSA, pensión, pensión, pensión)
Añade los símbolos de extracción de SSA-AWARD / PENSION / CHILD-SUP (AI lee lo bruto la cantidad mensual de una etiqueta), y estampa el id de OtherIncomeSource deterministically del tipo doc para que la reconciliación aterrice una verdadera fila de otros ingresos. Reconstruye contra la rama de reconciliación de otros ingresos compartida.
· kamo-shared-library
Reconcile otrosIngreso.* hechos en otras filas de ingresos
Extende la conciliación de hechos con otroIncome.* rama: adjudicación/documentos de beneficios (Seguridad Social, pensión/jubilación, manutención de los hijos) aterriza en una verdadera fila de otros ingresos con un mapa de otros ingresos de otroIncomefuente id . Idempotente en (prestador, fuente). La fuente es un mapeo determinista que el extractor inyecta del doctor tipo - nunca una conjetura de IA; la IA lee sólo la cantidad.
· SecurityService
Carga de autoclasificación para atracar subidas de documentos equivocados
Un pase barato de LUZ "qué es este documento?" en la primera página clasifica el subir a una familia grosera y compararla con el tipo afirmado del requisito. En el desajuste las banderas de respuesta del extracto lo marcan (detectiveType . typeMismatch) por lo que el A prestatario se le dice "esto parece un extracto bancario" en lugar de un expediente incorrecto No extrayendo nada en silencio. La asesoría sólo la extracción sigue corrida.
· SecurityService
Extraer estados de cuentas bancarios a 12 meses .
Amplia la extracción de la visión a dos tipos de doc prestatarios más que reutilizan el existente Vocabulario de reconciliación (riesgo de conciliación cero): BANK12MO se lee como un activo declaración (activo.*), VOE-W lee el empleador - ingresos mensuales brutos (empleo.*).
· SecurityService
Extracción de documentos PDF de varias páginas (Fase 2)
El camino de visión era sólo imagen-URL, por lo que el PDF de varias páginas de un prestatario (banco La declaración, declaración de impuestos) no se podía leer. Ahora: - VaultDocPublicController sirve ?page=N , dando esa página PDF a PNG en la mosca (via ConversionService /render-page) . proveedor-agnóstico, desde muchos Los proveedores de visión aceptan sólo una URL de imagen, no un PDF crudo. No-PDF/no-page Las solicitudes no han cambiado. La carga de Img-MinIO tuvo en cuenta en un VaultDocLoader compartido. - DocVisionExtractionService lee un PDF página por página (capoada a los 15 años), fusionándose campos a través de las páginas manteniendo la lectura de mayor confianza de cada camino. Una sola imagen todavía se lee como una sola página (comportamiento sin cambios). - ConversionPageClient llama ConversionService (reutiliza la conversión.service.url).
· ConversionService
Re-re- Completa de la página PDF para la extracción de documentos
Añade DocPageRenderService . POST /api/conversion/render-page (página N . PNG en 150 DPI, con un tope de 300) y /papácar-cuenta. Este es el compañero de calidad de lectura de la 300px Ruta en miniatura: el oleoducto de visión-extracción de documentos prestador divide un declaración multipágina/regreso en un PNG legible por página para que cualquier proveedor de visión (todos aceptan una URL de imagen; sólo algunos aceptan un PDF crudo) pueden leer cada página. Aditivo de conversión actual sin cambios.
· kamo-shared-library
Captura y cifrado SSN completo en la aplicación del prestatario
La postura de la solicitud necesita el REAL Social del prestatario, no un último-4 (un prestamista No puede hacer nada con 4 dígitos). Borrower.ssnEncrypted existió pero nunca fue Sólo ssnLastFour estaba poblada. Ahora: - BorrowerDTO gana un campo WRITE-ONLY .sn (completo) ingresado solamente, nunca serializada hacia atrás; las lecturas todavía exponen sólo ssnLastFour. - BorrowerSectionService cifra en reposo un SSN completo suministrado (opcional-inyectado SecretCipher - presente en SecurityService, ausente/booting-salsa en contextos como KamoInitializer) y deriva el último-4. Un parche que omite ahora la reserva SSN el valor almacenado en lugar de limpiar el último-4. - ssnEncrypted/itinEncrypted .Size(32) - . 256 para que el texto cifrado GCM-base64 se adapte a la columna de 256 char (sin cambios de esquema).
· SecurityService
Opcional ?phone= vista atrás en GET /api/security/leads
La pestaña CRM de suave resuelve un número de llamada activo a una pista. Añadir un teléfono opcional Solicitar que filtra la lista de plomo de org por canónico (úpera de 10 dígitos) partido contra PHONE-PERSONAL/PHONE-WORK antes de la magra Proyección LeadListDTO - sin ampliación de PII, la misma visibilidad no firmada cota como la rejilla sin filtrar.
· kamo-internal
Pestaña de integración de CRM de cable a datos reales
Reemplaza la pestaña CRM simulada con un panel de código abierto-perversio-permparadores. - Resolver el número de llamada activa / dialpad a una pista de CRM a través de leadsApi.searchByPhone (nuevo filtro ?phone= en GET /leads). - Mostrar la ventaja emparecida: contacto, estado, cifras de préstamo, asignado oficial; acciones rápidas Llamada / Abrir plomo / Nota de registro (media/posts) / Programa Callback (reutilizado CallbackDialog); actividad reciente de la alimentación de medios. - Retrocetra cuando no hay coincidencias de plomo: direcciones-libro Contactos, entonces el directorio interno de miembros (ambos de lado del cliente, reutilizando los datos existentes caminos), mostrados como un documento de identidad. - Nuevos ayudantes app/lib/phone.ts (coinidad de dígitos canónicos) y app/lib/directoryLookup.ts.
· EmailService
Soporta "unbloqueo para siempre" consentimiento de imagen remota
Añade un consentimiento comodín (perseguir todo / está siempreperado) para que un miembro pueda optar por mostrar imágenes externas en cada mensaje. Reutiliza la tabla de consentimiento existente a través de una tecla mensaje-id reservado centenel . no cambia de esquema. El POST /remote-imagen-consent endpoint acepta el alcance=siempre para esta elección global.
· kamo-internal
Añadir la opción de "unbloqueo para siempre" para imágenes externas bloqueadas
La puerta de las imágenes externas ofrece ahora dos acciones: Desbloquear (este mensaje, como antes) y desbloquear para siempre, que muestra imágenes externas en cada mensaje en el futuro. Desbloquear para siempre está cerrado detrás de un diálogo de confirmación y persiste en el lado del servidor (dispositivo cruzado); una emisión desbloquea otros mensajes abiertos de inmediato.
· SecurityService
Un nombre preferido diferente tiene una nueva pista
Un nombre preferido genuinamente diferente (en comparación con la causa insensiblemente con el exterior espaciado recortado) es una persona diferente, así que crea una nueva pista en lugar de cambiar el nombre del existente se convierte en la corriente de la GUID a través de findLeadByGuid's uid-desc ordenar. Trivial re-caing/spacing ("john" " John " . "JOHN") no un tenedor. Aplicado tanto a la ruta de creación de POST como a la ruta de actualización de PATCH (la legal- nombre puerta mantiene el mismo nombre preferido, para que nunca se bidiche).
· MediaService
Llegar directamente al oficial de la PROPeder, no hay puerta de apoyo-de derecha
Suelte el requisito ACCEPT-SUPPORT-TICKETS de assignToPreferredAgent: El oficial de préstamo asignado al prestatario es accesible independientemente de si son un agente de soporte configurado (el id miembro ya fue validado como el de esa pista oficial en SecurityService). Mantenga un chequeo de la meclilla como cinturón de seguridad para que El cliente manipulado no puede encuelar una sesión al miembro de otro org; desconocido/cross-org Los ids vuelven a la cola pendiente por defecto.
· APIService
Proxy GET /lo-presencia a MediaService
El proxy de la sesión de apoyo ya adelanta el cuerpo crudo, por lo que el widget fusionado prefer: el agente de la misión preferirle llegar a MediaService intacto. Añadir la presencia de poder para el portal del prestatario puede preguntar si su oficial de préstamo asignado está en línea.
· MediaService
Enruado deLO-asignado - . LO presencia endpoint
Atribuye el widget LO/chat fusionado del portal del prestatario: - **************** direct-assigns un chat público boleto a un agente de SPECIFIC (el prestatario asignado a préstamo) en lugar de la cola pendiente, cuando ese oficial es un agente de apoyo elegido para el tema (añadelos a la sesión de chat - notifica ellos; graba la elección en el rastreador de round-robin). Se recupera de null para que el que llama siga haciendo el comportamiento de la cola. **************** acepta el agente preferidoAdemásMemberId y rutas a ese oficial; sólo pings el org pendiente de la cola cuando no se enruta. - PublicChatController: lee el agente preferidoAdemás de la sesión y Agrega GET /lo-presence?memberId= .online (PresenceService.isOnline) por lo que el widget muestra el estado real en línea del oficial y se cubre automáticamente con AI cuando está fuera.
· SecurityService
Expong a asignado miembro id id . Teléfono para chat directo - presencia
El widget de LO/chat fusionado necesita (a) atacar directamente al oficial asignado en la sesión de apoyo en vivo del prestatario y (b) la consulta de la presencia en vivo del oficial. Ambos sistemas de MediaService son clave en el id de miembro, así /portal/asignado-lo ahora devuelve loMemberId (el id de miembro del oficial que acepta) y loPhone (de la Registro de usuario de oficial) junto con el nombre/NMLS/email existente.
· SecurityService
Asignar un oficial de préstamos a una pista NAME-ONLY (antes del correo electrónico/teléfono)
El portal del prestatario ya crea la ventaja en el instante en que se da un nombre, pero enterAssignmentPoolIfActionable mantuvo una ventaja de nombre fuera del crédito aceptar piscina (un LO no podía llegar a un prestatario sin contacto, así que aceptar sólo quemó un crédito). Esa razón ya no se sostiene: un plomo nombrado sale a la LO asignada a el prestatario en el puerto (LoContactCard, y el widget LO/chat fusionado vendget), así que un nombre es en sí mismo un punto de contacto accesible. Admite una guía nombrada a la piscina tan un El oficial puede ser asignado tan pronto como sea posible antes de que llegue el correo electrónico / teléfono.
· EmailService
Logotipo de org de Inline-CID (SVG--PNG) para que lo render se hace en Gmail; eliminar contenido de mensajes; preserve caso De-domain
- FIX (seguridad): los correos electrónicos de notificación no llevan ningún cuerpo de mensaje. mensajePreview de plantilla vars, libro mayor, muestras y la configuración para alternar. - FIX (logo): los logotipos de org son SVG, que Gmail/la mayoría de los clientes se niegan a renderizar. EmailLogoService rapea el org SVG a PNG (Batik) e incrusta en línea a través de múltiples partes/relacionadas (cida:emaillogo / emaillogomark), Redis-cajada 24h, de la mano, elegad de la vuelta a la URL de la SVG en cualquier fracaso. - FIX (From case): displayCasedDomain vuelve a desconsate la etiqueta de marca de la org título (prefix match, ccSLD-aware) así From Less KamoCRM.com no kamocrm.com.
· kamo-internal
Correo electrónico de mensajero perdido enlaces profundos, alijo de auth-continuidad, chat sin leer auto-popup, configuración de notificación
DeepLinkToolBootstrap abre las ventanas de herramientas?openChat/?openTicket herramienta (params survive el viaje de ida y vuelta de login a través de una sesiónAliho de almacenamiento capturado antes de la aauth y conservado a través de /logout la borrada); AutoOpenUnreadChats hace sesiones de chat sin leer una vez por pestaña sesión (cap 6, chat-sólo, dedupedeado en el enlace profundo); Pestaña de configuración de notificaciones (email on/off, vista previa, horas tranquilas) perseverando notify.email.messages vía MemberUiPreference; sessions/chat proxy reenvía ahora las categorías filtro.
· MediaService
Notificaciones por correo electrónico de mensajero per-message (chat . Soporte) con supresión por fuente
Durable consumidor de NATS chat-email-notifier en chat.session.Alimentando a un El libro mayor de MESSAGE-EMAIL-NOTICES (PENDING/SENT, per-sender para chat, por boleto para el apoyo), barrido de los años 60 con puerta de presencia, horas tranquilas, digerida, reingreso-con-backoff (fallecido). Correos electrónicos a través de las plantillas de EmailService con X-Internal-Auth; Vídeos fugados de HTML; Retroalimentación de correo electrónico de los usuarios de los miembros; Perceptores conscientes de mudos. Guardias de Sudo: la suplantación ya no escribe presencia o despeja/crea señales de lectura. Habilitado por defecto (chat.email.enabled=true).
· EmailService
Variables de muestra del editor para plantillas de notificación de mensajes perdidos
Avance de las muestras para MISSED-CHAT-MESSAGE y SUPPORT-TICKET-REPLY incl. raw vs Variantes de remitente/título html-escapado por los cuerpos canónicos.
· kamo-shared-library
Mesó-mess de envío ledger ledger .
MessageEmailEtice entity (MESSAGE-EMAIL-NOTICES, receptor único-sourceKey-channel) con estados de supresión PENDING/SENT, repositorio incl. sudo-safe markRead/ deletePendingRead, MISSED-CHAT-MESSAGE - SUPPORT-TICKET-REPLY plantillas canónicas (registrado en CANONICAL-KEYS), meditaciente en mudos MediaSessionMuteRepository lookup.
· EmailService
Correo de Microsoft 365 a través de Microsoft Graph solo para aplicaciones (configuración cero por correo)
Microsoft 365 correo ahora lee/enmascaramiento a través de Microsoft Graph solo a la aplicación (Mail.ReadWrite/Mail.Enviar permisos de solicitud) en lugar de IMAP la credencial cubre todos los buzones actuales y futuros de todo el arrendatario, por lo que añadir un buzón en Kamo sólo funciona: no New-ServicePrincipal, no per-mailbox grants. - GraphMailProvider (nuevo): Gráfico **************** enviar/borrroll/buscar, adaptando los ids de gráficos opacos al numeric-uid existente contrato vía GraphMessageIdService. Carpetas normalizadas a INBOX/Sent/Drafts/ Junk/Trash/Archive vía resolución de identificación de la carpeta conocida. Attachment $sel utiliza el archivoAttachment type-cast para contentId. - GraphMessageIdService (nuevo): uid sintética estable de 52 bits; carrera segura de la prueba EN CONFLICT upsert. - Microsoft365Provider: extiende GraphMailProvider; el correo utiliza un gráfico solo para aplicaciones token (inquilino del dominio buzón, credos de la plataforma del registro OAuth); admin ops mantener el token delegado. - ProviderHttpClient: sobrecargas tipo URI (sin re-codificación RestTemplate) . binary getBytes. - MailProviderResolver: MICROSOFT365 ya no construye credos IMAP (Gráfica misma- autenticados); eliminado cableado de resolución de plataforma ahora muerto. KamoMail y los demás proveedores de IMAP (Exchange/Google/Zoho/IceWarp), el controlador, metadatos y el frontend están todos sin cambios (contrato numérico-uid en conserva). Necesita la nueva mesa compartida-lib (k run) y Graph Mail.ReadWrite Mail.Enviar permisos de solicitud y consentimiento de administración en el inquilino M3665.
· kamo-shared-library
GraphMessageIdMap entidad para la asignación de correo de Microsoft 365 Graph
Mapas opacos ids de mensaje de Microsoft Graph a UIDs numéricos sintéticos estables por buzón, por lo que los buzones gráficos fluen a través del contrato de correo numérico-uid existente (controladores, metadatos de rosca/etiqueta, frontend) sin cambios. El El uid sintético es un hachillo de 52 bits mantenido dentro de la gama de integración segura de JS; una carrera segura EN CONFLICT upsert maneja la primera vista simultánea. Tabla aditiva ******************* . . . . . . . . . . . . . . . . . . . . .
· DaemonService
Bump GENERATOR-VERSION 7 - backfill GBIF fauna en todas las ciudades
El motor de aves consume ahora el bloque de fauna, así que rellenar por todas partes: el llenar el trabajo re-dreren filas de manzanas en 24/min (ciudades solicitadas por los usuarios primero), tan real Las aves localmente comunes convergen a lo largo de 14h mientras el hábitat del motor se engaña Mientras tanto, la caída lleva cualquier ciudad no bienmuta o delgada GBIF.
· DaemonService
Muestras de aves localmente comunes de GBIF en fauna de la ciudad
FaunaClient (pequeños PetrologíaCliente): faceta de ocurrencia GBIF en clase Aves en un Caja de 27 km alrededor de la ciudad - las principales 10 especies por recuento de registros - resolución de la taxonomía (Ciprencio - nombre común, familia, orden) - un peso de abundancia normalizado. Verificado real y específico de hábitat (Tucson-Mourning Dove/Gila Woodpecker/Verdin/ Anna's Hummingbird; Pacific coast-Western Gull/cormorant; Everglades-White Ibis). Libre/abrir, sin llave; la distribución de aves no está en los datos de la tierra KamoUniverse. Alargado en CitySceneSampler como aditivo opcional bloque de "fauna". El portal Mapas de motores de aves familia / pedido - arquetipo de vuelo - silueta lado cliente, así que esta capa se queda una fuente de datos en caché tonta. GENERATOR-VERSION sin cambios: fauna aterriza en ciudades recién conmuces ahora y rellena el bache cuando la representación naves de motor (evita un barrido GBIF prematuro de 20k-city para datos todavía no se extrae nada).
· DaemonService
63 flores de la marca UU-ecoregión (a través de la poblar los biomas)
Las ciudades dentro de un estado se veían iguales porque la flora provenía de sólo 15 bioma gruesa por defectos (Acción de Mojave). Ahora especies de firma real comisariadas para 63 ecorregiones de EE.UU. (RESOLVE): Sierra Nevada - sequoia gigante/ponderosa/pino de azúcar; costa N.Cal - costrejilla de la costa/abeto de doblegla; Valle Central Valle-Valle/blue roble; Sonoran - saguaro/palo verde/ocotillo; Chihuahuan - agave/ ocotillo; Rockies - aspen/engelmann aparcamiento/aldgepole; Appalachian - roble blanco/chulip poplar/ hickory; Everglades, mangrove/cipress/sabal palm; Piney Woods, loblolly/longleaf; llanuras roble de burbujas/macoche jonero, etc. Así que diferentes ecorregiones de un estado ahora hacen distinta los árboles. GENERATOR-VERSION 6 - re-muestra.
· DaemonService
Petrología (Macrostrat) - carreteras (.trf) - cascadas (.hyf) - nivelar los sistemas KamoUniverse
GLiM nunca se descargó (PANGAEA 404s; KamoUniverse en sí cae de nuevo a predeterminado litología), por lo que la petrología proviene de la API de mapa geológico global de Macrostrat: por punto litología - una clase de roca gruesa ************* **************** La red de carretera .trf y los sidecars de cascada .hyf fueron horneados en el viaje, pero sin usar ahora el sampler también los lee: la carretera más grande clase - bandera sin pavibar cerca de la ciudad, y la caída de la cascada más cercana. GENERATOR-VERSION 2 y todos los perfiles de la ciudad re-musepa.

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