Salta al contenuto
KAMOUniverse

Changelog

Cosa c'è di nuovo.

Ogni miglioramento alla piattaforma, come si spedisce.

  1. · SecurityService

    Il DDL applicato a mano per le squadre, e il suo test di contratto (KamoCollab CP01 T2)

    ****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************** org team, org team members, org team roles, org team rights (tipo INT4, unico (team id, type), master CP-D3) e team charter items. Applicato da CP01 Task 3 prima che kamo-shared-library navi le entità della squadra. Cp01TeamsDdlContract Perni di prova la forma del file come liste fisse (R1-12): solo CREATI riabilitabili; nessun CHECK, JSON, DROP, UPDATE o DELETE; ogni NON La colonna NULL ha un DEFAULT tranne le colonne chiave e proprietario; le cinque tabelle, gli unici e le ricerche, le cascate e le colonne esatte di team charter items.

  2. · MediaService

    Il DDL per media objs. fonte, che ha scritto una chat line (KamoCollab CP00 T1)

    Una colonna nullable VARCHAR(16), riattivabile, senza CHECK e senza backfill; NULL si legge come MEMBER. Applicato a mano da CP00 Task 3. E' il momento giusto. mantiene l'additivo del file: ogni dichiarazione un ADD COLUMN IF NOT EXISTS, no NON NULL senza DEFAULT, senza CHECK, JSON, DROP o UPDATE.

  3. · SecurityService

    Impersonation and Enter-As write access-log righe (KamoCollab CP00 T9)

    Entrambe le porte di impersonazione scrivono IMPERSONATION STARTED (HIGH) nel bersaglio org con logEventSync dopo ogni controllo del rifiuto e prima della sessione coniato; una riga che non può essere scritta risposte 503 AUDIT UNAVAILABLE e mints Niente. Enter-As scrive ENTER AS nella destinazione org prima della minzione: MEDIUM per la propria appartenenza (una scrittura fallita è un ATTENZIONE), ALTA come Utente di sistema (una scrittura fallita è 503, niente coniata). La riga nomina il biglietto la sovvenzione dell'utente del sistema poggia su, mai quella che il corpo ha rivendicato. Registrazione di un sessione il cui SUDO MEMBER ID differisce dal suo membroID scrive anche IMPERSONATION ENDED (MEDIUM). La porta cross-org ora legge l'orgID del chiamante per la riga e risponde 401 quando la sessione manca, come la porta dello stesso-org Già fatto. Novità: security/ImpersonationAudit (spec 5.6, D12-D14).

  4. · AIService

    I brevi nomi DEPARTMENT MANAGER come capo del vostro dipartimento (KamoCollab CP02)

    DEPARTMENT MANAGER ora si dirige verso il capo reparto (il grafico org dipartimentoManagerCandidates), così il brief dice "il capo del vostro Dipartimento". CharterCompiler.VERSION non è volutamente urtato (CP02 spec D23, sentenza CP02-P-5): nessuna via di trasporto DEPARTMENT MANAGER, quindi nessun breve immagazzinato porta le vecchie parole e un urto sarebbe ricompilare ogni breve di AI per niente. Nessun perno di prova VERSIONE (R1-24).

  5. · kamo-shared-library

    MediaObjSource e MediaObj.source, creareMessaggio con una fonte, trovareTwoPersonChatSession, e l'impersonazione/Enter-As eventi di accesso-log (KamoCollab CP00 T4)

    - MediaObjSource {MEMBER, SYSTEM, SERVICE}; MediaObj.source (STRING, colonna SOURCE, lunghezza 16, nullable, nessun default) e sorgenteOrMember(), che legge NULL come MEMBER. - MediaService.createMessage guadagna un sovraccarico a sette argomenti prendendo la fonte; sei-argument overload delegati con null, così ogni chiamante esistente memorizza NULL. La meta' delle ricerche trovareOrCreateChatSession, estratto; trovareOrCreateChatSession crea solo quando è vuoto, quindi il suo comportamento è invariato. - AccessLogEventType aggiunge IMPERSONATION STARTED, IMPERSONATION ENDED, ENTER AS. La colonna MEDIA OBJS.SOURCE deve esistere (CP00 Task 3 DDL) prima che questo venga spinto.

  6. · kamo-internal

    FreePBX voicemail in Impostazioni: i campi di interfaccia manager, le caselle di segreteria condivise e un giocatore che dice perché

    SP98 Task 15. - Il modulo FreePBX ottiene i quattro campi Asterisk Manager Interface segreteria necessità (host, porta, nome utente, segreto). Il segreto memorizzato non viene mai mostrato ("(invariato)") e viene inviato solo quando digitato; spostando l'host lo chiede di nuovo e un host vuoto spegne la segreteria vocale, come le regole del server sono. - La scheda Voicemail del server di un telefono gioca ogni riga per il proprio id: ha chiesto /voicemails/±externalId>/audio, che non è id, quindi nessuna riga ha mai giocato lì. Le righe dicono in quale casella di posta il messaggio è stato lasciato in; un server FreePBX condiviso scatole (mailboxes no Kamo estensione possiede, come la linea principale) sono elencati con chi ogni notifica, scelto dai membri che gestiscono i server telefonici. - Impostazioni > Telefono > Voicemails nomina la casella di posta e segna quelli condivisi. - Entrambe le liste giocano attraverso VoicemailAudioPlayer: niente carica fino al gioco, e un messaggio il cui audio Kamo sta prendendo dal sistema telefonico dice così, guarda di nuovo ogni 20 s e gioca una volta che è lì; le altre ragioni si dicono chiaramente, con Prova di nuovo. - L'aiutante SIP WebSocket mostra il suo testo invece della sua chiave (il dizionario valore tenuto <host> tags ICU non poteva formattare).

  7. · kamo-asterisk-support

    Voicemail carica il nome del loro messaggio, e Kamo può chiedere di uno non ha audio di

    Un upload vocale ora trasporta il proprio id del messaggio, <mailbox>/ <msg id> da msgNN.txt Asterisk scrive accanto a esso, come il suo id unico: file VOIPService FreePBX voicemail sotto esattamente quel id, quindi le due coppie esattamente al posto di tempo. Un caricamento per messaggio, dalla sua copia PCM (msgNN.wav). La copia wav49 (.WAV), i saluti (unavail, occupato, saluto, temp) e i file tmp di una casella di posta non vengono più caricati, quindi non vengono più eliminati dalla bobina: caricarli usati per portare via il saluto di una mailbox e dare a ogni messaggio un seconda, carica in competizione. Un messaggio il cui nome non msg id non è caricata e rimane dov'è. La policy pull ora porta voicemailAudio: i messaggi Kamo non ha audio di e chiede (KamoAI SP98). VoicemailAudioSender trova ciascuno per msg id nella sua le cartelle della casella di posta, prende la migliore copia che la bobina ha ancora (wav, WAV, gsm, ...), ha Asterisk convertirlo in un WAV nella sua directory tmp sul helper's manager utente (file convert), lo carica sotto id del messaggio e rimuove il file temporaneo. La bobina non è mai cambiata. Ids che non sono <mailbox> / <msg id> sono calati al tiro; ogni messaggio viene tentato una volta per Dieci minuti, sullo sfondo. Versione agente 2.1.0.

  8. · VOIPService

    Caselle di segreteria condivise e audio segreteria FreePBX dal messaggio stesso

    Scatole condivise (SP98-N-2). Una casella di posta sul PBX che nessuna estensione Kamo è (K1M1 8100, "KamoCRM Main Line") non è mai stato sincronizzato. La spazzata è singola AMI sessione ora chiede anche VoicemailUsersList una volta che le estensioni sono lette, record ogni casella di posta nel contesto utente di FreePBX come casella condivisa di un server telefonico (PHONE VOICEMAIL BOX, DDL in doc/sql; INSERT ... SU CONFLICT così un secondo spazzare non può avvelenare la transazione), e sincronizza i suoi messaggi come righe senza estensione. Ogni casella ha una lista di notifica (PHONE VOICEMAIL BOX NOTIFY, nessuno da default): un nuovo messaggio solleva VOICEMAIL RECEIVED per quei membri, apertura Impostazioni > Telefono > Voci. E' il momento giusto. elenca le caselle e sostituisce la lista di una scatola (MANAGE VOIP SETTINGS; membri della solo org, al massimo 25). I messaggi di una scatola sono elencati, giocati, contrassegnati da lettura e cancellato solo dai membri che gestiscono i server telefonici, in entrambe le liste di segreteria. Audio (SP98-N-3). Le impostazioni giocano il caricamento che nomina il messaggio esattamente (l'aiutante ora invia <mailbox> / <msg id>), poi l'accoppiamento del softphone da mailbox e ora. Con nè, il messaggio stesso è richiesto dal PBX: VoicemailAudioRequests lo registra in Redis per dieci minuti, la politica tira porta come voicemailAudio, e l'aiutante carica l'audio del messaggio sotto il suo id. Il giocatore ottiene 404 con un motivo: AUDIO REQUESTED, AUDIO NOT SENT (preso tre minuti fa, niente è venuto), HELPER OFFLINE o AUDIO NOT UPLOADED. Il softphone chiede i messaggi che non possono accoppiarsi, quindi il loro audio arriva prima che qualcuno premi giocare. La lista per-server ora dà ogni riga il suo id (il giocatore ha chiesto /voicemails/±externalId>/audio, che non è id, quindi non ha mai giocato) e la sua mailbox, e legge le estensioni una volta invece di per fila.

  9. · kamo-internal

    Ortografia fonetica del nome dell'azienda e nome breve in Informazioni della Società (SP94 T7)

    Due campi opzionali accanto Nome della Società e Nome Breve, caricati da e salvato a PUT /api/security/org/{id as ************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************* Una scatola vuota viene inviata come null in modo che un'ortografia cancellata sia effettivamente cancellata. Sono utilizzati solo per il testo che il motore di discorso dell'IA riceve.

  10. · AIService

    E5 parla il nome dell'org e il nome breve nelle ortografia fonetica il set org (SP94)

    Il modello di discorso viene inviato l'ingresso del chiamante con ogni menzione integrale della parola nome di org o nome corto sostituito dalla sua ortografia fonetica (OrgPhoneticSpeech). L'org viene letto una volta per richiesta, dopo la convalida della richiesta e prima della camminare, così ogni candidato viene inviato lo stesso testo, su entrambi i percorsi di SP96 (a la voce della persona o del chiamante, e la voce di un membro dell'IA). Il tappo 4096-character e la misura CHARACTERS 1K rimanere sull'ingresso del chiamante. Un org che non è trovato, o non può essere letto, è parlato come scritto; una lettura fallita è un ATTENZIONE.

  11. · MCPGatewayService

    Phone call dice chiaramente quando la politica di outbound dell'org blocca un numero, e nomina testo o e-mail invece (SP93 T12)

    K6 rifiuta un numero il blocco delle guardie del toll-fraud del server del telefono con 409 BLOCKED BY OUTBOUND POLICY (SP93 T11). phone call ora le risponde come propria stato, con un messaggio chiaro e fallback [sms send, mail send], accanto NO VOICE CONSENT, e l'audit lo registra come DENIED, non ERROR.

  12. · VOIPService

    La politica gestita di PBX porta la lista dei blocchi di pedaggio (SP93 T7)

    /internal/voip/pbx-config risposte bloccatePatterns, le guardie del server del telefono come Modelli asterisco Per il supporto kamo-asterisk. [kamo-toll-fraud-blocked] contesto. Ogni guardia risponde a una lista vuota. The versione hash copre anche la lista, quindi si muove quando una guardia fa (SP93-T7-1).

  13. · SecurityService

    Cap the org's two phonetic name spellings on the settings PUT (SP94 T4)

    titoloPhonetic e titoloShortPhonetic ride PUT /api/security/org/{id} sotto stessi diritti di titolo/titoloShort (proprietà o CONFIGURE SYSTEM, mai dio solo). Ognuno è bloccato a 255 caratteri, rifiutato con 400 {error, campo} prima tutto è memorizzato, come il nome del membroPhonetic è. GET /{id} già ritorna l'entità intera, così entrambi appaiono lì senza cambiamento. E' una cosa che non va. file memorizzato: il proprietario imposta entrambi, un chiamante senza il diritto ottiene oggi 403, 256 caratteri su entrambi è 400 nominando il campo, 255 è memorizzato, un PUT che nomina uno lascia l'altro, nulle, e il GET trasporta entrambi (null fino al set).

  14. · KlusterServices

    Il cancello in uscita rifiuta un numero il blocco delle guardie del pedaggio-fraud (SP93 T9)

    [kamo-outbound-gate] ottiene un GotoIf su kamo-asterisk-supporto gestito [kamo-toll-fraud-blocked] elenco, tra la linea di trasferimento AI SP13 e la Vai avanti, e un ramo (bloccato) che tagga OBBLOCK, suona il non-disponibile prompt e riattacca con causa 21. Un permesso chiamare senza guardia Il 911 e il 933 non raggiungono mai il cancello. # La stessa modifica sul funzionamento # nodo: una guarded, idempotent editing del cancello Goto dopo '; sp13:ai-xfer-outbound', rifiutando con nulla scritto quando quell'ancora manca o [kamo-toll-fraud-blocked] non è ancora nella politica gestita sezione; torna, ricarica il piano di linea e verifica ciò che Asterisk caricato. L'apparecchio è il file k1m1 a partire dal 2026-10-04.

  15. · VOIPService

    Le guardie del telefono per il controllo pre-flight di KamoAI (SP93 T6)

    E' il momento giusto. risposte {blockInternational, blockPremiumRate, bloccoHighRiskAreaCodes, bloccatoPrefissi} per un server telefonico, letto dal suo id; un server che non esiste è 404 INSTANCE NOT FOUND. Protetto da InternalAuthFilter come ogni percorso KamoAI.

  16. · AIService

    Rimuovere il catalogo vocale charter, GET /api/ai/charter/voices (SP96)

    La carta non indica più una voce: un membro dell'AI ricorda uno per modello di discorso, Leggere e scegliere al momento giusto. L'editor charter voice picker era l'unico caller del catalogo (kamo-internal, SP96 Task 19), quindi il punto finale e VoiceCatalogService vanno, con il suo test. Il /api/ai/charter/** la riga di accesso rimane per l'anteprima. CharterPreviewControllerTest esegue la scansione di ogni controller del servizio e non riesce se un percorso, un modello incluso, risponde /api/ai/charter/voices di nuovo. AiAccessRulesTest campioni /api/ai/charter/preview per la riga charter invece.

  17. · kamo-shared-library

    Ortografia fonetica del nome dell'org e nome corto, per il discorso dell'IA (SP94 T3)

    Organizzazione.titlePhonetic / titleShortPhonetic (TITLE PHONETIC, TITLE SHORT PHONETIC, VARCHAR(255), nullable), su patchOrganization's allow-list accanto al titolo/titleShort, and OrgPhoneticSpeech.forSpeech: un puro, single-pass, caso-insensibile, inter-parola swap del I nomi di org per le loro ortografia, nome più lungo prima, per l'API di discorso di AIService solo. Bisogno SP94 Il DDL di T2 applicato in produzione prima che questo venga spinto.

  18. · kamo-asterisk-support

    Render l'elenco dei blocchi toll-fraud come [kamo-toll-fraud-blocked] (SP93 T8)

    La politica PBX tira ora porta bloccatiPatterns, l'estensione Asterisk modelli delle guardie toll-fraud opzionali del server del telefono. Ancoraggio un underscore seguito da cifre e N, X, Z e . jollys (al massimo 40), così nulla dalla risposta può aggiungere una priorità, un'applicazione o un contesto al piano di linea. RenderPolicy li scrive come un terzo contesto gestito accanto le due liste consentite; con ogni guardia fuori definisce ancora il contesto con un modello no cifre corrispondono, quindi il gate di uscita DIALPLAN EXISTS è sempre sicuro. Tick filetta l'elenco tramite PolicyWriter. Applicare e registrarlo su un cambiamento. Un Kamo che preda il campo non invia nessuno, che non blocca nulla.

  19. · VOIPService

    Le nuove estensioni iniziano come dice l'impostazione in uscita del server del telefono (SP93 T5)

    Una nuova estensione, una persona o una linea AI, ora inizia a comporre fuori solo quando il nuovo server del telefonoExtensionsOutboundAllowed impostazione è attiva. - AiVoiceAssignmentWriter.assign legge l'impostazione invece del vero letterale. Ogni assegnazione crea una linea, quindi una riga già lì (inserita, o sinistra negato da una linea in pensione) prende anche; chiaro ancora nega sempre. - No, no. E poi... su una riga creano, leggono al massimo una chiamata; una bandiera della riga cache, una La scelta dell'amministratore, non è mai toccata.

  20. · VOIPService

    La politica di outbound del server del telefono nelle impostazioni della voce AI (SP93 T4)

    E' il momento giusto. portare SP93's cinque campi: nuovoExtensionsOutboundAllowed, bloccoInternazionale, bloccoPremiumRate, bloccoHighRiskAreaCodes e bloccatoPrefissi (un elenco). Un prefisso personalizzato è tagliato, gli spazi vuoti sono caduti e si ripetono uniti; ciascuno deve pass Non e' vero. (1-15 cifre, mai 911, 933 o un prefisso di entrambi), al massimo 25, o il PUT è 400 {campo:blockedPrefixes} e nulla è memorizzato. Come ogni altro campo qui il PUT è tutto sostituzione: una bandiera mancante o null è spenta. Niente memorizzato mostra il politica off. Ancora MANAGE VOIP SETTINGS da solo.

  21. · AIService

    La voce del membro termina, per leggere e scegliere la voce di un membro dell'IA per modello vocale

    SP96 Task 10 (spec §5.5): - E' una cosa da fare. i candidati TTS del router per l'IA (attore AI con il membro; mai AiCallRuntime. guardia, quindi un AI in pausa o in pensione legge), quelli un adattatore vocale serve, modello preferito prima: E5's walk. Ogni modello ha la sua voce ricordata, decidere() la prossima voce con nulla scritto, e le voci compatibili miglior livello prima; le righe sui modelli non offerti sono elencate non disponibile. E' una cosa che non va. {voiceId?, preferito?}: un CHOSEN voce (il chiamante, il sesso a scelta), poi il modello usato prima, in uno transazione (MemberVoiceWriter, @Transactional @RetryOnDbConflict, no HTTP). Facendo riferimento a un modello senza riga ricorda la prima scelta di E5 lì, incontaminato. - E' una cosa da fare. la stessa vista, canChange false, dietro X-Internal-Auth (InternalCaller). MANAGE MEMBERS, MANAGE MEMBER SECURITY, MANAGE AI WORKFORCE, VIEW AI WORKFORCE, o SUPERVISE AI MEMBERS come suo supervisore. Cambiamento: MANAGE AI WORKFORCE, o il suo supervisore con SUPERVISE AI MEMBERS. Mai l'IA stesso. Rifiuti MISSING RIGHT, MEMBER NOT FOUND, MODEL NOT AVAILABLE, VOICE NOT OFFERED, VOICE NOT COMPATIBLE, RETIRED. - AiAccessRules: /api/ai/members/** è un percorso membro; il controller decide.

  22. · MCPGatewayService

    Una richiesta verificata da qualcuno che può approvare è l'approvazione: una riga ON REQUEST, l'azione subito, il suo risultato su K3b (SP95 T34)

    Quando la carta chiede l'approvazione e l'IA cita una richiesta verificata (onRequestOf), K3 viene chiesto con modalità ON REQUEST, il richiedente e il riferimento. Una riga APPROVATA lascia correre subito l'azione; passa ancora i limiti e la porta di accesso, e quello che è venuto a è riferito su K3b (EXECUTED, o FAILED con il suo stato e messaggio, prima che la chiave sia liberata). Un risultato ambiguo è lasciato alla zecca, che riesegue sotto la stessa chiave. K3 NON AN APPROVER, REQUEST USED e SHADOW, un rifiuto morbido e un Carta SHADOW chiedere a una persona come prima, e la risposta dice perché (su richiesta {accettata:false, ragione}). FORBIDDEN rifiuta ancora, e un'azione che non ha bisogno di approvazione scrive nessuna riga ON REQUEST. Una corsa a secco chiede K3 sotto X-Kamo-Dry-Run e non scrive niente. Un'approvazione ON REQUEST rieseguita mantiene il cancello di uscita (modalità K4).

  23. · kamo-shared-library

    Per-phone-server politica in uscita e OutboundCallPolicy (SP93 T3)

    SP93 Task 3 (spec §5.2, D1, D4-D6): - AiVoiceInstanceI guadagni Non e' vero. BLOCK INTERNATIONAL, BLOCK PREMIUM RATE, BLOCK HIGH RISK AREA CODES (booleano, NON NULL DEFAULT falso) e BLOCKED PREFIXES (VARCHAR(500) NON NULL DEFAULT '), più bloccatoPrefixList(). - Nuova pure OutboundCallPolicy: il record Impostazioni, il FCC 'One Ring' ad alto rischio NANP i codici di area, i codici premium 900/976, èValidPrefix (1-15 cifre, mai 911, 933 o un prefisso di entrambi), comporrePatterns (i modelli di Asterisk per [kamo-toll-fraud-blocked], in ordine fisso, ogni volta, prefissi non validi memorizzati cadute) e blocchi (un modello reso corrisponde alle cifre del quadrante PBX dell'AI), quindi le PBX e un controllo pre volo dell'IA non sono mai d'accordo. Le cinque colonne devono esistere (SP93 Task 2's DDL applicare) prima che questo raggiunga il principale.

  24. · MCPGatewayService

    Un'intelligenza artificiale può citare la richiesta su cui agisce (onRequestOf), controllato leggendolo; il taint di un run dice da dove proviene (SP95 T31)

    Ogni scrittura AI che potrebbe aver bisogno di approvazione prende l'opzionale suRequestOf (chat: <conversation> / <message>, task: <item>, task: su strumenti/list. La pipeline lo estrae prima del controllo dello schema, planner e l'hash args, e RequestVerifier legge il riferimento come l'AI (D20): un riferimento forgiato o esterno rifiuta la chiamata (INVALID ARGUMENTO RICHIESTA NOT VERIFIED + perché, key freed); un che è stante, non questa corsa o in una corsa esternamente tainted è un morbido rifiuto; uno verificato va al pianificatore sul piano predefinito (ToolPlan.VERIFIED REQUEST). Un report a secco suRequestOf.accepted. Le approvazioni sono invariate fino al Task 34. RunTaint guadagna una fonte: chat legge di un team CHAT i cui autori sono tutto sulla squadra di org taint the run INTERNAL; tutto il resto è EXTERNAL, che da solo blocca una richiesta citata (D22).

  25. · AIService

    Il breve dice quale azienda l'IA lavora per, e dice una chiamata a un collega (SP95)

    Il profilo charter SecurityService invia ora porta orgName, il org parla nome (nome breve, altro nome di visualizzazione, altro nome legale; SP95 D15). Il brief è la linea d'identità si chiude con "Si lavora per <orgName>." quando non è vuota, quindi no il marchio è sempre scritto nel breve a mano. orgName fa parte del profilo impronta digitale, così un org rinominato ricompila i suoi slip AI. PLACE INTERNAL CALL (SP95 D1) legge "Colleganti" nelle approvazioni e sezioni di escalation; il braccio predefinito da T1 rimane per classi future. CharterCompiler.VERSION si muove a sp95-1, come la sua regola chiede quando la formulazione cambia, quindi una persona breve del tipo di lavoro prende anche la nuova etichetta una volta. CharterSnapshotTest approva il conteggio segue AiActionClass invece di pinning 18: PLACE INTERNAL CALL di condiviso-lib lo rende 19.

  26. · VOIPService

    Il file DDL per la politica in uscita del server telefonico

    SP93 Task 1. Cinque colonne NON NULL DEFAULT su AI VOICE INSTANCE SETTINGS: E' il momento giusto. BLOCK INTERNATIONAL, BLOCK PREMIUM RATE, BLOCK HIGH RISK AREA CODES e BLOCKED PREFIXES, tutti inadeguati a quello di oggi comportamento. Sp93DdlContractTest pins the file to spec 5.1 e controlla ogni la colonna è reperibile, porta il suo DEFAULT nella propria clausola, e che Non c'è CHECK, JSON o DROP.

  27. · EmailService

    Il nuovo nome di un membro raggiunge il nome della loro casella di posta (SP95 T35)

    # POST # {precedente, attuale} - > {updated}, dietro il segreto interno di KamoAI come casella di posta elettronica. Le caselle di posta che il membro detiene come primario il cui nome di visualizzazione è vuoto o ancora il precedente (tessuto, ignorando caso) prendere il nuovo nome; un nome un amministratore ha scelto, e una casella di posta il membro condivide solo, soggiorno. Un vuoto il nome attuale è un 400. Una transazione @RetryOnDbConflict keyed dal membro; nessuna chiamata di provider (KamoMail non mantiene nessun nome di visualizzazione lato server).

  28. · kamo-internal

    Chiamare i colleghi nella carta, la linea di squadra del server del telefono, e "Asked for" su un'azione che qualcuno ha chiesto (SP95 T26)

    - Carta: PLACE INTERNAL CALL accanto a PLACE CALL; APPROVAL detiene un elemento per classe (19, sentenza SP95-T4-1). - Scheda del server del telefono: la linea di squadra (defaultTransferExtension), inviata su ogni salvataggio, vuota come nessuno (V10 sostituisce ogni campo). - Approvazioni: un chip "Asked for" per modalità ON REQUEST nella lista e nei dettagli; il dettaglio dice chi ha chiesto e link a la chat (aperta sul posto) o l'attività (/notes?task=). I tipi si leggono attraverso il mezzo.

  29. · SecurityService

    Un rinominato raggiunge le caselle di posta del membro (SP95 T36)

    Dopo un cambiamento commesso di "Prima Ultimo", SecurityService messaggi {precedenti, attuali} a EmailService's Una volta per iscritto. dell'utente, con il segreto interno KamoAI (la fase di noleggio MAILBOX client e URL). EmailService rinomina solo le caselle di posta che membro detiene come primario e che porta ancora il vecchio nome automatico. - MemberNameChangeNotifier: after commit only (AfterCommit), off the richiesta thread su kamoaiExecutor, miglior sforzo (WARN, mai fallisce salvare); un nome cancellato a vuoto non è annunciato. - Chiamato dal profilo utente PUT e dal conto della piattaforma Utenti modificare, solo quando "First Last" è cambiato. AccountController's parseName nomina un account cliente, non una persona, quindi non annuncia nulla.

  30. · AIService

    Un org che classifica OpenAI trascrizione primi stream STT attraverso di esso, e ogni biglietto nomina il suo dialetto di sessione (SP95)

    modello di trascrizione è stato abbandonato come ADAPTER UNSUPPORTED e ogni STT in streaming il biglietto è andato a Kamo Speech sulla CPU. Ogni riga di catalogo ora nomina la sessione (il modello cavalca nell'aggiornamento della sessione), e il biglietto risponde sessioneDialect.

Il tuo universo ti sta aspettando.

Aggiungi i prodotti quando sei pronto: nessuna migrazione, nessun nuovo login, nessuna richiesta di pagamento.

Gratis per sempre — nessuna carta di credito richiesta