Direkt zum Inhalt
KAMOUniverse

Changelog

Was ist neu?

Jede Verbesserung an der Plattform, wie sie geliefert wird.

  1. · kamo-internal

    Einstellungen - Telefon - Kontaktieren Sie nicht, und das Softphone warnt vor dem Aufruf einer gelisteten Nummer

    Besitzer 2026-10-15: eine unternehmensweite Do-not-Kontakt-Liste pro Organisation, gespichtt pro Organisation Kanal. - Einstellungen - Telefon - Kontakt nicht (MANAGE_VOIP_SETTINGS, EinstellungenMenu Sub-Eintrag, kein Admin-Bar-Link): der Anrufmodus (warnen und wählen Sie auf Bestätigung, die Standardeinstellung oder den Block), Kanalfilter, Suche, Addieren, Importieren (Paste oder .csv/.txt, bis 1000), mit einem entfernen erforderlich Grund, und die Geschichte (jedes hinzufügen und entfernen, von wem, warum). - Das Softphone: SoftphoneContext reicht jedem Verbraucher ein bewachtes Zifferblatt, so dass jeder Anruf der Person (der Anruf des Softphone-Fensters und jeder Anruf woanders, der es öffnet vorgefüllt; auch der JustCall externe Dialer) fragt GET /api/voip/do-not-contact/check Erstens. Eine angegebene Nummer zeigt "{number" gebeten, nicht auf {Datum] aufgerufen werden mit Abbrechen / Rufen Sie trotzdem, oder, wenn die Organisation blockiert, OK nur. Nur der CALL Eintrag zählt. Eine Überprüfung, die die Einwahlen nicht einzahlt (ein Anruf von SI scheitert im Kamoai-Service). - Schlüssel: Kamo-Translation-Wörterbuch 7b74200b (vorerst gedrängt). Tests: DoNotContactTab.test.tsx, DoNotContactDialGuard.test.tsx, doNotContactDial.test.ts (RED auf Ursprung/Haupt, GRÜGE hier), Einstellungen Menüabdeckung; die 20 Quellwächter und check-i18n-keys --require-messages gegen das geschobene Wörterbuch.

  2. · kamo-internal

    SI-Routing zeigt, was SIs jetzt verwenden - das effektive Modell pro Art von Arbeit und ob die Org-Anordnung oder die automatische Standard wählte es; für Sprache-zu-Text, das Modell auf Telefonate und in Sitzungen, gestreamt oder pro Satz, mit dem automatischen Genauigkeit-Ranking-Hinweis

    Besitzer 2026-10-15: "Wenn ein Modell hinzugefügt und aktiviert wird, um die SI-Anbieter, die Sprache zu Text unterstützt, sollte es verwenden die beste". Lesen Sie die effektiven / effektiven Kontaktanrufe von AIService auf jedem Routing-Eintrag; ein AIService ohne sie zeigt nichts Neues.

  3. · EmailService

    E-Mail-Wahlbeurte erreichen die Do-not-Kontakt-Liste, und Kampagnen, Aktien und eine SI-Mail-Prüfung

    Besitzer 2026-10-15: eine unternehmensweite Do-not-Kontakt-Liste pro Organisation, in Umfang pro Kanal; eine E-Mail abmeldet nur E-Mail. - Writer: MirroringEmailOptOutLedger (die EmailOptOutLedger Bohne) Hands jeder Anwendungsänderungen an EmailDoNotContactMirror. Eine ganze Abmeldung (Vorgabe (Vorgabe Seite, One-Click, Liste-Unsubscribe mailto, Relais) listet die Adresse für EMAIL (Quelle EMAIL_UNSUBSCRIBE, aufgezeichnet von "Ressourcen" oder "Mail-System (<source?))); die Person, die E-Mails wieder erlaubt, nimmt sie ab (EMAIL_RESUBSCRIBE), ein Mitglied, das es mit Zustimmung der Person anhebt, nimmt es mit seiner Notiz ab (MANUAL). Bounces, Beschwerden, Themen und Pausen bleiben die E-Mail-Liste selbst. Geschrieben nach dem Opt-out-Verpflichtungen, REQUIRES_NEW, nie geworfen: ein unsubscribe nie scheitert an der Spiegel. - Leser: SuppressionService (Kampagnen, Artikel-Aktien) und SuppressionLookup (Berechtigung) zählen auch die EMAIL-Einträge, so dass eine Adresse hinzugefügt oder importiert in Einstellungen -" Telefon -" Kontakt wird von der Marketing-Mail zurückgehalten. POST /api/email/send lehnt eine SI (mail_send, mail_reply, mail_forward) 409 ab {Vernunft: DO_NOT_CONTACT, Fehler, Adressen" auf die endgültigen Empfänger, 503 wenn Die Liste kann nicht gelesen werden; die eigene Korrespondenz einer Person hält die bestehenden Regeln. Tests: EmailDoNotContactMirrorTest, DoNotContactSuppressionTest, SiMailDoNotContactGuardTest, EmailControllerSendContractTest (RED über Herkunft/Hauptmain, GRÜN hier), die anderen E-MailController Tests, DeliverabilityWiringTest, SuppressionLookupTest, BulkEmailWiringTest, die Torklappen.

  4. · VOIPService

    Die Do-not-Kontakt-Liste der Organisation - VOIPService besitzt es, Texte überprüfen es, STOP und START schreiben es

    Eigentümer 2026-10-15: eine unternehmensweite Do-not-Kontakt-Liste pro Organisation, Umfangd pro Kanal ("Nur dieser Kanal"). - DDL ************ (DO_NOT_CONTACT, DO_NOT_CONTACT_EVENT append-only für kamo_app, DO_NOT_CONTACT_SETTINGS), angewendet 2026-10-15 04:35Z. - DoNotContactBeans erklärt Share-lib's DoNotContactList (Repositories bereits innerhalb der com.kamo.z.shared.comms Scan; VoipRepositoryScanTest pins sie). - /api/voip/do-not-contact (MANAGE_VOIP_SETTINGS): Liste/Suche, addieren, importieren (bis zu 1000 Zeilen), POST /{id'/entfernt mit einem erforderlichen Grund, Geschichte, Aktivität, Einstellungen (Call-Modus WARN | BLOCK, Standard-WarN). GET /check braucht nur die Sitzung: Was das Softphone und die mobile App vor der Wahl fragen ({gelistet, aufgezeichnetEine, Quelle, Modus, Nachricht: "{number" gebeten, nicht aufgerufen zu werden auf {Datum]".]). - Suche nach weiteren Leistungen: GET ************ ?orgId=&channel=&Adresse= (KAMOAI_INTERNAL_SECRET); ein Service mit dem Shared-lib-Scan ruft ************ Kanal, Adresse). - Texte: SmsGateway verweigert eine für SMS mit OPTED_OUT gelistete Nummer Wiederaufnahme) für jeden Absender, den einer Person oder eines SI sms_send; die HELP-Antwort ist frei (Attempt.keywordReply). Bulk /send und /test-send verweigern es mit 409. Transaktionsvorlagen und interne Sendungen halten ihre bestehenden Regeln. - STOP listet die Nummer für Texte auf (Quelle SMS_STOP); START/UNSTOP hebt sie ab Nur für Texte (SMS_START, Grund "Texted START"). Die STOP Projektion auf AGENT_CONTACT_STATE setzt jetzt nur noch Texte: E-Mail, Chat und Social halten sich Opt-outs (Besitzer: ein STOP Text blockiert nur Texte). Tests: DoNotContactControllerTest, SmsGatewayTest, SmsKeywordServiceTest, **************** VoipRepositoryScanTest (RED auf Herkunft/Haupt, GRÜN hier), VoipMessageServiceKeywordTest, InternalAuthFilterKamoaiTest.

  5. · AIService

    SIs hören mit dem besten Sprachmodell das org aktiviert . ohne Auftragssatz, das beste VERIFIED STT-Modell an erster Stelle durch veröffentlichte Genauigkeit (SttQualityRanking, Anbieter-neutral; TTS hält in-Cluster zuerst); Call-Tickets nehmen nur eine Sitzung Dialekt der Client spricht; E4 weitergibt eine Transkriptionsaufforderung als jeder Anbieter Worthinweise (Prompt, Keyterm/Keyworts, word_boost); Einstellungen . SI routing zeigt das Modell jetzt verwendet, und für STT auf Anrufe und Anrufe undin Meetings

  6. · kamo-shared-library

    Die Do-not-Kontakt-Liste der Organisation, pro Kanal

    Eine unternehmensweite Liste pro Organisation (Besitzer 2026-10-15), pro Kanal: a Anrufeinfassung blockiert nur Anrufe, nur SMS-Texte, EMAIL-E-Mail nur. Paket com.kamo.z.shared.comms.dnc: DO_NOT_CONTACT (einzigartige ORG_ID, CHANNEL, ADDRESS), der Append-only DO_NOT_CONTACT_EVENT Audit Trail und DO_NOT_CONTACT_SETTINGS (per-org-ruf mode WARN | BLOCK, Default-WarN). DoNotContactList (eine Sonderklasse; jeder Dienst erklärt die Beine) ist der eine Leser und Schreiber: isBlocked(orgId, Kanal, Adresse) / find / filterBlocked für jeden Kontaktpfad, addieren (idempotent, erstes Date gehalten), entfernen und entfernenById (ein Grund von 3+ Zeichen wird benötigt, und das REMOVED Ereignis behält es), Suche, Geschichte, Aktivität und der Call-Modus. Adressen sind E.164 für CALL und SMS (PhoneE164, dann E164's NANP-Lesung) und niedrigere Eingesperrt für EMAIL; eine unlesbare Adresse wird verweigert. DDL: voipservice ************ (aufgewendet 2026-10-15 04:35Z). Tests: DoNotContactListTest, ****************

  7. · kamo-shared-library

    AiCallEventType.TEAM_REQUEST Datensätze, die um einen SI-Anruf und die Nachricht gebeten haben

    Besitzer 2026-10-15: Wenn ein Teammitglied eine SI bittet, jemanden anzurufen, ruft die SI sie ohne Genehmigung und ohne Zustimmung Gate, sagt, wen es fordert, liefert ihre Botschaft, und berichtet zurück. K6 nimmt die Anfrage auf (Anfrageer, AnfrageRef, der Name angegeben, die Nachricht) auf diesem Ereignis; der Anrufkontext und das Follow-up lesen es. STRING-persisted, anhänglich nach CONSENT_BASIS.

  8. · kamo-internal

    SI-Routing zeigt "Telefonanrufe und Meetings" - die VOICE_CONVERSATION Slot eigene Modellreihenfolge, mit einem Hinweis, der seine Fallback-Bestellung benennt

    Besitzer 2026-10-15: SI-Telefonate auf eigene Modellreihenfolge, Chat unverändert. RoutingApi-Spi-Spi-Spi-Spi-Spier Shared-lib AiRoutingSlot (ROUTING_SLOTS) und die Art und Fallbackfähigkeit des Slot-Eintrags. Keine Home Admin-Bar-Verbindung.

  9. · kamo-internal

    Ein Mitglied kann sich von SI-Kollegen bei internen Anrufen mit dem Kurzformular grüßen lassen

    SI Call Offenlegung, Eigentümer Entscheidung 11 (2026-10-15): die SI-Kollegen-Karte auf der Mitgliedseigenes Profil (Arbeitszimmer) erhält "Kurzmeldung bei Anrufen mit SI-Team Mitglieder", ein Schalter, der ausgeschaltet ist, es sei denn, das Mitglied schaltet es ein. Auf, ein SI sie Anruf von ihrem Schreibtisch Telefon begrüßt sie mit Vornamen ("Hi Sage, it's Luna, the automatisierter Assistent".) und sagt immer noch, dass der Anruf aufgezeichnet wird; Anrufe von außen Die Bürotelefonanlage erhält immer die vollständige Einführung. Es spart mit der das gesamte Set der Karte (siCallShortGreeting, SecurityService 259063b9); eine Antwort von bevor sich das Opt-in als ausliest. Ein Administrator sieht es nur lesbar. Kein Zuhause admin-bar link. Eine sechste Palettenzeile in der Feldregistrierung.

  10. · AIService

    SI-Telefonate und Meeting-Route auf der eigenen Modellreihen-Bestellung - kamo:voice[:light|medium|heavy] auf E2-Routen im Chat im VOICE_CONVERSATION Slot und Einstellungen - SI-Routing-Listen, Angebote und Speichern des Slots

    Besitzer 2026-10-15: "Verwenden Sie gpt-6-sol für Anrufe"; Chat und alles andere bleiben auf ihrer Bestellung. - ModelSelector: kamo:voice und kamo:voice:<quality' (nur Chat) sind kamo:auto / kamo:<quality" im Slot. - AiRouter: in einem Slot, der Slot an erster Stelle, dann die eigenen Ränge der Fähigkeit (Offset unter ihnen); ein Slot ohne Die aufgeführten Modelle sind unverändert, so dass keine Org das Verhalten ändert. Der Slot erfordert TOOL_CALLING, also ein SI braucht es VERIFIED. Das GPT-6-Tool Fallback (reasoning_effort none) gilt wie bisher: Hier wird kein Aufwand gesetzt. - Nur E2 dreht, die kamo:voice lesen Sie den Schlitz; die Zusammenfassung eines Anrufs behält seinen schlichten Alias (Test). - E13-E15: VOICE_CONVERSATION wird direkt nach TEXT_GENERATION (kind SLOT, fallbackcapability), seine Kandidaten aufgelistet sind die TEXT_GENERATION Modelle mit TEXT_GENERATION und TOOL_CALLING VERIFIED, und nur diese können gespeichert werden. - E1 liest routingSlot, so dass ein Dienst fragen kann, welches Modell ein Anruf erhalten würde, ohne eins zu setzen.

  11. · kamo-shared-library

    Ein Routing-Slot für SI-Telefonate und Meetings - ************-Routen als TEXT_GENERATION mit TOOL_CALLING erforderlich, und CapabilityRequest trägt den Slot (null für jeden bestehenden Anruf)

    Besitzer 2026-10-15: SI-Telefonanrufe erhalten ihre eigene Modellbestellung; Chat und alles andere bleiben, wie sie sind. Ein Slot ist keine Modellfähigkeit: seine Bestellung wird in ai_routing_preferences unter seinem NAME (VARCHAR(64), ohne CHECK gespeichert DDL), und ein Slot-Name entspricht nie einem AiCapability-Code (Test). Eine Anfrage zur Benennung des Slots erhält die erforderliche Slot Fähigkeiten in zusätzlichen Kapazitäten, so dass ein SI-Anrufer sie VERIFIED benötigt.

  12. · SecurityService

    Eine Person kann sich von SI-Kollegen mit dem Kurzformular bei internen Anrufen grüßen lassen

    SI Call Offenlegung, Eigentümer Entscheidung 11 (2026-10-15): der Kollege Kurzform ("Hi Sage, it's Luna, the automatisiert Assistant".) wird nur für aktive Mitarbeiter eingesetzt. die sich auf ihr eigenes Profil, auf einen Anruf, der auf dem internen Telefon bleibt optiert System. Das Opt-in ist ************ (CP12's Reihe über das Erreichte von SI-Kollegen): nullbar, NULL und FALSE sind aus, Vor diesem Build handaufgefordert ************ Anwendung 2026-10-15T02:55:39Z). - CollabPreferencesWire: siCallShortGreeting, ein boolean (null oder absent = aus), gespeichert mit dem Rest des Sets durch das Mitglied selbst (403 NOT_SELF wie zuvor). - CollabPreferencesView: die GET/PUT-Antwort trägt sie. - ColleagueCallCardService: die Call-Karte trägt ShortGreeting, die Kamoai-Service liest mit intelligenceType und aktiv.

  13. · kamo-internal

    Ein Treffen in einer Nachricht - fügen Sie es einmal, und sehen, was sein Organisator geändert

    Der Streifen, der sagte "Nicht auf Ihrem Kalender" und nichts anderes wird die Die Karte des Meetings: eine Datumsgrenze, die Zeit in der Mitgliedszone mit der Organisator eigene Uhr daneben, wenn sie sich unterscheiden, Ort, Link, wiederholen und Gäste. - Eine neue Einladung bietet Zu Kalender hinzufügen und nicht jetzt; Hinzufügen sagt, dass spätere Änderungen gelten für sich. - Eine Folgemaßnahme zu einer Sitzung, die bereits im Kalender steht, wird als Nachricht öffnet (EmailService hat es in der Regel bei der Ankunft getan) und die Karte zeigt "Aktualisiert in deinem Kalender" mit jeder Änderung, alter Wert geschlagen durch neben dem neuen. - Stornierungen, Antworten ("Dana akzeptiert"), die eigenen Treffen des Mitglieds, Einladung älter als ihr Kalender, und Ausfälle sagen alle deutlich, was Sie sind es. Die Klingel CALENDAR_EVENT_CHANGED Mitteilung ist eine Zeile pro Änderung geschrieben, so der Toast, das Benachrichtigungszentrum und der Detaildialog halten nun die Die Linie des Körpers bricht; ein abgesagtes Treffen bekommt das EventBusy-Symbol.

  14. · EmailService

    Ein Treffen, das per E-Mail ankommt, fragt einmal, dann hält sich aktuell

    Eine neue Einladung im Mailreader bietet nun "Add to calendar". Once a Mitglied hat es hinzugefügt, die Follow-ups des Veranstalters gelten für sich: ein bewegt Zeit, ein neuer Platz, eine Kündigung erreichen die Kopie des Mitglieds, ohne zu fragen, und das Mitglied erhält eine CALENDAR_EVENT_CHANGED Benachrichtigung, die Treffen geändert und von was zu was ("Aus: Mi, Okt 14 · 2:00 bis 15:00 Uhr EDT / To: Do, 15. Oktober · 3:30 bis 16:30 Uhr MESZ"), in ihrer eigenen Zone. Ihre eigenen Meetings werden nie per Post verschoben. - InboundInvitationService: Mitgliedsstatus, addieren und bewerbenFollowUp, durch IcsImportService.upsert (Zonen, ganztägig, Serie, bearbeitet und abgebrochene Instanzen) mit einem Vor-/Nach-Schnappschuss für die Mitteilung. Nur ein neuere SEQUENCE gilt; auf einem Serialisierungskonflikt neu verhandelt; die Bekanntmachung wird nach dem Commit-Eid- und Entsetzer pro Ereignis, Änderung und SEQUENCE angehoben. - Bei der Ankunft: MessageIndexer reicht jede gespaktete KamoMail-Nachricht an EinladungAnkünfte, so dass der Kalender ist aktuell, bevor die Nachricht ist geöffnet. Andere Mailboxen gelten, wenn die Nachricht geöffnet wird. - **************** hinzufügen und erneut anwenden Treffen aus der Mailbox des Mitglieds, nie aus dem Browser. - EinladungReader ersetzt den Inbound Parser, der jede TZID-Zeit liest als UTC (2:00 PM Eastern wurde 14:00 UTC) und konnte nicht den ganzen Tag lesen Datum. Eine Botschaft, die ihre Sitzung nur als einladend.ics Anhang trägt ist jetzt anerkannt; Microsoft 365-Treffenmeldungen werden von ihrem MIME gelesen; Ein unlesbarer Kalenderteil versagt nicht mehr die ganze Botschaft.

  15. · kamo-internal

    Vertraulich erklären, eine Entscheidung und Offenlegungsgeschichte an ein erstmaliges Mitglied auffassen und allen dreien einen Premium-Dialog geben

    Jedes Werkzeug öffnet sich nun mit einem Klartext, Drei-Schritte-Anleitung das erste Mal ein Mitglied verwendet es (anstelle des Mitglieds auf dem Server über die UI-Präferenz Karte, SchlüsselmerkmalIntrosSeen; angezeigt, wenn die Präferenz nicht gelesen werden kann), gefaltet anschließend unter einem "Was ist das?"-Button in einer gemeinsam genutzten Dialog-Shell: Markenheld mit beweglicher Glyphe, versetzten Abschnitten, geheftete Aktionen, Erfolg Moment, reduziert-bewegung bewusst. - Vertraulich: das Schloss öffnet jetzt einen Dialog mit der Anleitung, dem aktuellen Stand (wer markierte es, wann), was die Marke tut und nicht tut, und die eine Aktion; ein Mitglied der Marker-Regel verweigert liest, warum statt zu erfüllen eine Toter Knopf. Verweigerung Toasts, Arie-gepresst und eine Änderung im Flug gehalten; die Menüreihen-Variante öffnet den gleichen Dialog. - Nehmen Sie eine Entscheidung auf: Art Karten mit einer Linie, Beispiele, ein Titelzähler, schnelle Entscheidungen, wann es gilt (kein Ende / heute / diese Woche / in diesem Monat / wählen Sie Termine, auf dem Kalender des Mitglieds), eine Live-Vorschau der Karte, Ablehnung, die in Sichtblätter scrollt, ein Erfolgsmoment, der mit Entscheidungen verknüpft wird; supersede zeigt, was es ersetzt. Offenlegungshinweise und Senden trotzdem behalten. - Offenlegung Geschichte: Übersicht Fliesen nach Entscheidung und Kanal mit einem Dot Streifen im Laufe der Zeit, eine Timeline-Ansicht (die Standardeinstellung auf schmalen Bildschirmen) neben der Tisch, ein Skelett beim Laden, ein leerer Zustand, der sagt, was würde erscheinen und warum, und eine einfache verbotene Karte. Keyset Laden Sie mehr, Zone umschalten, 403 und Retry gehalten. - Reiche Tooltips (Name, Zustand, ein einfacher Satz) auf der drei Symbolleiste Tasten, auf jeder Oberfläche, die sie wiederverwendet. - zIndex Sanitär: die Dialoge, der Entscheidungsöffner und die Offenlegungshinweise nehmen Sie eine Schicht; ChatBox hebt sie nur, wenn es malt maximiert auf eigene Faust (MAXIMIZED_Z) - eingebettete Werkzeugfenster bleiben im Dockband unter MUI.

  16. · kamo-internal

    Sprechen Sie Ihre Nachricht, Freisprecheinrichtung Konversation und lesen Sie Antworten laut in jedem Chat-Fenster

    Die Stimme des öffentlichen Web-Chats - Diktat, Antworten vorgelesen, und eine Freisprech-Loop - läuft jetzt in jedes Chat-Style-Tool-Fenster: Mitgliedschat (einschließlich Chats mit SI-Mitgliedern), Support-Tickets, soziale Gespräche, Exec2Exec, der SI-Assistent und SMS. - @kamo/voice-core 0.1.0 ist die Zustandsmaschine, die mit dem Widget geteilt wird; useChatVoice bindet ein Controller pro Fenster (SSR-sicher, faul erstellt) und gibt es nach Kontext. - Der gemeinsame Komponist (und die SI- und SMS-Komponisten) zeichnen das Mikrofon neben Emoji/Tabelle, ein höflicher Statuszeile, und die Hands-free des Fensters / Antworten laut lesen Kipps (aria-gepresst). - Antworten erreichen die Stimme vom vorhandenen Echtzeit-Handler jedes Fensters: nie eine zweite Steckdose Abonnement, nie die App-weite Chat:message-emped nudge. SMS-Wiedergabe zu einem neu eröffneten Fenster sind markiert und nicht wieder gelesen; der Turn des SI-Chats löst sich mit der Antwort selbst. - Ein minimiertes Fenster ist stumm; eine Sprach-App-weit (ein neueres Zuhören/Sprechen stoppt das letzte; eine Antwort wird nicht über ein anderes Fenster mitten im Gespräch gelesen; der Nameaussaiger teilt die Regel). - Freisprecheinrichtung / Vorlese sind Mitglied UI-Einstellungen, ausgestrahlt, um Fenster zu öffnen; Freisprecheinrichtung kommt zurück pausierte. Sprachsprache folgt der App-Lokation.

  17. · VOIPService

    Ai-lines benennt die Nummer, an die ein verpasster Anruf zurückgegeben werden kann

    Jede Zeile von /ai-lines?orgId= trägt CallbackNumber: die SI-eigene Linie, sonst ein Nummer zugewiesen, sonst die Hauptnummer seines Telefonservers, sonst ist die org nur aktive Zahl; Null, wenn keine (nie eine Vermutung unter mehreren). Die Minute SIP-Synchronisation (no orgId) überspringt die Suche.

  18. · kamo-internal

    Der Herausgeber bietet JOIN_MEETING an, so dass eine Organisation eine eigene Regel für ein SI-Beitritt festlegen kann

    Eigentümer 2026-10-14: Teilnahme an einer der Sitzungen der Organisation ist seine eigene Aktion Klasse (shared-lib 2d2f2efd), nicht PLACE_CALL. ACTION_CLASSES listet es nach den beiden Call-Klassen, und APPROVAL hält einen Eintrag mehr (22), wie Share-lib CharterSection tut. Das Label kommt aus dem Charter-Vokabular wie für jede Klasse. Tests: Section.test.ts (die Liste, die Anzahl und die Kappe von APPROVAL)

  19. · APIService

    Live Support-Dateien der Website-Besucher über das Gateway

    - POST **************** die mehrteiligen "files" Teile werden als frisches mehrteiliges Gremium zu MediaService zurückgebracht, gestreamt aus dem Container Gepoolte Kopien (der generische Proxy kann nicht mehrteilig voranschreiten: Der Frühling hat bereits gepars es). Mehr als 5 Dateien, oder eine über 25 MB, wird hier ohne einen vorgelagerten Hop abgelehnt. - GET .../attachments/{objImgId' und .../Preview: gestreamte Byte-für-Byte (eine Agentendatei kann Gigabytes sein; die generischen Proxy-Puffer im Haufen), Range weitergeleitet, und nur die Datei eigene Header kreuzen (Typ, Länge, Reichweite, Disposition, Nosniff, CSP, Wiedergabe). - CORS stellt jetzt Content-Disposition, Content-Length, Content-Range, Accept-Range, X-Attachment-Rendition und Retry-After zum Widget (Traefik's cors middleware Sets keine eigene Aufdeckungsliste). - Eine vorgeschaltete Verweigerung behält den Content-Typ, so dass ein JSON-Fehler das Widget als JSON erreicht. - Rate limiter: Anlagerouten sind Gesprächsverkehr, nicht Sitzungserstellung (sie gedrosselt bei 3/min/IP); Uploads 10/min/IP pro Gespräch, Downloads 120/min/IP pro Anlage.

  20. · MediaService

    Website-Besucher können Dateien in Live-Support anhängen - sichere Typen nur

    Ein Besucher auf der Website eines Kreditgebers kann jetzt Dokumente, Bilder, Reißverschlüsse und gewöhnliche senden Audio/Video an den Agenten in der Registerkarte Live Support, und lesen Sie beide ihre eigenen Dateien zurück und die des Agenten. Scripts, Autorruns und ausführbare Dateien werden abgelehnt. Das Tor ist PublicVisitorAttachmentPolicy, beurteilt gegen die Bytes statt der Name oder deklarierter Typ: eine Standard-Deny-Erweiterung allowlist (durch die letzte Erweiterung, mit gefährliche Innenerweiterungen, bidi-Überschreitungen und Windows-Punkte abgelehnt), magische Bytes, die der beanspruchten Familie entsprechen müssen, PE/ELF/Mach-O verweigerte, was auch immer Name, Text, der wirklich Text sein muss, und ZIP-Familie Dateien durch ihre zentrale Nur Verzeichnis (keine Dekompression) - keine ausführbaren Dateien, verschachtelten Archiven, Symlinks oder Pfad Traversal in einem .zip; keine Makros, ActiveX- oder Embedded-OLE-Pakete in Office/OpenDocument; kein VBA-Projekt oder verpacktes Objekt in Legacy OLE2; kein eingebettetes Objekt in RTF. Neue Endpunkte (hinter dem Schlüssel/Ursprung/Rate-Gate von APIService, Session-Ton autorisiert): - POST ************ (mehrteilige "Dateien", je 1-5, 25 MB) - GET|HEAD .../attachments/{objImgId] und .../Vorschau (gleiche Sicherheitskopfzeilen wie die Mitgliedsroute, jetzt geteilt durch AttachmentResponsen) - POST .../messages akzeptiert "Anhänge": [{imgId, sortId] - Nur die eigenen Uploads des Besuchers in dieses Gespräch; Historienreihen tragen Anhänge in der Mitgliedsform. Besucherdateien werden wie jeder Chat-Anhang gespeichert (CHAT_ATTACHMENT, der Session-Guid, erstellt durch das Systemmitglied des org), so dass das Fenster des Agenten sie unverändert wiedergibt. sendSupportMessage kündigt nun alles an (NATS-Rahmen mit Anbaugerät, Aktivität mit hatAnhänge, anhängige Zählung) nach der Übergabe und ist @RetryOnDbConflict.

  21. · KlusterServices

    Postfix nimmt den Namen mail.kamouniverse.com, sobald es sich hier löst

    kamouniverse.com ist die Plattform Senden Domain, aber der Server immer noch stellte sich als mail.kamocrm.com in seiner EHLO, erhaltene Kopfzeilen und bounces. Postfix wählt jetzt seinen Namen am Anfang: mail.kamouniverse.com dass Name auf die gleiche Adresse wie mail.kamocrm.com behebt mail.kamocrm.com wie bisher, da ein HELO-Name ohne A-Platte selbst ist ein Spam-Signal. smtp_helo_name folgt myhostname. auto-cert gibt jetzt mail.kamouniverse.com heraus und spiegelt es in die Mail namespace, Neustart von Postfix. Es kann nur einmal die A-Platte ausgeben löst, so dass das Hinzufügen der Platte ist alles, was es für den Schalter braucht: die Neustart wählt den neuen Namen und sein Zertifikat.

  22. · kamo-shared-library

    JOIN_MEETING, der an einer der Sitzungen der Organisation teilnimmt, ist seine eigene Aktionsklasse und nicht PLACE_CALL

    Besitzer 2026-10-14: Luna (crm) bat den Besitzer, die Teilnahme an der Sitzung zu genehmigen, die er gerade ihr gesagt hatte, um teilzunehmen. meeting_join wurde PLACE_CALL eingestuft, so dass die Charta "Telefonanrufe stellen: um Erlaubnis zuerst fragen" auf sie zutreffend (zustimmen 3f6fe9fc, 4ad68782). Bei einem Treffen ist kein Telefonanruf tätig: AiActionClass fügt JOIN_MEETING (AUTONOMOUS standardmäßig, nicht monetär) hinzu; das Tool Plane befreit es von der Autonomiegrenze, während keine Charterschicht sie benennt (mcpgatewayservice), und die Benennung in einer Schicht ist, wie eine Organisation sie anzieht. CharterSection.APPROVAL hält einen Artikel mehr (22). Jede gelöste Charta erhält die Klasse, so dass sich jede Charterstempel einmal bewegt (CharterStampTests Vermächtnis golden bewegt sich mit ihr, wie es SEND_INTERNAL_MESSAGE und RELEASE_INFORMATION getan haben). Tests: CharterEnumsTest pinnt die Reihenfolge, die Standardeinstellung und die Kappe. AiAutonomyModeTests Draft-Art-Pin scheitert auch an der Herkunft/Haupt-Ansteck (RELEASE_PROPOSAL), hier unberührt

  23. · kamo-internal

    Typed Remote-Monitoring-Client und die reinen Fortschritts-, Limit- und Ablehnungsregeln

  24. · kamo-internal

    Spiegeln Sie die drei Fernüberwachungsrechte und Gate die RPM_ALERT Art

  25. · APIService

    Teslas Partner Schlüsselweg servieren und ihn von den Zugangsregeln ausnehmen (IoT SP08-D2)

    GET **************** vorwärts sessionless (Identity Header und Genehmigung fallengelassen) zu IoTService **************** der genaue Weg (Container- normalisiert) ist von den IP/geo-Regeln der Plattform oder ausgenommen.

  26. · KlusterServices

    Öffnen Sie TCP 8285 für Tuyas Nachrichtendienst (IoT SP08 D4)

  27. · MediaService

    Der eigene Beit (M1) trägt die Einwahl des Meetings, wenn es nicht direkt in den Raum gestellt werden kann

    2026-10-14: SIs gebeten, an einem Treffen teilzunehmen sagte den Menschen "es gibt keine Einwahl" und bat um einen anderen Weg in. kamoai-Service wählt nun den Weg in sich selbst: direkt in den Raum (LiveKit -- meet-<room") zuerst, und Die eigene Einwahl des Meetings nur, wenn das nicht platziert werden kann. Dafür braucht es die Einwahl, also tritt M1 bei benennt es - {Extension, Pin] - wenn der Anrufer die SI ist, die sich verbindet, die Brücke ist an, und die PIN löst zu diesem Treffen jetzt auf (DialInPins.resolve: ein schließbarer Kamo Meet innerhalb seines PIN-Fensters), also eine PIN Ausgehändigt ist eine, die die Brücke nimmt. Eine Person, die eine SI einlädt, erhält die PIN nicht über M1. Tests: MeetAiControllerTest (der eigene SI-Beitritt trägt es; eine Person Einladung, eine PIN außerhalb seiner Fenster und eine Besprechung ohne eine tragen keine).

  28. · kamo-shared-library

    SP12 Gesundheits- und Gesundheits- und Körperschaften, Entitäten, Repositorien und Überwachungs-Staatsvorleitung

  29. · kamo-shared-library

    SP12 RPM Code Regeln, Periode Mathematik und Schwellenmathematik

  30. · kamo-shared-library

    SP12 pure Vital Mapping - LOINC/UCUM, Einheitenkonvertierung, Plausibilität, undurchsichtig Validic uid

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