Changelog
Was ist neu?
Jede Verbesserung an der Plattform, wie sie geliefert wird.
· kamo-shared-library
Die Teameinheiten, Repositorien und Limits (KamoCollab CP01 T4)
Team (org_teams), Teammitgliedschaft (org_team_members, @IdClass Key), TeamRole, TeamRight (Typ durch RoleRightTypeIdConverter) und TeamCharterItem (team_charter_items, Textspalte 'text'), die fünf Projektarchive mit Spezif Abschnitt 5.2 Methoden und JPQL, und TeamLimits (D11). Die Tabellen werden erstellt von die handaufgebrachte DDL des Sicherheitsdienstes **************** Tests Pin jede Spalte, Nullbarkeit und Länge auf die DDL, parse jede Abfrage gegen das reale Mapping (ausgewählte Typen und Objekt[] Zeilenformen enthalten), jeden abgeleiteten Wegsucher auflösen und die @IdClass; grün auf Hibernate 6.5.3 und auf der 6.2.13 der Flotte.
· SecurityService
Die von Hand ausgerichtete DDL für Abteilungsleiter und die Org-Grade-Lastindizes und der Auftragstest (KamoCollab CP02 T1)
· SecurityService
Die von Hand angewendete DDL für Teams und deren Vertragstest (KamoCollab CP01 T2)
************ ist die Spezifikation von 5.1's Block wörtlich: org_teams, org_team_members, org_team_roles, org_team_rights (Typ INT4, unique (team_id, type), Master CP-D3) und team_charter_items. Angewandt von CP01 Aufgabe 3 vor Kamo-Shared-Bibliothek Schiffe das Team Entitäten. Cp01TeamsDdlContractTest pint die eigene Form der Datei als feste Listen (R1-12): Re-runnable CREATEs nur; keine CHECK, JSON, DROP, UPDATE oder DELETE; jeder NICHT NULL Spalte hat eine DEFAULT außer dem Schlüssel und Eigentümer Spalten; die fünf Tabellen, die Uniques und Lookups, die Kaskaden und die genauen Spalten von team_charter_items.
· MediaService
Die DDL für media_objs.source, der eine Chatzeile geschrieben hat (KamoCollab CP00 T1)
Eine annullierbare VARCHAR(16) Spalte, wieder ablaufbar, ohne CHECK und ohne Verfüllung; NULL liest sich als MEMBER. Handaufgelage von CP00 Task 3. **************** behält das Datei-Additiv: jede Aussage ein ADD COLUMN IF NOT EXISTS, no NOT NULL ohne DEFAULT, ohne CHECK, JSON, DROP oder UPDATE.
· SecurityService
Impersonation und Enter-As schreiben Zugriffs-Log-Reihen (KamoCollab CP00 T9)
Beide Imitationstüren schreiben IMPERSONATION_STARTED (HIGH) in die Zielperson org mit logEventSync nach jedem Absage-Check und vor der Sitzung geprägt; eine Zeile, die nicht geschrieben werden kann Antworten 503 AUDIT_UNAVAILABLE und Mints nichts. Enter-As schreibt ENTER_AS in der Zielorg vor der Münze: MEDIUM für die eigene Mitgliedschaft (ein gescheitertes Schreiben ist eine WARN), HIGH als die System User (ein fehlgeschlagenes Schreiben ist 503, nichts geprägt). Die Reihe benennt das Ticket der Systembenutzer-Zuschuss ruht auf, nie der, den das Gremium beansprucht hat. Logout of a Sitzung, deren SUDO_MEMBER_ID sich von der memberID unterscheidet, schreibt IMPERSONATION_ENDED (MEDIUM). Die Quer-Or-Tür liest nun die OrgID des Anrufers für die Zeile und antwortet 401, wenn die Sitzung fehlt es, wie die gleiche-Orll-Tür bereits. Neu: security/ImpersonationAudit (spec 5.6, D12-D14).
· AIService
Die Kurzbezeichnung DEPARTMENT_MANAGER als Leiter Ihrer Abteilung (KamoCollab CP02)
DEPARTMENT_MANAGER leitet jetzt zum Abteilungsleiter (die org-Grafik AbteilungManagerCandidates), so sagt der Brief "der Kopf Ihrer Abteilung". CharterCompiler.VERSION wird bewusst nicht gestoßen (CP02 spec D23, Urteil CP02-P-5): keine Produktionscharterrouten zu DEPARTMENT_MANAGER, also trägt kein gespeicherter Brief die alten Worte und eine Beule würde jeden AI-Brief für nichts neu kompilieren. Keine Prüfstift VERSION (R1-24).
· kamo-shared-library
MediaObjSource und MediaObj.source, erstellenMessage mit einer Quelle, findTwoPersonChatSession, und die Imitation/Enter-As Access-Log-Events (KamoCollab CP00 T4)
- MediaObjSource {MEMBER, SYSTEM, SERVICE]; MediaObj.source (STRING, Kolumne SOURCE, Länge 16, nullbar, kein Standard) und sourceOrMember(), das NULL als MEMBER liest. - MediaService.createMessage gewinnt eine Sieben-Fähigkeit Überlastung unter der Quelle; die Sechs-Rechts-Überlastung Delegierte mit Null, so dass jeder bestehende Anrufer speichert NULL. - **************** b): die Suche findOrCreateChatSession, extrahiert; findOrCreateChatSession erzeugt nur, wenn es leer, so dass sein Verhalten unverändert ist. - AccessLogEventType fügt IMPERSONATION_STARTED, IMPERSONATION_ENDED, ENTER_AS an. Bevor diese vorangetrieben wird, muss die MEDIA_OBJS.SOURCE Spalte existieren (CP00 Task 3 DDL).
· kamo-internal
FreePBX Voicemail in den Einstellungen: die Manager-Schnittstelle Felder, gemeinsame Voicemail-Boxen und ein Player, der sagt, warum
Aufgabe 15. SP98 - Das FreePBX Formular erhält die vier Asterisk Manager Interface Felder Voicemail braucht (Host, Port, Username, Geheimnis). Das gespeicherte Geheimnis wird nie gezeigt ("(unchanged)") und wird nur gesendet, wenn getippt wird; das Verschieben des Hosts fragt danach wieder und ein leerer Host schaltet Voicemail ab, wie es die Serverregeln sind. - Der Reiter Voicemail eines Telefonservers spielt jede Zeile durch seine eigene ID ab: /voicemails/<externalId?/audio, das keine ID ist, also keine Zeile, die jemals dort gespielt wurde. Zeilen sagen, in welcher Mailbox die Nachricht gelassen wurde; ein FreePBX-Server geteilt Boxen (Mailfächer, die keine Kamo-Erweiterung besitzt, wie die Hauptzeilen) sind aufgelistet mit wem jeder benachrichtigt, ausgewählt von den Mitgliedern, die Telefon-Server verwalten. - Einstellungen - Telefon - Voicemails benennt die Mailbox und markiert die gemeinsam genutzten. - Beide Listen spielen über VoicemailAudioPlayer: nichts lädt bis zum Abspielen, und ein Nachricht, deren Audio Kamo holt sich von der Telefonanlage sagt so, sieht wieder alle 20 s und spielt, wenn es da ist; die anderen Gründe sind gesagt Klar, mit Versuch wieder. - Der SIP WebSocket Helfer zeigt seinen Text statt seines Schlüssels (das Wörterbuch Wert gehalten <host" Tags ICU konnte nicht formatieren).
· kamo-asterisk-support
Voicemail lädt Namen ihrer Nachricht, und Kamo kann für eine fragen, es hat keine Audio
Ein Voicemail-Upload trägt nun die eigene ID der Nachricht, <Mailbox>/<msg_id> die msgNNNN.txt Asterisk schreibt daneben, als einzigartige ID: VOIPService-Dateien FreePBX Voicemail unter genau dieser ID, also die beiden Paare genau statt von Zeit. Ein Upload pro Nachricht, von seiner PCM-Kopie (msgNNNNNN.wav). Die wav49-Kopie (.WAV), die Grüße (unavail, busy, greet, temp) und die Tmp-Dateien eines Briefkastens werden nicht mehr hochgeladen, so dass sie auch nicht mehr aus der Spule gelöscht werden: Hochladen sie verwendet, um einen Briefkasten Gruß wegzunehmen und geben jede Nachricht ein zweitens, konkurrierenden Upload. Eine Nachricht, deren Beiwagen keine msg_id benennt hochgeladen und bleibt, wo es ist. Die Politik ziehen jetzt VoicemailAudio: Nachrichten Kamo hat keine Audio-und fragt nach (KamoAI SP98). VoicemailAudioSender findet jedes von msg_id in seinem mailbox-Ordner, nimmt die beste Kopie der Spule noch (wav, WAV, gsm, ...), hat Asterisk in ein WAV in einem eigenen Tmp-Verzeichnis über die helper's manager Benutzer (Datei konvertieren), lädt es unter der Nachricht-ID und entfernt die temporäre Datei. Die Spule wird nie verändert. Ids, die nicht <Mailbox&<msg_id" werden am Pull fallen gelassen; jede Nachricht wird einmal pro Person versucht zehn Minuten, im Hintergrund. Agent Version 2.1.0.
· VOIPService
Gemeinsame Voicemail-Boxen und FreePBX Voicemail-Audio aus der Nachricht selbst
Geteilte Boxen (SP98-N-2). Eine Mailbox auf der PBX, die keine Kamo-Erweiterung ist (K1M1's 8100, "KamoCRM Main Line") wurde nie synchronisiert. Die einzige AMI des Sweeps Sitzung fragt jetzt auch VoicemailUsersList, sobald die Erweiterungen gelesen werden, Aufzeichnungen jede solche Mailbox im Userkontext von FreePBX als freigegebene Box eines Telefonservers (PHONE_VOICEMAIL_BOX, DDL in docs/sql; INSERT ... ON CONFLICT so eine Sekunde Sweex kann die Transaktion nicht vergiften), und synchronisiert seine Nachrichten als Zeilen mit Nein Erweiterung. Jede Box hat eine Benachrichtigungsliste (PHONE_VOICEMAIL_BOX_NOTIFY, niemand von Standard): eine neue Nachricht wirft VOICEMAIL_RECEIVED für diese Mitglieder auf, öffnen Einstellungen - Telefon - Voicemails. GET/PUT **************** listet die Felder auf und ersetzt die Liste einer Box (MANAGE_VOIP_SETTINGS; Mitglieder der org nur, höchstens 25). Die Nachrichten einer Box werden aufgelistet, abgespielt, gelesen und nur von Mitgliedern gelöscht, die Telefonserver verwalten, in beiden Voicemail-Listen. Audio (SP98-N-3). Einstellungen spielt den Upload ab, der die Nachricht genau benennt (der Helfer sendet jetzt <Mailbox?/<msg_id>), dann die Paarung des Softphones von Briefkasten und Zeit. Bei beiden ist auch die Nachricht selbst von der PBX angefordert: VoicemailAudioRequests zeichnet es in Redis für zehn Minuten auf, die Politik ziehen trägt es als VoicemailAudio, und der Helfer lädt die Nachricht Audio unter seine eigene ID. Der Spieler erhält 404 mit einem Grund: AUDIO_REQUESTED, AUDIO_NOT_SENT (Vor drei Minuten gefragt, nichts kam), HELPER_OFFLINE oder AUDIO_NOT_UPLOADED. Das Softphone fragt nach den Nachrichten, die es nicht koppeln kann, so dass ihr Audio ankommt bevor jemand drückt spielen. Die Liste pro Server gibt nun jede Zeile ihre ID (der Spieler fragte nach /voicemails/<externalId?/audio, das keine ID ist, also nie gespielt) und mailbox, und liest die Erweiterungen einmal statt pro Zeile.
· kamo-internal
Phonetische Schreibweisen des Firmennamens und des Kurznamens in Company Info (SP94 T7)
Zwei optionale Felder neben Firmenname und Kurzname, geladen von und gespeichert zu PUT /api/security/org/{id' als ************ Ein leeres Feld wird als Null gesendet, so dass eine gelöschte Rechtschreibung tatsächlich gelöscht wird. Sie werden nur für den Text verwendet, den die KI-Sprachmaschine erhält.
· AIService
E5 spricht den Namen und den kurzen Namen der Org in der Phonetik der org-Set (SP94)
Das Sprachmodell wird mit jeder Ganzwort-Nerschrift des Anrufers gesendet orgs Name oder kurzer Name durch seine phonetische Schreibweise ersetzt (OrgPhoneticSpeech). Die Org wird einmal pro Anfrage gelesen, nachdem die Anfrage validiert ist und vor der Spaziergang, so dass jeder Kandidat den gleichen Text gesendet, auf beiden Wege des SP96 (a Person oder Anrufer Stimme, und die eigene Stimme eines KI-Mitglieds). Die 4096-Zeichen-Mütze und die CHARACTERS_1K-Messung bleiben auf der Eingabe des Anrufers. Eine Org, die nicht ist gefunden, oder kann nicht gelesen werden, gesprochen wird wie geschrieben; eine fehlgeschlagene Lektüre ist eine WARN.
· MCPGatewayService
Phone_call sagt Klartext, wenn die Outbound-Politik der Org eine Nummer blockiert, und benennt stattdessen Text oder E-Mail (SP93 T12)
K6 verweigert eine Nummer, die die Maut-Betrugswachen des Telefonservers mit 409 blockieren BLOCKED_BY_OUTBOUND_POLICY (SP93 T11). phone_call beantwortet es jetzt als sein eigenes status, mit einer klaren Botschaft und Fallback [sms_send, mail_send], neben NO_VOICE_CONSENT, und das Audit zeichnet es als DENIED auf, nicht ERROR.
· VOIPService
Die verwaltete Politik der PBX führt die Maut-Betrugs-Blockliste (SP93 T7)
/internal/voip/pbx-config antwortet blockiertPatterns, die Wachen des Telefonservers als Asterisk Muster ************ für Kamo-Stern [kamo-toll-betrug-geblockiert] Kontext. Jeder Wachmann beantwortet eine leere Liste. Die Version hash deckt auch die Liste ab, also bewegt sie sich, wenn ein Wächter es tut (SP93-T7-1).
· SecurityService
Cap der Org zwei phonetische Namens-Zitellen auf den Einstellungen PUT (SP94 T4)
TitelPhonetic und TitelShortPhonetic Fahrt PUT /api/security/org/{id' unter der gleiche Rechte wie Titel/TitelShort (Besitz oder CONFIGURE_SYSTEM, nie God-Mode nur). Jeder ist auf 255 Zeichen gedeckelt, verweigert mit 400 {Fehler, Feld] vor alles wird gespeichert, wie der Name des Mitglieds ist. GET /{id' kehrt bereits zurück die Einheit ganz, so dass beide dort ohne Veränderung erscheinen. **************** betreibt den echten OrganizationService über einen gespeicherte Zeile: Besitzer setzt beide, ein Anrufer ohne das Recht bekommt heute 403, 256 Zeichen auf entweder ist 400 Benennung des Feldes, 255 gespeichert ist, ein PUT-Nensung ein lässt die andere, Null klar, und das GET trägt beides (null bis eingestellt).
· KlusterServices
Das ausgehende Tor verweigert eine Nummer, die die Mautbetrugs-Bärten blockieren (SP93 T9)
[kamo-outbound-Gate] gewinnt ein GotoIf auf kamo-asterisk-Unterstützung verwaltet [kamo-toll-betrug-geblockiert] Liste, zwischen der SP13 AI-Transfer-Linie und der Goto weiter, und eine (geblockte) Filiale, die OBBLOCK markiert, spielt die nicht verfügbare Prompt und hängt mit Ursache 21. Ein erlaubter Anruf keine Wache Die Spiele enden immer noch im selben Goto. 911 und 933 erreichen nie das Tor. **************** macht den gleichen Schnitt auf dem Laufen Knoten: ein bewachter, idempotent Bearbeitung des Tores Goto nach '; sp13:ai-xfer-outbound', und sich mit nichts verweigert, wenn dieser Anker geschrieben wurde fehlt oder [kamo-toll-fraud-blocked] ist noch nicht in der verwalteten Politik Abschnitt; es gesichert, lädt den Wählscheibenplan und überprüft, was Asterisk geladen. Die Vorrichtung ist die k1m1 Datei ab 2026-10-04.
· VOIPService
Die Maut-Betrugsschützer des Telefon-Servers für KamoAIs Pre-Flight-Check (SP93 T6)
GET ************ Antworten {blockInternational, blockPremiumRate, blockHighRiskAreaCodes, blockedPrefixes für einen Telefonserver, gelesen durch seine ID; ein Server, der nicht existiert, ist 404 INSTANCE_NOT_FOUND. Bewacht durch InternalAuthFilter wie jede KamoAI Route.
· AIService
Entfernen Sie den Charter-Sprachkatalog, GET /api/ai/charter/Voices (SP96)
Die Charta heftet keine Stimme mehr: Ein KI-Mitglied erinnert sich an ein pro Rede-Modell, gelesen und ausgewählt bei ************ Die Charterredakteure Voice Picker war der einzige Anrufer des Katalogs (kamo-internal, SP96 Task 19), also der Endpunkt und VoiceCatalogService gehen mit seinem Test. Der /api/ai/charter/** Zugangszeilen bleiben für die Vorschau. CharterPreviewControllerTest scannt jeden Controller des Dienstes und scheitert wenn eine Route, ein Muster enthalten, antwortet /api/ai/charter/stimme wieder. AiAccessRulesTest Samples /api/ai/charter/Preview für die Charterzeile statt.
· kamo-shared-library
Phonetische Schreibweisen des Namens und des Kurznamens der Org, für die KI-Rede (SP94 T3)
Organisation.titlePhonetic / titleShortPhonetic (TITLE_PHONETIC, TITLE_SHORT_PHONETIC, VARCHAR(255), nullbar), auf PatchOrganization's erlaubt-list neben title/titleShort, und OrgPhoneticSpeech.forSpeech: ein reiner, Single-Pass, Fall-unempfindlich, Ganz-Wort-Swap der orgs Namen für ihre Rechtschreibung, der längste Name vor, nur für die Sprach-API von AIService. Needs SP94 T2's DDL, der in der Produktion angewendet wird, bevor dies geschoben wird.
· kamo-asterisk-support
Die Maut-Betrugs-Blockliste als [kamo-toll-fraud-blocked] (SP93 T8)
Die PBX Policy Pull trägt jetzt blockedPatterns, die Asterisk-Erweiterung Muster der optionalen Maut-Betrugswächter des Telefonservers. Fetch hält nur eine Unterstiz gefolgt von Ziffern und den N, X, Z und . Wildcards (höchstens 40), so nichts aus der Antwort kann eine Priorität, eine Anwendung oder einen Kontext hinzufügen zum Wählscheibenplan. RenderPolicy schreibt sie als dritter verwalteter Kontext neben die beiden Genehmigungslisten; bei jedem Schutzes definiert sie den Kontext immer noch mit einem Muster passen keine Ziffern, so dass die DIALPLAN_EXISTS des ausgehenden Tores immer sicher ist. Tick fädelt die Liste durch PolicyWriter.Bewerben Sie sich und protokolliert sie auf eine Änderung. Ein Kamo, der dem Feld vorausgeht, sendet keine, die nichts blockiert.
· VOIPService
Neue Erweiterungen starten, wie der Telefon-Server Outbound-Einstellung sagt (SP93 T5)
Eine neue Erweiterung, die Linie einer Person oder eines KI-Mitglieds, darf sich nun einwählen. außen nur, wenn die neueExtensionsEinstellung des Telefonservers die neue Erweiterungs-Einstellung eingeschaltet ist. - AiVoiceAssignmentWriter.assign liest die Einstellung statt der wörtlichen Wahrheit. Jeder Zuweisung erzeugt eine Zeile, so dass eine Zeile bereits vorhanden ist (synchronisiert oder links verweigert durch eine pensionierte Linie) nimmt es auch; klar immer leugnet immer. - ************ und ************ Set es auf einer Reihe, die sie erstellen, lesen höchstens einmal einen Anruf; eine zwischengekundliche Reihe Flagge, ein Die Wahl des Admins wird nie berührt.
· VOIPService
Die Outbound-Richtlinie des Telefonservers in den KI-Spracheinstellungen (SP93 T4)
GET und PUT ************ tragen SP93's fünf Felder: newExtensionsOutboundAllowed, blockInternational, blockPremiumRate, blockHighRiskAreaCodes und blockedPrefixes (eine Liste). Ein benutzerdefiniertes Präfix wird getrimmt, Rohlinge fallen gelassen und wieder zusammengeführt; jedes muss pass **************** (1-15 Ziffern, nie 911, 933 oder ein Präfix von entweder), höchstens 25, oder der PUT ist 400 {field:blockedPrefixes] und nichts wird gespeichert. Wie jedes andere Feld hier ist der PUT ein ganzes Ersatz: eine fehlende oder Nullflagge ist ausgeschaltet. Nichts gespeichert zeigt die Politik aus. Noch MANAGE_VOIP_SETTINGS allein.
· AIService
Die Stimme der Mitglieder-Sprache zeigt, um die Stimme eines KI-Mitglieds pro Rede zu lesen und zu wählen
SP96 Task 10 (spec 5,5): - GET ************ die TTS-Kandidaten des Routers für die KI (Schauspieler AI mit dem Mitglied; nie AiCallRuntime.guard, so eine pausierte oder pensionierte KI liest), die ein Sprachadapter dient, bevorzugte Modell zuerst: E5's walk. Jeder Modell hat seine erinnerte Stimme, entscheiden() die nächste Stimme mit nichts geschrieben, und die kompatiblen Stimmen bester Ebene zuerst; Zeilen auf nicht angebotenen Modellen sind aufgelistet nicht verfügbar. - PUT ************ {voiceId?, bevorzugt?: ein CHOSEN Stimme (der Anrufer, der Sex bei Pick), dann das Modell zuerst verwendet, in einem Transaktion (MemberVoiceWriter, @Transactional @RetryOnDbConflict, no HTTP). Bevorzugt ein Modell ohne Zeile erinnert E5 erste Pick gibt, unausgesprochen. - GET ************ die gleiche Ansicht, kann sich false ändern, hinter X-Internal-Auth (InternalCaller). - Lesen: MANAGE_MEMBERS, MANAGE_MEMBER_SECURITY, MANAGE_AI_WORKFORCE, VIEW_AI_WORKFORCE, oder SUPERVISE_AI_MEMBERS als sein Vorgesetzter. Änderung: MANAGE_AI_WORKFORCE, oder sein Supervisor mit SUPERVISE_AI_MEMBERS. Nie die KI sich selbst. Verweigerung MISSING_RIGHT, MEMBER_NOT_FOUND, MODEL_NOT_AVAILABLE, VOICE_NOT_OFFERED, VOICE_NOT_COMPATIBLE, RETIRED. - AiAccessRules: /api/ai/members/** ist eine Mitgliedsroute; der Controller entscheidet.
· MCPGatewayService
Eine verifizierte Anfrage von jemandem, der genehmigen kann, ist die Genehmigung: eine ON_REQUEST-Reihe, die Aktion auf einmal, ihr Ergebnis auf K3b (SP95 T34)
Wenn die Charta um Zustimmung bittet und die KI einen verifizierten Antrag (auf AnfrageOf) angibt, K3 wird mit dem Modus ON_REQUEST, dem Antraggeber und der Referenz gefragt. Eine APPROVED-Reihe lässt die Aktion auf einmal laufen; sie passiert immer noch die Grenzen und das Outreach-Tor, und wozu es gekommen ist, wird auf K3b berichtet (EXECUTED, oder FAILED mit seinem Status und seiner Nachricht, bevor der Schlüssel frei wird). Ein zweideutiges Ergebnis ist die Zecke überlassen, die wieder ausgeführt unter dem gleichen Schlüssel. K3's NOT_AN_APPROVER, REQUEST_USED und SHADOW, eine sanfte Absage und ein SHADOW Charter fragen Sie eine Person wie zuvor, und die Antwort sagt, warum (aufRequestOf {accepted:false, reason]). FORBIDDEN weigert sich immer noch, und eine Aktion, die benötigt keine Genehmigung schreibt keine ON_REQUEST-Reihe. Ein Trockenlauf fragt K3 unter X-Kamo-Dry-Run und schreibt nichts. Eine erneut ausgeführte ON_REQUEST-Zulassung behält das Outreach-Gate (K4-Modus).
· kamo-shared-library
Per-Phone-Server Outbound-Politik und OutboundCallPolicy (SP93 T3)
SP93 Task 3 (spec .5.2, D1, D4-D6): - AiVoiceInstanceSettings Gewinne ************ BLOCK_INTERNATIONAL, BLOCK_PREMIUM_RATE, BLOCK_HIGH_RISK_AREA_CODES (boolean, NOT NULL DEFAULT false) und BLOCKED_PREFIXES (VARCHAR(500) NOT NULL DEFAULT ''), plus blockiertPrefixList(). - Neue reine OutboundCallPolicy: der Einstellungsrekord, der FCC 'One Ring' Hochrisiko-NANP Vorwahlen, die Premium-Codes 900/976, istValidPrefix (1-15 Ziffern, nie 911, 933 oder ein Präfix von entweder), dialPatterns (die Asterisk-Muster für [kamo-toll-fraud-blocked], in einer festen Reihenfolge, jeweils einmal, ungültig gespeicherte Präfixe fallengelassen) und Blöcke (passt ein gerendertes Muster zu den KI-Zifferzeichen der KI), also PBX und ein AI-Check vor dem Flug nie widersprechen. Die fünf Spalten müssen vorhanden sein (SP93 Task 2's DDL apply), bevor diese Hauptakteur erreicht.
· MCPGatewayService
Eine KI kann die Aufforderung zitieren, auf die sie sich bem ngt (aufRequestOf), überprüft wird, indem sie sie liest; der taint eines Runs sagt, woher sie kam (SP95 T31)
Jede KI schreiben, die eine Genehmigung benötigen kann, nimmt die optionale aufRequestOf (chat:<conversation>/<message", Aufgabe:<item&, Aufgabe:<item>) auf Tools/Liste. Die Pipeline nimmt es vor dem Schema-Check heraus, Planner und der args hash, und RequestVerifier liest die Referenz als die KI (D20): eine gefälschte oder externe Referenz lehnt den Anruf ab (INVALID_ARGUMENTS REQUEST_NOT_VERIFIED + warum, Schlüssel freigelassen); ein echter das ist abgestanden, nicht dieser Lauf oder in einem äußerlich verdorbenen Lauf ist eine weiche Ablehnung; eine verifizierte geht an den Planer auf dem Standardplan (ToolPlan.VERIFIED_REQUEST). Ein Trockenlauf berichtet aufRequestOf.accepted. Die Genehmigungen sind bis zur Aufgabe 34 unverändert. RunTaint gewinnt eine Quelle: Chat liest von einem Team CHAT, dessen Autoren sind alle auf der org-Team beflecken den Lauf INTERNAL; alles andere ist EXTERNAL, das allein eine zitierte Anfrage blockiert (D22).
· AIService
Der Brief sagt, für welche Firma die KI arbeitet, und Wörter einen Anruf an einen Kollegen (SP95)
Das Charterprofil, das SecurityService sendet jetzt trägt orgName, der gesprochene org Name (kurze Name, sonst Anzeigename, anderes legaler Name; SP95 D15). Der Auftrag Identitätszeile schließt mit "Du arbeitest für <orgName", wenn es nicht-blank ist, also nein brand ist jemals in den Brief von Hand geschrieben. orgName ist Teil des Profils Fingerabdruck, so dass eine umbenannte org neu kompiliert seine AIs-Seins. PLACE_INTERNAL_CALL (SP95 D1) liest "Calling Kollegen" in den Zulassungen und Eskalationsabschnitte; der Standardarm von T1 bleibt für zukünftige Klassen. CharterCompiler.VERSION bewegt sich auf sp95-1, wie seine eigene Regel fragt, wann die Formulierung Änderungen, so dass auch ein Job-Titel-Persona-Shore das neue Label einmal aufnimmt. CharterSnapshotTest Zustimmung Zählung folgt AiActionClass statt Pinning 18: Share-lib's PLACE_INTERNAL_CALL macht es 19.
· VOIPService
Die DDL-Datei für die Outbound-Richtlinie des Telefonservers
SP93 Task 1. Fünf NOT NULL DEFAULT Spalten zu AI_VOICE_INSTANCE_SETTINGS: ************ BLOCK_INTERNATIONAL, BLOCK_PREMIUM_RATE, BLOCK_HIGH_RISK_AREA_CODES und BLOCKED_PREFIXES, alle standardmäßig auf die heutigen Verhalten. Sp93DdlContractTest pint die Datei auf Spekt 5.1 und prüft jede Spalte ist wieder lauffähig, trägt seine DEFAULT in einer eigenen Klausel, und dass es gibt keinen CHECK, JSON oder DROP.
· EmailService
Der neue Name eines Mitglieds erreicht den Anzeigenamen der Mailbox (SP95 T35)
POST **************** {vorher, aktuell] -] {updated], hinter dem internen Geheimspiel KamoAI wie Bereitstellungs-Mailbox. Die Briefkästen, die das Mitglied als primär hält, deren Anzeigename leer ist oder noch der vorherige (beet, ignorieren Fall) nehmen den neuen Namen; einen Namen ein Admin wählte, und eine Mailbox, die das Mitglied nur teilt, bleiben. Eine Leerstelle aktueller Name ist ein 400. Eine @RetryOnDbConflict Transaktion, die von einem Mitglied eingegrenzt wird; kein Provider-Aufruf (KamoMail behält keinen serverseitigen Anzeigenamen).
· kamo-internal
Rufen Sie Kollegen in der Charter, der Telefon-Server-Team-Linie, und "Gesunde für" auf eine Aktion jemand gebeten (SP95 T26)
- Charter: PLACE_INTERNAL_CALL neben PLACE_CALL; APPROVAL hält einen Artikel pro Klasse (19, Urteil SP95-T4-1). - Telefon-Server-Karte: die Team-Linie (defaultTransferExtension), gesendet auf jedem Speicher, leer wie keine (V10 ersetzt jedes Feld). - Genehmigungen: ein "Gefragt nach"-Chip für Modus ON_REQUEST in der Liste und im Detail; das Detail sagt, wer gefragt und Links zu der Chat (an Ort und Stelle geöffnet) oder die Aufgabe (/notes?task=). Typen durch **************** (SP95-T26-1).

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