Direkt zum Inhalt
KAMOUniverse

Changelog

Was ist neu?

Jede Verbesserung an der Plattform, wie sie geliefert wird.

  1. · SecurityService

    Kapitalmarkt-Steward lesen Sie Proxy für die Command Center

    Fügen Sie einen MLOS-Namen, read-only-Proxy, der die kamo-interne Hauptstadt & Risiko lässt Command Center erreichen MLOSCapitalMarketsService ohne die interne Netzwerk oder Geheimnis des Browsers: - MlosBaseController: eigenständige OTK-Session Helfer (org + operator/god Tor). Erweitert NICHT die Hard-Money LOS Basis und führt keine LOS-Namen rechts - MLOS ist ein eigenständiges System. - MlosCapitalMarketsController @ ************ löst die Operator org von der Sitzung, Gates auf Operator (God-Mode), injiziert die Die eigene Organisation des BetreibersId in die org-scoped MLOS liest (nie ein Client -- und sperrt die Composite by-id liest gegen Cross-Or-Zugriff. - MlosCapitalMarketsClient: Resttemplate zu kamomloscapitalmarkets-service mit das gemeinsame X-Internal-Auth-Geheimnis (organizationId als Abfrageparam übergeben). - configmap: mlos.capital-markets.url (env-overridable). Wiederverwendet die bereits verdrahtet internal.auth.secret. Über APIService's Decke /api/security/** Relais erreicht.

  2. · kamo-internal

    MLOS Capital & Risk Command Center Steward Konsole

    Fügen Sie die KI-native Hypotheken-Steward-Konsole unter / Handel (MORTGAGE Markt) Registerkarte), Ersetzen der Platzhalter-Intents/Verpflichtungen durch MortgageStewardSection + innerste Steward-Screen-Tabs. Erster Bildschirm: die Hauptstadt & Risk Command Center auf der ausgelieferten MLOSCapitalMarketsService liest (Sperr von status/Szenario + Pipeline-Förderung P(fund) p5/p50/p95), derzeit fixture-backed hinter einem getippten Client (ein One-File-Tausch zum Live-Lesepfad). - Wiederverwendbares Konsolen-Kit mit voller Breite: ConsoleShell, SectionCard, KpiTile, StatusPill + Bewegungsfolien (CountUp, Stagger, Crossfade) bewusst, weiß-label über --color-primary. - Signature Funding Probability Fan (p5/median/p95), filterfähige Schleusenleitung mit Ablauf-Ton-Countdowns, Lock-Detail-Schubladen (Lifecycle Timeline + AI Entscheidungsgrundsatz), Segmentaufschlüsselung, ehrliches "coming soon"-Streifen. - Tastatur/ARIA auf allen interaktiven Reihen, WCAG-AA-Kontrast, Next-intl durchgehend.

  3. · kamo-internal

    System Wide toggle + Credit-Balance Editor + Kaskadenfilter; Historie Mitgliedsfilter/Verlinks/pagination; Inject icon+INJECT bestätigen

    - /leads/credits: rechts ausgerichtetes 'System Wide:' Aktiv/Suspended Dropdown; Credit Balance verwendet die "Funable InfinityCell" (Senkung ungültig, -blätter as-ist); Produktfilter Kaskaden von Vendor (unbetätigt/reset when vendor = All). - /federt/Geschichte: Manager-only Member-Filter (VIEW_LEADS-Intader, alphabetisch), Lead ID + Kontaktname Link zur Lead, vollständige serverseitige Paginierung. - /bles/verfügbar: Testleitung inject ist jetzt eine Icon-only-Taste mit einem Tooltip. - ConfirmationDialog: optionale HerausforderungWord-Requisite (Inject verwendet 'INJECT'); Entfernungsströme das zufällige Wort unverändert zu halten.

  4. · SecurityService

    Systemweites Spiel umschalten, Lead-Zuschauer, Credit-Balance-Edit, Historien-Plung

    - /credits/systemwide GET+PATCH (org credit-suspend), /credits/lead-viewers (VIEW_LEADS Inhaber inkl. Zuschuss-all) für den History-Mitgliedsfilter. - Credit-Balance bearbeiten auf PATCH /zusteilen/{id': Zahl senkt sich durch Entunwirksamung, null = . - /leads/history now paginated (page/size/total) + liefert Lead contactName. - verfügbareZusammengehalt + vorhanden() Gate-Kreditannahme auf dem org System Wide Switch.

  5. · kamo-shared-library

    Systemweite Kreditaussetzung, Kredit-Balance-Ungültigkeit, paginierte Geschichte

    - OrgLeadConfig (neue ORG_LEAD_CONFIG Tabelle): org-wider 'System Wide' Schalter, der aussetzt CREDIT-BASED Bleiauto-Assignment (FFA unbeeinflusst); gated in accept NextLead (neu SYSTEM_SUSPENDED Ergebnis). - **************** + repo invalidateCreditsByIds: reduzieren Mitgliedsstandesguthaben zu einem Ziel durch ungültige Überschreitung des Exzesses von ältester zu erstem. - CreditAssignmentHistoryService: serverseitige Paginierung (getHistoryPage/PagedHistory) + pro-entry lead contactName (nur für die sichtbare Seite gelöst).

  6. · kamo-internal

    Aufteilung von Lead Credits in Verfügbare/Geschichte/Verwaltung von Credits-Aktionen

    Rebe die /leads top-rechts Aktionen neu auf: Neue Leitung hinzufügen, Leads Available (-/Leads/verfügbar, Bolt-Symbol + Live-Verfügbarkeitsanzeige, angezeigt mit Verbringen/Emprechnung), Historie (A/Führung/Geschichte, Historien-Ikone), Verwalten von Credits (C/Leads/Credits, Credit Card Icon, nur Manager). Ersetzen Sie die einzelne 'Lead Credits' Button, der auf die /bles/zuzuteilungen umleitet.

  7. · kamo-internal

    Test Lead-Aktion auf /leads/verfügbar (nur Manager) inject Test Lead-Aktion einwerfen

    Fügt eine 'Inject Test Lead'-Taste neben Accept für jeden Anbieter/Produkt hinzu, der nur angezeigt wird. Mitglieder mit MANAGE_CREDITS. Öffnet einen Bestätigungsdialog, dann POSTs zum neuen Inject Endpunkt; das synthetische Blei landet im Pool und das Gitter erfrischt live.

  8. · SecurityService

    Inject Test Lead + fix Manage-Credits Liste für Grant-all Admins

    - Neue POST ************ (MANAGE_CREDITS): eine synthetische 'Void - Test Lead' (John Doe / 555-555-5555 / noreply@<org base domain") mit erfordert Zuweisung=true in den gegebenen Markt/Verkehr/Produktauto-Auftrag Pool so der Accept Flow kann Ende-zu-Ende ausgeübt werden; veröffentlicht Verfügbarkeit für Live-Updates. - Manage-Credits förderungsberechtigte Mitgliederliste jetzt Gewerkschaften Zuschuss-alle Mitglieder (Eigentümer/Verwalte, deren *** ist mit jedem Recht bestückt) mit der expliziten Rechte Abfrage, also ein Grant-all admin, der SPEND_RECEIVE in Sitzung hält, aber keine explizite MemberRightsApplied Reihe hat erscheint nun in der Liste. - Extraktion der Stipendien-Entdeckung der Sitzung in GrantAllRoleResolver und wiederverwenden in sowohl PostAuth***Service (keine Verhaltensänderung) und LeadCreditController.

  9. · kamo-shared-library

    Original hochgeladene Dateischlüssel auf LeadImport run

    Fügt SOURCE_FILE_KEY + SOURCE_FILE_CONTENT_TYPE Spalten hinzu, so dass ein Laufreferenzen Originaldatei in MinIO archiviert (KamoInitializer fügt die Spalten bei nächster Laufzeit hinzu).

  10. · kamo-internal

    Archiv & Download der original importierten Datei

    Bei Start Import wird die Rohdatei hochgeladen (best-e-Anfing) und ihr Schlüssel an den Import übergeben POST; Past Imports zeigt einen Download-Button für Läufe mit einer archivierten Datei. +2 Vollmacht Routen (source-Datei Upload + Download), +2 i18n Schlüssel.

  11. · SecurityService

    Originaldatei zu MinIO + Download Endpoint herunterladen

    Injiziert MinIOStorageService; POST /source-Datei speichert den Roh-Upload im privaten interner Bucket; GET /{id'/source-Datei streamt es zurück (Orig-geprüft); der Schlüssel ist eingefädelt durch den Import POST und persistImportRun; GET Geschichte gibt jetzt zurück.

  12. · kamo-internal

    Vorlagen importieren + Vergangene Importe Sub-Tabs, auto-detect, re-import

    - Sub-Tab-Bar im LeadManualImportManager: Import Leads | Import-Vorlagen | Vergangenheit Importe - LeadImportTemplateManager: Vorlagenliste/Erschaffen/edit/löschen + Upload-gegen-Vorlage (import-as-is oder Mapping anpassen); verwende FieldMappingInterface im datei-agnostischen Modus - LeadImportHistoryManager: Runliste mit importiertem/totalem + Fehlersymbol, Fehlerbericht, Fehlerausfälle Zeilen weiter importieren (optionale Mapping-Anpassung) - Auto-detect: auf Datei parse, POST-Header zu /detect; wählen Sie eine abgestimmte Vorlage oder neu machen; save-as-template am Ende eines frischen Imports - FieldMappingInterface: parsedData optional + Header prop für Template-edit-Modus - Nächste Proxy-Routen für Blei-Import-Vorlagen/* und ****************

  13. · SecurityService

    Persist Runs/Records, Vorlage CRUD, Header auto-detect & re-import

    - LeadImportPersistenceService: Header normalize+SHA3 Fingerabdruck (bestellt/unbestellt), Mapping/Reduzierung JSON Rundreisen, persist run + Nicht-Erfolgsaufzeichnungen, Vorlagenerkennung (Jaccard) - LeadImportTemplateController: ************ CRUD + /detect (org-scoped) - LeadImportController: real paged GET Geschichte; POST besteht auf der Lauf + Nicht-Erfolgsreihen und gibt den realen ImportId zurück (fileName/templateId via query param); +GET /{id'/records und POST /{id'/reimport-failed; processImport refactored to emite per-row rowOutcomes (global Zeilenindex, createdLeadUid) unter Beibehaltung der Phase-0-Korrektheitsbehebungen

  14. · kamo-internal

    Live-Verfügbarkeitsanzeige auf dem Lead Credits-Button

    Spiegeln Sie die NavPri Leads Indikator auf der /führt 'Lead Credits' Aktion: ein grün/rot status dot (grün = ein Blei ist jetzt akzeptabel über FFA oder Kredit, rot = keine) und ein grüner Impuls/Glühung, wenn eine akzeptable Kreditleitung wartet. Gated auf dem SPEND_RECEIVE_LEAD_CREDIT-Signal (leadAlert.active). Grün ist hier fixiert (Dies ist die Credits-Aktion), im Gegensatz zum Thema-agnostischen weißen NavPri blinken.

  15. · kamo-internal

    Live NavPri Bleialarm - grün/roter Dot, blink, Feuer Popup, Kantenbesatz

    - LeadAlertProvider (global, montiert auf NavPri-Niveau): WS-driven /verfügbar-summary; Laufwerke alle Zustand - NavPri Leads Symbol: grüner Dot (kann akzeptieren) / rot (kann nicht); spürbar blinken, wenn ein Kredit-Leit ist akzeptabel. Ganz auf SPEND_RECEIVE_LEAD_CREDIT Gated - kein Indikator/Popup ohne das Recht. - NewLeadPopup: Mitte-Bildschirm Feuer Popup (Flamme + animierte Flammen), Akzeptieren Lead / Not Now (beide deaktiviert 1s), automatisch schließt mit einem 1s Fade, wenn der Pool entleert ist, keine Hintergrund-close. Nur Brände auf einer NEUEN akzeptablen Kreditleitung, wenn der Nav-Top-Status VERFÜGBAR ist. - LiveEdgeTrim: Kamo-Marketing LIVE schimmern um alle 4 Bildschirmkanten gewickelt, während das Popup ist. Alle leben über NATS-STOMP.

  16. · SecurityService

    GET / Lead-Wars/verfügbare für den Live NavPri Lead Alert

    Aggregate die Anruferakzeptabilität in allen aktiven Märkten (Kommentar-Gate + Kredit/FFA/ Regeln für die tägliche Ausgaben). Returns hasAcceptable / hasAcceptableCredit / blockedByComments / topCredit. Gibt all-false für Mitglieder ohne SPEND_RECEIVE_LEAD_CREDIT zurück.

  17. · kamo-shared-library

    Persistenzrücken für Importvorlagen, Läufe & Pro-Rese-Rekorde

    Ersetzt die leeren Stub-Entitäten durch echte @Entity-Klassen (modelliert auf der LeadIntake* Präzedenzfall: UUID-ID, gen_random_uuid, DB-default-Zeitstempel, statusId + @Transient enum) plus Repositories, so manuelle Import Vorlagen, Vergangenheit-Import Geschichte und gescheiterte Re-Rind-Re-Import kann fortbestehen: - LeadImportTemplate (+ headerHashOrdered/Unbestellter Fingerabdruck, useCount, Soft-Löde) - LeadImportTemplateMapping ************ JSON) - LeadImport (Header laufen: zählt, Mappings Schnappschüsse, Vorlage/Quellenleitung) - LeadImportRecords (pro Nicht-Erfolgszeile: rawRowJson, status, errorMessage) - LeadImportRecordStatus enum + 4 Repositorien Tabellen werden von KamoInitializer (ddl-auto) im nächsten Lauf erstellt; Dienste bleiben ddl-auto:none.

  18. · kamo-internal

    /account-style header+tabs, /leads Kartenbehälter, rechts gating

    - LeadsCreditLayout: Gradientenheld Header + Unterlinie Tabs (Macht /Acount); Filter+Grd in abgerundeter /leads-style Card; Verfügbarer Tab gated by SPEND_RECEIVE_LEAD_CREDIT - Verwalten Credits Grid von Mitgliedern mit SPEND_RECEIVE (Mitglied x Produktmatrix, create-on-edit); /leads-style Filter-Container - /bles/verfügbare Wachen auf der rechten Seite; /bles/zuzuteilungen ist rechtsbewusst - Leitansicht: Mark-as-Requires-Umwidung Aktion (MARK rechts) + Zuweisung umverlegt von REASSIGN_LEADS_MANUALLY - RoleRightType.ts: 3 neue Rechte

  19. · SecurityService

    Mark-Ressignment gated by MARK right; Manage-Credits gibt Mitglieder mit Spend/Receive rechts zurück

    LeadAcceptController: mark-reassignment erfordert MARK_LEADS_REQUIRES_ASSIGNMENT. LeadCreditController.manage: kehrt berechtigte MitgliederIds zurück (SPEND_RECEIVE_LEAD_CREDIT Inhaber).

  20. · kamo-shared-library

    3 CRM-Rechte + Mitglieder-mit-Rechts-Abfrage

    RoleRightType: SPEND_RECEIVE_LEAD_CREDIT(147), ************ REASSIGN_LEADS_MANUALLY(149) unter CRM. ******************** für die Auflistung von Mitgliedern, die ein Recht haben. Selbsterhitzt auf SecurityService Boot; keine Schemaänderung.

  21. · InitializerService

    Codify 4,2 Anforderungsschreiber Single-Live partiell-unique Backstop

    Bei höchstens EINEN LIVE-Anforderung pro (loan_file_uid, img_doc_type_id, party) Verpflichtung Zelle. ************ App-Schicht idempotenz lesen kann ein gleichzeitiges Doppel-Instantiat fangen (beide lesen Null-Live; Zustand + Anforderung INSERT zu verschiedenen Tabellen - kein CRDB-Konflikt). Dieses Teil-Einstimmige macht Single-Live-Struktur. Spiegel **************** DocumentRequirementStatus ist @Enumeriert(STRING). Idempotent CREATE IF NOT EXISTS.

  22. · kamo-shared-library

    ************ (Accepted-Today Kolumne)

    Counts führt ein Mitglied, das seit einem UTC-Instant per Kredit/FFA für ein Herstellerprodukt angenommen wird (Mitglied der örtlichen Start-of-Day). Verbraucht von LeadAcceptController /leads/verfügbar.

  23. · kamo-internal

    Credit-basierte Lead-Denkweisung UI (verfügbar/Geschichte/Credits)

    - /leads/verfügbar: Echtzeit-Anbieter/Produktnetz, atomische Akzept (Routen zum Blei), Kommentar-Gate blockiert Zustand, Reihen animieren den Moment, in dem ein Blei beanspruchbar ist - /leads/history: Live Credit + Einsatz Timeline mit Event-Typ-Filter - /bles/credits: MANAGE_CREDITS-gated gated gated grid; Balance / Max Daily Spend / Credit Balance, Aktiv/Ausgeverbraucht umschalten, verteilen, live blinken - Shared LeadsCreditLayout (nav tabs + Marktsub-Tabs + 'CRM nicht konfiguriert' Zustände + Schnelle Tipps) - STOMP Hook (useCreditAssignmentWebSocket) über MediaService; useLeadMarkets - 10 Proxy-Routen; ************ /Leitungen/Zuteilungen jetzt umgeleitet tsc --noEmit: 0 Fehler in neuen Dateien.

  24. · kamo-shared-library

    ************ für die Registrierungsentscheidung hinzufügen

    doc 11 5,3 Schritt 4 / 10 Audit Vollständigkeit - jede Registry Mint/Receipt/Supersede emittiert eine gepaarte WORM AiDecision + LoanIdentifierEvent. Dies fügt die AiFunction der **************** Spalte wurde für reserviert. Nur Additive enum constant (keine Versionsbeule, keine DDL: ai_function hat keine Whitelist CHECK - das generische enum-CHECK Sweep gilt).

  25. · DaemonService

    Tägliche Vergünstigung verwirkt Prüfungsauftrag (stimg, pro Mitglied Zeitzone)

    Aufzeichnungen FORFEITED Reihen für Mitglieder mit Tropf Kleinotments, die nicht in auf ihre unterzeichnen abgeschlossenen lokalen Tag. Idempotent, nachgibt zu GRANTED Reihen. Compils clean (mvn).

  26. · MediaService

    Relay Credit/Lead-assignment NATS-Ereignisse an STOMP

    Abonniert security.leads. und security.credits. CRM-Frontend aktualisiert das Leads-Versable Grid, Manage-Credits-Felder und die Historie live. Kompilieren sauber (mvn).

  27. · SecurityService

    Kredit Lead-Seniment API ************

    - LeadAcceptController: GET /leads/verfügbar, POST / Leads/accept (atomic, comment-gated, FFA + Kredit), GET /leads/uncommented, POST /leads/{id'/mark-reasignment, GET /leads/history - LeadCreditController (MANAGE_CREDITS): GET /credits/manage grid, POST /credits/distribute, POST/PATCH /credits/zuerteilung, POST /credits/daily-grant - CreditAssignmentPublisher: org-scoped NATS Veranstaltungen **************** - PostAuth***Service: tägliche Zuteilung bei der ersten Anmeldung des Mitglieds Ortstag gewähren Compils clean (mvn).

  28. · kamo-shared-library

    Kredit-Vergabe Orchestrierung Dienstleistungen (Shared-lib)

    - LeadAllotment.isInfiniteBalance (Creditguthaben - Mint-on-the-fly at accept) - CreditLeadAssignmentService: atomic Accept-Lead (select-lock-recheck"claim, multi-instance sicher), FFA Bypass, Kommentartor, Mark-for-Ressignment (MARKED_FOR_REASSIGNMENT Geschichte) - DailyAllotmentService: pro Mitglied-Zeitzone täglicher Zuschuss (idempotent) + verwirktes Audit - CreditAssignmentHistoryService: Unified Zuordnung + Kredit Lifecycle Timeline - ************ (org-weite Kredithistorie) Komponiert vorhandene Lead*Service; keine Logik dupliziert. Compils clean (mvn).

  29. · kamo-shared-library

    Credit-assignment Shared-lib-Hilfen

    - ************ - Macht der 'must comment before Annahme eines weiteren Lead-Gate (Kommentar = nicht entfernter MediaObj im Bleistrom) - ************ - pro Vertreibungsprodukt Guthaben Ausgaben für den kreditbasierten Accept Lead Flow Compils clean (mvn). Additiv; verbraucht vom Akzeptanz-Obstration-Service (weiter).

  30. · kamo-shared-library

    Kredit-Blei-Assignment-Daten-Modell (shared-lib)

    - Lead: erfordert Eintragsflagge + markiertWeitergabeEinstellungEintritt/By (abwegig; null Schauspieler = Anbieter/API-Import) - ************ + eventTypeForKey Routing + Registrierungsfehler - ************ (org-weite Geschichte über gemeinsame Prädikatsbauer) - RoleRightType.MANAGE_CREDITS (146, CRM-Gruppe) - Selbstheilungen beim SecurityService-Boot - DailyAllotmentGrant Entität + Repository (einmal pro Ortstag Zuschuss, idempotent) - ************ - Grenze pro Mitglied Tag - LeadRepository: assignable-pool count/fetch + pessimistisch-lock Anspruch (multi-instance safe) LeadCreditRepository: pro Verkäufer-Produkt-Guthaben + Tagesausgaben zählt Nur additive Schema (neue nullbare/defaulted Spalten + neue Tabelle). Wiederverwendung bestehender ************ Compiles clean (mvn).

Euer Universum wartet.

Fügen Sie Produkte hinzu, wann immer Sie möchten – keine Migration, keine neuen Anmeldungen.

Für immer kostenlos – keine Kreditkarte erforderlich