Changelog
Was ist neu?
Jede Verbesserung an der Plattform, wie sie geliefert wird.
· kamo-internal
Einschreibungsassistent mit dem Zustimmungsskript, connect-a-device, Zeiteingabe und der Abrechnung
· kamo-internal
Die Registerkarte Monitoring, die Praxisüberwachungs-Warteschlange und der Fernüberwachungsschalter der Organisation
· kamo-internal
Fernüberwachung in die Karte, die Praxis-Warteschlange, die Mastkopf-Zählung, die Chart-Zusammenfassung und die Patienten-Tour
· DaemonService
DaemonService tickt Fernüberwachung schließen/keine Daten stündlich, Abgleich alle 15 Minuten, Alarmeskalation alle 5
· kamo-shared-library
Iot.alarm_notice E-Mail Vorlage
· kamo-shared-library
SP06 Alarmlogik - ISA-18.2 Staatsmaschine, Eskalation, Unterdrückung, Zeitplan, Hochwasser
· kamo-shared-library
SP06 Regellogik - Schleife Mathematik, Fingerabdrücke, Feuertasten, Templating, Gründe
· kamo-shared-library
SP06 Regellogik - Solar, Zeitpläne, Standorttage, Bedingungen, Auslöser
· kamo-shared-library
SP06- Wortschatz, Entitäten und Lese-Only-Repositories
25 Enums (Namen gespeichert), IotServiceJobOrigin (SP13 Schiffe darauf), 17 Einheiten passend zur SP06 DDL und ihre Nur Lese- und Repositories; IotActivityKind += AUTOMATION_ENABLED, AUTOMATION_DISABLED (SP11-D6).
· MediaService
Share-Card Endpoint und Server-only System-Events (IoT SP04)
POST **************** IoTService postet die IOT_SHARE-Karte in ein Mitglieds Unterstützungsticket oder Exec2Exec Konversation als System-Event des Sharers, durch das One-System-Event Verfasser (jetzt auch die Antwort auf die gespeicherte Nachrichten-ID). X-Internal-Auth = IOT_INTERNAL_AUTH_SECRET (Secret iot-internal-auth, bereits für SP01's STOMP authz montiert), konstante Uhr; 503 Rohlinge, 403 Missverhältnis. Ein Live Support (Besucher) Ticket wird verweigert 409 SESSION_TYPE; eine Karte darf keine tragen Schlüssel, den der Schriftsteller besitzt. Jeder Client-Schreibepfad lehnt jetzt Text ab, der als Systemereignis mit 400 SYSTEM_EVENT_RESERVED: Mitglieder-Versand, Nachrichten-Bearbeitung (in oder aus einem Systemereignis), Exec2Exec post, Website-Besuch senden, Bug-Bericht Kommentar, und Forwarding (ein System-Event ist nicht Vorwärts, ein gefälschter Kommentar wird abgelehnt). Eine Einwilligungskarte darf von einem Teilnehmer nicht gefälscht werden.
· EmailService
NoReplySubsystem.IOT, das Vorschau-Beisammen und mirrorToPush
IoT Devices SP06: Alarmbriefe (iot.alarm_notice) Audit unter IOT; die Vorlagenvorschau hat Beispielwerte; POST /api/interne/Benachrichtigungen benötigt einen optionalen mirrorToPush (false = bell card only, no phone push). Hersteller, die es nicht senden, verhalten sich genauso wie zuvor. Auch Karten zwei kanonische Vorlagen, die der Wächter ************ nicht zugeschrieben fand auf Haupt: LEADS_AVAILABLE -- LEADS, SUSPICIOUS_SIGNIN_DETECTED -- SECURITY_ALERTS.
· KBService
Interner Task-Endpunkt für IoT-Automatisierungen
POST /interne/Checklisten/Easken: eine Aufgabe im Auftrag des Besitzers einer Automatisierung, in den Posteingang des Empfängers (SP06 CREATE_TASK). Anmerkungen müssen eingeschaltet sein, der Bevollmächtigte förderfähig; eine aufgenommene vorgeschlagene ID sagt einem aufgerufeten Lauf seine Aufgabe existiert.
· kamo-internal
Einstellungen - Telefon - Blockieren Sie nicht, neben Kontakt nicht
Besitzer 2026-10-15: "entfernen und zu einer Do-not-Block-Liste hinzufügen". Die Organisation ist selbst Zahlen und Personallinien, die die Do-not-Kontakt-Liste nie blockiert und keine Opt-out-Sitze darauf. - Neuer Tab do-not-block (MANAGE_VOIP_SETTINGS via VOIPService, EinstellungenMenü-Subeintrag, kein Admin-Bar-Link): Vorschläge zu den Zahlen der Organisation, den wichtigsten Nummern und den Mitarbeitern der Organisation Linien (Arten, Label, deren Linie bereits geschützt oder noch auf der Do-not-Kontakt-Liste) jeweils mit Protect, das nur den Dialog hinzufügen vorgefüllt öffnet; Kanalfilter (Anrufe, Texte, E-Mail, jeden Kanal), Suche, mit einer Notiz hinzufügen, mit einem erforderlichen Grund entfernen, und die Geschichte, wo ein Opt-out hielt es von der do-not-contact-Liste zeigt als "Opt-out nicht aufgezeichnet" mit seiner Quelle und was gesagt wurde. Jede Nummer und Adresse ist eine PhoneNumber / EmailAddress. - Kontakt nicht: Der Add-Dialog zeigt die Do-not-block-Verweigerung des Servers als geschrieben an; die Adressen, die sie ausgelassen haben, weil sie geschützt sind, benennt werden. - Schlüssel: Kamo-Übersetzungswörterbuch (erst getrieben). Tests: DoNotBlockTab.test.tsx (5), DoNotContactTab.test.tsx (Importfall ROT-Datei, dann GRÜNE), EinstellungenMenuTabCoverage (RED mit dem Tab und kein Menüeintrag, dann GRÜ); 20 Source Guards und check-i18n-keys --require-messages; tsc auf den geänderten Dateien.
· EmailService
Ein Abmelden von einer der eigenen geschützten Adressen der Organisation wird vermerkt, nicht gelistet
Besitzer 2026-10-15: die Do-not-Block-Liste neben der Do-not-Kontakt-Liste. DoNotContactEmailBeans erklärt Share-lib's DoNotBlockList und übergibt es an die DoNotContactList: eine geschützte Adresse wird nie von der do-not-contact-Liste unterdrückt, und EmailDoNotContactMirror's add für eine Abmelden von einem Blätter eine SKIPPED-Notiz in der Do-not-Block-Geschichte statt. Tests: DoNotContactEmailWiringTest (neu; ROT: Die alten Bohnen haben nicht gegen die neue kompiliert Shared-lib), DoNotContactSuppressionTest, EmailDoNotContactMirrorTest, DisclosureLedgerWiringTest.
· kamo-shared-library
Die Do-not-block-Liste, die erlaubte Liste neben der Do-not-Kontakt-Liste
Besitzer 2026-10-15: "entfernen und es zu einer Do-not-Block-Liste hinzufügen" (die eigene Hauptleitung war durch einen Testanruf auf die Do-not-Kontakt-Liste gesetzt worden). Für eine Organisation eigenen Zahlen und Personalleitungen, so ein Testanruf oder eine falsch gehörte Phrase Sie blockieren sie nie. - DO_NOT_BLOCK (einzigartige ORG_ID, CHANNEL, ADDRESS; CHANNEL CALL | SMS | EMAIL | ALL, ALL = die Anrufe und SMS einer Telefonnummer, die E-Mail einer Adresse) und der nur anhängende DO_NOT_BLOCK_EVENT Trail (ADDED, REMOVED mit dem erforderlichen Grund, SKIPPED). - DoNotBlockList: add (idempotent; abgelehnt, während die do-not-contact-Liste die Adresse auf einem überdachten Kanal: Entfernen Sie es zuerst dort, mit einem Grund), entfernenById (Grundsatz von 3+ Zeichen), Schutz/Geschütze, Suche, Geschichte, Aktivität, Einträgefür, recordSkipped. - DoNotContactList nimmt jetzt die DoNotBlockList (Konstruktionswechsel; VOIPService, EmailService und Kamoai-Service erklären beide Bohnen auf dem gleichen Druck): find/isBlocked/Blocked blockiert niemals eine geschützte Adresse auf seinen Kanälen; add() einer geschützten Adresse SKIPS ein automatisches Opt-out (VOICE_OPT_OUT, SMS_STOP, EMAIL_UNSUBSCRIBE) mit SKIPPED-Notiz und Added(null, false, dibotBy) und REFUSES ein Person's Add (MANUAL, IMPORT) mit Feld doNotBlock und dem Satz "{Adresse" befindet sich auf der Do-not-Block-Liste für {channel" ({note]), so dass es nicht sein kann der Do-not-Kontakt-Liste hinzugefügt. Nehmen Sie es aus Einstellungen -" Telefon --"Nicht zuerst blockieren". DDL: voipservice ************ (aufgefordert 2026-10-18 04:16Z). Tests: DoNotBlockListTest (7, RED: nicht auf Herkunft/Main kompiliert), DoNotContactListTest, ************ (beide Repositories'finder), SharedLibBeanSafetyTest.
· VOIPService
Einstellungen - Telefon - Blockieren Sie nicht - die API, die Vorschläge und STOP-Texte, die die eigenen Leitungen des Unternehmens überspringen
Besitzer 2026-10-15: "Entfernen Sie es und fügen Sie es zu einer Do-not-Block-Liste hinzu". Die Möglichkeitsliste neben die Do-not-contact-Liste für die eigenen Zahlen und Personallinien der Organisation. - DDL **************** (DO_NOT_BLOCK, DO_NOT_BLOCK_EVENT append-only für kamo_app), angewendet 2026-10-18 04:16Z; Wiederholung ist eine No-Op. - DoNotContactBeans erklärt Share-lib's DoNotBlockList und übergibt es an die DoNotContactList (VoipRepositoryScanTest pins beide Projektarchive). - /api/voip/do-not-block (MANAGE_VOIP_SETTINGS, als do-not-contact admin): Liste und Suche, hinzufügen {channel CALL|SMS|EMAIL|ALL, Adresse, Note, POST /{id'/entfernen mit einem erforderliche Begründung, Geschichte, Aktivität (mit jedem Opt-out, das es von der Liste ferngehalten wurde) und /Vorschläge: die Organisationnummern, Telefon-Server-Hauptnummern und Personalleitungen von VOIP_NUMBER_OWNERSHIP (von ORG_ID), eine Zeile pro Nummer mit dem, was schützt oder listet es auf. Vorschläge fügen nichts hinzu. - Kontaktieren Sie nicht: eine Person das Add einer geschützten Adresse beantwortet 409 Feld doNotBlock mit dem Satz der Liste; ein Import nennt die Aparts (geschützteAdressen). - Ein STOP-Text von einer geschützten Nummer ist nicht aufgeführt (die freigegebene Liste überspringt es und Notizen; die Log-Leitung sagt so. Prüfungen: DoNotBlockControllerTest, DoNotBlockSuggestionsTest, DoNotContactControllerTest, VoipRepositoryScanTest (RED: nicht gegen die neue Shared-lib kompilieren), SmsKeywordServiceTest, SmsGatewayTest, **************** VoipMessageServiceKeywordTest, InternalAuthFilterKamoaiTest 98 grün.
· EmailService
Gate der RPM_ALERT Art auf REVIEW_CLINICAL_RESULTS und liste es nach LEAD_CALLBACK
· kamo-shared-library
Austausch von Eenums, SHARE_* Aktivitätsarten, DomainAliasType.IOT
· KlusterServices
Pre-Issue iot.<apex" Zertifikate, PDB kamowebiot, Verfügbarkeit Sonde
iot schließt sich BROWSER_ONLY_ALIASES und STATIC_DOMAINS auf beiden Plattform-Apexes an, so dass die erste Aktie Empfänger erfüllt nie ein fehlendes Zertifikat; Überwachung/ wird von Hand angewendet (siehe Runbook, Task 34).
· SecurityService
SP12 Remote-Monitoring-Endpunkte, der Portal-Devices-Handler und deren Wächter
· SecurityService
SP12 Anmeldung, Zustimmung, Pause/Resume/Ende/revoke und der Verbindungslink
· SecurityService
SP12 Remote-Monitoring-Management-Zeiteinträge
· SecurityService
SP12 Kliniker-Set Grenzen und die Warn-Arbeitsliste
· SecurityService
SP12 RPM Billing Vorschau und der Entwurf-claim Handoff
· SecurityService
SP12-Überwachung liest, der Portallink und Home-Lesungen aus dem aktuellen Fenster der Tabelle gehalten
· SecurityService
SP12 Remote-Monitoring-Fundamente - Schreibtor, Zugriff, Audit, IoT-Client, Merge-Krreich
· kamo-internal
Die Aufrufe eines Runs sagen, wann die SI auf Befehl eines Teamkollegen gehandelt hat und mit welchen ihrer Rechte
Die No Insubordination Rule (Besitzer 2026-10-15): ein Werkzeug Anruf ein SI auf direkten Auftrag eines Teamkollegen gemacht trägt die die Basis der Bestellung, der Teamkollege und die Rechte, die sie verliehen haben (Kamoai-Service W4 Auditzeilen). Die Laufschubzeile fügt hinzu "Auf der Bestellung von {Name], mit ihren Rechten: "... zu einem solchen Aufruf (runs.onOrderOf / onOrderOfUnnamed, Wörterbuch e3ba7e79). Tests: RunDetailOrderLine.test.tsx (3).
· MCPGatewayService
Die No Insubordination Rule - eine SI führt die direkte Bestellung eines Teamkollegen über ihre Rechte durch
Besitzer 2026-10-15, am selben Tag verfeinert: "Es sollte für jedes Teammitglied gelten. Aber nur, weil ein Teammitglied (Mensch) oder SI) hat mehr Rechte, bedeutet nicht, dass die SI, mit der sie sprechen, um ihre Rechte zu übernehmen. Es hat eine direkte Anfrage oder etwas Ähnliches wie eine Bestellung zu sein. Ansonsten sollte die SI verstärken, dass sie nicht dieses Niveau haben des Privilegs". Ein Delegationspunkt (OrderDelegation): Für einen Anruf oder eine Werkzeugliste in einer Folge ist die Bestellung die von der SI zitierte Anfrage, sonst die Nachricht oder die Aufgabe, die den Lauf geweckt, überprüft, wie SP95-Anfragen sind (Team-Chat oder Aufgabe nur, an die gerichtet SI, innerhalb der Stunde, unter den Wecken des Laufs, kein externer Inhalt gelesen), von einem Teammitglied, einer Person oder einem anderen SI (RequestVerifier.verify / inferOrderFromRun), und nur, wenn seine Worte eine Bestellung sind (DirectOrder) oder es ist eine Aufgabe der SI zugeordnet. SecurityService prägt dann die SI ein order-scoped *** für den Lauf; der Anruf läuft wie die gleiche SI mit diesem Prinzip, so dass die Rechte-Check hier und jeder nachgelagerte Dienst sehen die Gewerkschaft. Eine Frage, News oder Chat verleiht nichts, und die RIGHTS-Verweigerung sagt dann der SI, klar zu sagen, dass es dieses Maß an Zugang fehlt. - Offenlegung (CP07): der Lauf liest für den Antragsteller (OrderPrincipal), und weiter-Sharing trägt die Anfrageer VERIFIED_REQUEST grant, beurteilt von ihrer eigenen Freigabebehörde. - Audit: authority_basis REQUESTED_BY_TEAM_MEMBER_ORDER, on_behalf_of_member_id, borrowed_rights (DDL ************ angewendet). - Werkzeuge/Liste benennt die Reihenfolge in _meta[com.kamocrm/orderedBy], so dass die Laufzeit diese Liste nie führt. - Eine order-scoped Session, die für jeden anderen Lauf präsentiert wird, ist keine Sitzung; nichts wird auf einer geliehenen Sitzung ausgeliehen. - Unverändert: der Kill-Schalter und Pausen an der Tür, die Charter, die Risikodecke, PHI, Grenzen, die Reichweite und die Do-not-Kontakt-Liste. Tests: ToolCallPipelineOrderTest (13; 9 ROT ohne Delegationsstelle), DirectOrderTest, OrderPrincipalTest, RequestVerifierTest (+2), CallerContextFactoryTest (+1); mit ToolCallPipeline*, McpServerController*, AudienceFilter*, ReadAudience*, DisclosureGate*, *Audit*, ToolListParity*, PhonePack*, *Coverage*: 300+ green.
· SecurityService
Die No Insubordination Rule - der direkte Auftrag eines Teamkollegen verleiht einer SI ihre Rechte für diesen Lauf
Besitzer 2026-10-15, am selben Tag verfeinert: jedes Teammitglied (eine Person oder eine andere SI), die eine SI gibt eine direkte Bestellung verleiht es ihre Rechte für die Arbeit, die es ausführt; Gespräche mit der SI verleiht nichts. POST ************ (KAMOAI internes Geheimnis) prägt die SI und ordnet die SI an einen befehlskopierten *** für einen laufen: eigene Rechte UNION the requester's, abzüglich der SI-Etage (AiRightsFloor) und der SI-eigenen expliziten NUKE-Reihen, geschlossen über die Rechte-Hierarchie. Eine Person verleiht ihre Live-Sitzungsrechte; eine SI verleiht nur ihre Standing-Rechte, berechnet aus seinen Reihen, so dass nichts auf transitively verliehen wird. Die Session ist die eigene (memberID, SchauspielerType AI), lebt 15 Minuten, trägt einen Delegationsblock {Basis REQUESTED_BY_TEAM_MEMBER_ORDER, requesterMemberId, runId, orderRef, borrowedRights, und beginnt nichts, ein Anmeldestart beginnt. Die Börse stoppt (Kill Switch, org pause, die SI Pause oder Ruhestand, eine inaktive Mitgliedschaft, kein Vorgesetzter) lehnen es ab und werden wieder gelesen, sobald es existiert. A Rechte Änderung der SI beendet eine solche Sitzung, anstatt sie umzuschreiben. Die Standessitzung der SI gewinnt nie ein Recht. Tests: OrderDelegationServiceTest (8), KSessionServiceIdentityTest (12), AiSessionExchangeServiceTest, AiRightsChangeListenerTest, PostAuth****: 51 grün.
· 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.

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