Changelog
Ce qui est nouveau.
Chaque amélioration apportée à la plateforme, à mesure qu'elle est livrée.
· kamo-shared-library
Verrouillage par fichier de prêt (rejolissez par scénario)
verrouille la clé sur le scénario, donc résoudre un Les écluses de prêt via MlosLoanScenario.loanFileUid. Réduit l'emprunteur/letinteur "Ce taux de prêt est-il bloqué?" lire.
· SecurityService
Généraire de verrouillage de vitesse de l'intendance - lock-decision - engager un résultat éligible
MlosCapitalMarketsContrôleur gagne POST /lock-decision (preview) et POST/locks (engagement) via MlosCapitalMarketsClient; le commit est un écluse volontaire de l'intendance de l'HUM enregistré en tant que steward par intérim en tant que verrouilléPar MemberId - jamais un auto-blocage de l'IA fabriqué. Les murs de l'emprunteur-ack / AUS du moteur se retransmettent comme honnête 4xx.
· SecurityService
Surface de signature électronique de l'emprunteur - liens de signe natifs réels, pas de stub
GET (partie-parti-dépendant) répertorie le prêt réel l'information/fermeture des enveloppes et des enveloppes de destinataire par l'intermédiaire de ESigService; POST - Monnaie une nouvelle signature accessible lien profond (défaut fermé: l'enveloppe doit appartenir au prêt de l'appelant). Détourne le Reconstruit le bureau de fermeture qui relie en profondeur l'expérience de signature native (doc 05. 5).
· ESigService
Animal de liaison interne de la carbue pour les surfaces de signature de première partie
POST - rafraîchètes un jeton d'accès du destinataire et RETOURS la signature de lien profond (pas d'e-mail d'invitation) aller-retour), de sorte que le portail de l'emprunteur MLOS peut donner un signataire authentifié en direct lien. Refactors resend() pour partager le chemin de la menthe; receveurs de décodre terminés/décoder 409.
· SecurityService
WS3 mandataire de l'ordre des fournisseurs et des instructions d'exécution
Ajouter MlosVendorClient (X-Internal-Auth et MLOSVendorService/api/vendor) Config et points d'extrémité de la configuration: GET /-uid-/inter-orders (vue de l'opérateur) et POST /-uid/interd/fournisseurs-commandes (fonctionnaire et placement d'une évaluation/titre/HOI/VOE, éventuellement lié à une exigence de TROISIEME-PARTY, de sorte que son rappel le satisfait). le côté du serveur résolu; le statut honnête du fournisseur rail est relayé, jamais fabriqué.
· SecurityService
Projection de l'emprunteur-safe my-conditions pour la visualisation des conditions du portail
GET /-uid/my-conditions (partie ou opérateur-gated) retourne un rétrécissement EmprunteurConditionView - never the the les champs d'acteurs/notes internes l'intendance LoanConditionDTO expose. Le portail joint à ceux-ci avec les exigences de documents qu'il a déjà obéit (par loanConditionId) de regrouper la liste de contrôle par condition de souscription.
· SecurityService
Critères d'évaluation de l'EEG pour l'exécution des résultats pour hydrater les UI de capture
Ajouter listPerBorrower (requirevisView, portion-gated) et les critères d'évaluation de la liste GET pour Retour des zrpilles : Ceux-là sont de retour les nouvelles sections de capture d'emprunteurs URLA dans KamoMLOS.
· kamo-shared-library
Méthodes de lecture de la section des emprunteurs pour les autres revenus/dépenses/REO/la capture des dons
Les sections répétantes par emprunteur étaient en écriture seulement; ajouter les projections. - donc l'emprunteur capturer les UI peut hydrater les lignes existantes via les critères d'évaluation de l'EEG.
· SecurityService
Abstraction complète de l'émetteur de crédit et véritables adaptateurs revendeurs
Production tri-fusion-route de crédit. L'abstraction passe maintenant le SSN FULL à 9 chiffres (déchiffré au moment de l'ordre dans l'enregistrement crypté de l'emprunteur) a JOINT pull - auparavant seulement ssnLast4 a été adopté, qu'aucun bureau n'accepte. Nouveau noyau de protocole MISMO-2.4 (mismo/): CreditVendorProfile et CreditAuthScheme MismoCreditRequestBuilder (individuel) Joint, bloc de connexion en ligne MeridianLink), CreditResponseParser (tolerant Analyse des scores entre les ordres des attributs - normalisation des bureaux - fournisseur-erreur détection). AbstractMismoCreditAdapter maintient le flux d'ordre partagé (valider construction - authentification - POST avec temporisation bornée - parseveillement), sous la forme d'une configuration avec le locataire sous-route - de configJson). Adaptateurs nominés pour les revendeurs hypothécaires les plus courants, chacun encochant son public protocole (système d'authsion) avec des critères de compte en tant que config: MeridianLink (connexion en ligne), Xactus (porteur), Factual Data / CBCInnovis / Credit Plus (base) et le générique MISMO catch-all. CreditOrderService déchiffre le SSN complet via SecretCipher, résout le co-emprunteur, et ordonne des commandes conjointes lorsqu'elles sont présentes. Les échecs les honnêtes seulement, Jamais une partition fabriquée. 12 tests verts.
· SecurityService
Proxydation claire à l'écart
GET - - à la partie; résolution loanFileUid de l'application et relaie la disponibilité claire de MLOSDocService.
· EmailService
Accepter le jeton X-z pour les clients mobiles dans OTKPreAuthFilter
id par onget en tant que X-z-token (correspondant à la table) Lorsqu'elle est présente (et pas X-OTK), résoudre la session non consommante et fixer les mêmes attributs de demande; un jeton invalide n'établit rien, donc les contrôleurs sont toujours rejeter avec 401. La protection des données de session est inchangée.
· APIService
Route /api/courrier électronique /api/support via l'hôte api
(EmailService) et support (MediaService, même en amont que /api/média) étaient non routilement, non roucheminé, n'est-ce pas : 404). Ajouter les deux forwards et corriger e-mail.service.url d'un localhost par défaut au service de cluster. forward() ne passe que la session de l'appelant en-têtes (X-z-toyen) et pas de X-Internal-Auth injectés - donc des critères internes rester protégé et seule fonctionner en session est exposée.
· SecurityService
Agence déclenchée par l'intendance - AUS est un mandataire
Ajoute POST - l'intendant "Run AUS" déclencher l'absence de la console de souscription en lecture seule. Décomporté sur l'opérateur (GD); organisationId et membre par intérim sont SERVER-STAMPED de la session (jamais confiance du client), et MLOSUnderwritingService revalide le prêt appartient à cet org (travillage fermé en cas de défaillance). Les faits sont dérivés de serveurs en aval (DTI via LoanQualifyingRatioService, structurel via ScenarioFactDeriver); l'appelant peut encore passer une attestation fico/franc de crédit. Rien n'a déclenché une vie AUS s'exécute avant cela - les critères d'exécution n'avaient plus d'appelants.
· KlusterServices
Désaleure les en-têtes auto-hébergées pour Mobile Copilot OTA
expo-protocol-version:1 est un en-tête de réponse expo-sfv-version:0 que le Expo-updates demandes client et MinIO statique ne peut pas émettre. Chemin plus long Un préfixe gagne sur l'itinéraire général/public/thème.
· kamo-shared-library
Ordonnances de vente et d'entité de l'ordonnance de vente pour la colonne vertébrale du fournisseur WS3
Le reste du livre d'ordres de la troisième partie SCRA). Ordonnance du fournisseur et de l'async du WORM partiel (ClosingArtifact idiom: opaque FabricantCley/externalRef, identité gelée, statut uniquement/avance de résultat; ré-commande est une ligne NON NON). VendorOrderEvent et full-WORM append-sachégur (AusRun idiom: une ligne immuable par transition/appel, externeEventId dedup, charge utile pour rejouer). Catégorie de fournisseur (non) ConnectionVendor pair et provenance vit ici, jamais sur la connexion verrouillée). Soft-FK-by-id, org/loanFileUid. KI 'EntityScan(com.kamo) crée les tableaux; les services restent ddl-auto:none.
· SecurityService
Document de timbre propre à l'horloge de fraîcheur (activation WS1)
Après l'extraction de la vision, propagez la date d'entrée en vigueur du document (actif.statementPeriodEnd pour banque/courtier/retraite, emploi.payPeriodEnd pour les fonds) à MemberDocument.freshnessAsOf. Cela fait le MLOS l'âge de satisfaction à partir de la déclaration vraie/date de paiement au lieu de la télécharger le temps, donc le moteur de couverture d'époque obtient finalement une identité de période réelle. Meilleur effort, idémpotent, ne casse jamais l'extraction; pas de changement de schéma (le la fraîcheur - en tant que colonne existe déjà).
· kamo-shared-library
Amortissement mensuel des prêts (soutien des prêts)
L'unique composant de l'ITIP non stocké sur le prêt. Amortissement normal la formule EPMATHMARKEREP; le taux de zéro se dégrade en ligne droite; pendance directe/terme non positive à 0,00 (ne jet/divide jamais par zéro). Aliments pour animaux PitiDtiCalculateur
· kamo-shared-library
ClosingReadinessEvaluator et porte de dégivrage au niveau du prêt
Rouler les obligations d'un prêt jusqu'à ce que l'écart de bout en bout puisse être remis en compte analyse augmentée ("serviceer le prêt jusqu'au financement"): clair à proximité les conditions d'avancement-blocage (prior-à proximité/fonds) restent ouvertes; les conditions ouvertes (prior-to-doc/post-close) ne sont pas financées. Émet la liste des blocs déchus "ce qui reste avant que vous puissiez fermer". Projecteurs de l'état, miroirs pures/inséreuses sur l'appelant ConditionClearabilityResolver expédie la règle, pas le câblage de l'étape.
· kamo-shared-library
QualifyingRatioEngine - la clé de voûte reproductible (WS6)
Composé des quatre éléments de base (recettes, passifs, PITI/DTI, réserves) en UN Retraite quadratique: revenu éligible, rapprochement de la dette mensuelle, assemblé PITIA, DTI avant/arrière, réserves éligibles, mois de réserve. C'est le seul une dérivation déterministe qui doit devenir le seul producteur du fait de l'AUS "dti" Aujourd'hui, ce fait arrive de type d'emprunteur ou blanc et que personne ne le tire. Pure/imité, pas d'E/S, pas de schéma; appelé par rien encore (sûr pour filer ScénarioFactDeriver suivant). Les mêmes preuves reproduisent toujours le même instantané.
· kamo-shared-library
ReservesCalculator et décotes d'actifs éligibles - PITIA mois (WS6)
Derives Reserve mois à partir des actifs réels avec des décotes standard de l'agence Dépôts liquides 100 %, courtage 70 %, retraite acquise 60 %, don/emprunté exclus, divisés par PITIA mensuel. Achève la suite de qualifications pures (revenu et passifs - PITI/DTI - réserves) une superposition minimale sur un chiffre réel au lieu d'un chiffre de type porteur. PITIA zéro - non défini. Non schéma, pas de câblage.
· kamo-shared-library
PitiDtiCalculateur - Ensemble PITI - avant/arrière DTI (WS6)
Pure ratio core complétant le trio DTI avec le Conviseur RESPnel de revenu : PITIA : PITIA : PIS : PIS : HOI : HOA : MI : inondations ; avant : PITIA / Revenu; retour (PITIA : dette) / revenu, en pourcentages. Revenu zéro indéfini (non divisé par zéro). C'est la dérivation déterministe qui doit devenir le seul producteur du fait de l'AUS "dti". Pas de schéma, pas de câblage.
· kamo-shared-library
Qualificatif de renouvellementCalculateur et base et noyau variable (WS5)
Noyau de revenu pur/déterministe : base salariée et patronne prudente la plus faible les éléments de preuve disponibles (paystub / W-2 / VOE); variable : moyenne de 2 ans avec une diminution du taux de revenus (utiliser le taux de croissance actuel plus faible en baisse); location à 75 % du montant brut. Chaque ligne cite sa règle; les mêmes intrants - le même total (rejouer). L'apport vérifiable d'une DTI réelle, remplaçant le dédupe par employeur. Fonctionne sur des projections mâchées par l'appelant - pas de schéma, pas de câblage, pas de comportement changement. SE flux de trésorerie / débarquement brut en plus.
· kamo-shared-library
ResponsabilitéR-conciler et règles de paiement des agences (c'est-à-l'échelle 6 du cœur)
Ordinateur pur/apatride transformant chaque passif en paiement mensuel qui comptabilisent contre DTI, avec une justification citée: omise/décollée exclue, baux toujours inclus, versements de 10 mois, déportants sans le paiement à 5 % du solde, selon le contraire. Fondement défendable d'une DTI (remplaçant un «dti» injecté). Fonctionne sur un appelant-mâché projection de la responsabilité verrouillée - pas de schéma, pas de câblage, pas de comportement changement. Les traitements subordonnés par l'étudiant et les traitements conditionnels ont un repérage avec les pavillons de responsabilité additive.
· kamo-shared-library
Spécifications de la quantité explicite de la période de période pour les successeurs du delta
RequirementQuantity gagne une liste explicite de périodes (du deltaJson builder); lorsqu'il est présent est l'ensemble requis, de sorte qu'un successeur peut être réglé pour "il suffit d'envoyer le mois d'août". PeriodCoverageEvaluator l'honore et expose talons(). Pure/additif.
· kamo-shared-library
- en tant que source unique de clé de période
Ajoute periodKeyFor(date) de sorte que le chemin d'écriture (estampille satisfaction) et le les périodes clés de l'évaluateur de couverture sont identiques; l'évaluateur lui fait maintenant part de ses délégués. Pure/additif, pas de changement de comportement.
· kamo-shared-library
primitives de couverture de période pour la collecte de documents sensibles à la période
Fondement pur et additif de la collecte captée de la période (doc 06 - 4) première tranche de la banque "recouvrez seulement les mois que je n'ai pas encore" fixer. Un changement de comportement zéro, pas de client câblé. - ObligationQuantité: valeur ajoutée, nombre de fois le nombre, période, cadence, perCompte, par Partie parsa été à partir de la quantité-json; n'est pas ouvert à UNIQUEment de sorte qu'un Une exigence non spécifiée maintient le comportement de l'ensemble du document d'aujourd'hui. -Gracine de périodeExapériateur: pur Composant (miroirs ConditionClearabilitéResolver) calculer des périodes requises/coulies/découvertes - un statut dérivé à partir d'une spécification, les satisfères acceptés, et une date d'ancrage - le "1 de 2, manquant 2026-06" logique, avec un mois de fenêtre dépassé ignoré (en avant, non ré-demandé). - ObligationSatisfeur: quatre colonnes NULLABLEs additif (période, Indice; WORM - pré-mise à jour - PARTIELLEMENT -RECEVE (déjà dans l'enum, isOpen()-true) devient tout simplement accessible. Les colonnes appliquent de manière additive via KamoInitializer (en phase avec le chemin d'écriture M1 les services restent ddl-auto:none; pas de bosse de version partagée.
· kamo-marketing
Remplacer le chat à braquage par l'intégrateur de l'adresse ci-de-moi en place; supprimer l'ancien widget proxy
Éconnaie le chat React de l'IA/support de vivres (PublicChatWidget et AiChatPanel) LiveSupportPanel - route proxy du serveur /api/chat/- pour les lignes proxy hébergées, un élément personnalisé d'auto-thème de kym-chat servi à partir de - L'orge de la commercialisation La clé du site WebChatIntegration est la lue côté serveur dans la mise en page de la localisation - la voie dynamique de la force afin qu'elle se résolve à le temps de demande, non cuit dans une construction statique) et passé à la nouvelle KamoChatEmbed composant client, qui injecte le script et les supports du widget "kamo-chat site-key"...." Drops 'stomp/stompjs et sockjs-client, qui n'ont été utilisées que par le module LiveSupportPnel supprimé.
· kamo-internal
Ajouter l'onglet APK d'installation (auto-hébergé) à l'onglet APP mobile Setup
Install/Sign-in toggle: "Install" montre un QR à la version signée APK sur le "Signez-vous" permet de conserver le flux OTK par un mot de passe.
· kamo-internal
Personnalisateur de conception d'intégration de chat Web et aperçu en direct
Ajout d'un dialogue Personnaliser à l'onglet Intégration du Chat Web: un formulaire d'éditeur (couleurs, copie, mise en page, comportement, prompte d'IA) sur la gauche et un une maquette instantanée non interactive du widget sur la droite, les deux conduits à l'abri de la même configuration en mémoire afin que chaque édition reflète immédiatement. - Rétroviseur TS du canonique du widget DEFAULT-DESIGN-JSON (cathame-shared-library WebChatDefaultConfig.java) les aides à la fusion/parse de la merde ainsi qu'un modèle stockéConfig (null/partial/ malformed) se résolve toujours vers une configuration entièrement peuplée et modifiable. - - - auto- Semule de style contenu (lanceur et panneau ouvert), pas de widget à distance un paquet impliqué. - ParamètresTextField gains optionnels multilignes/filets (additif, rétrocompatible) pour les champs d'accueil-mesure/système-prompt. Save PUTs le design de l'intégrationConfig et aiEnabled/humanEnabled/ aiSystemPrompt via webChatIntegrationsApi.update, avec hexagone et validation globale avant la demande.
· kamo-internal
Onglet d'intégration du chat Web et liste, créer, snippet (BFF et UI)
Phase 2 du schéma de réglages de l'intégration du web Chat: Fixation des routes BFF à la phase 1a MediaService CRUD, un client dactylographié, et /settings/caractatures/angle de discussion où un org répertorie des intégrations, crée un (nom - origines requises du site Web - AI/Soutien des modes), et obtient le brut clé de site - extrait incédé une fois. Personnalisateur de conception et préparation la liste de contrôle sont des phases ultérieures.

Votre univers vous attend.
Commencez gratuitement en quelques minutes. Ajoutez des produits quand vous êtes prêt. Pas de migration, pas de nouvelles connexions.
Gratuit pour toujours — aucune carte de crédit requise