Changelog
Cosa c'è di nuovo.
Ogni miglioramento alla piattaforma, come si spedisce.
· kamo-internal
Il routing di SI mostra quello che utilizza ora — il modello efficace per tipo di lavoro e se l'ordine dell'org o il default automatico lo hanno scelto; per parola-to-text, il modello sulle telefonate e nelle riunioni, in streaming o per frase, con l'accentuazione automatica della precisione
Proprietario 2026-10-15: "Se un modello viene aggiunto e abilitato ai provider SI che supporta il discorso al testo, dovrebbe usare il migliore." Legge l'efficace / efficace di AIServiceCalls / EffectMeetings su ogni voce di routing; un AIService senza di loro non mostra niente di nuovo.
· EmailService
Le cancellazioni via e-mail raggiungono l'elenco non-contatto, e le campagne, le azioni e la posta di un SI controllano
Proprietario 2026-10-15: una lista non-contatto a livello aziendale per organizzazione, portata per canale; un'email cancella blocchi e-mail solo. - Scrittore: MirroringEmailOptOutLedger (il fagiolo EmailOptOutLedger) mani ogni cambiamento applicato a EmailDoNotContactMirror. Un'intera sottoscrizione (preferenza page, one-click, List-Unsubscribe mailto, relay) elenca l'indirizzo per EMAIL (fonte EMAIL UNSUBSCRIBE, registrato da "Recipient (∼source>)" o "Mail system (∼source>)"); la persona che consente di riattivare la posta (EMAIL RESUBSCRIBE), un membro che lo solleva con il consenso della persona lo toglie con la loro nota (MANUALE). I rimbalzi, i reclami, gli argomenti e le pause rimangono della mail list. Scritto dopo i commit di opt-out, REQUIRES NEW, mai gettato: un disiscrizione mai fallisce a causa dello specchio. - Lettori: SuppressionService (campagne, azioni articolo) e SuppressionLookup (ammissibilità) anche contare le voci EMAIL, quindi un indirizzo aggiunto o importato in Impostazioni - > Telefono - > Non contattare è tenuto da posta di marketing. POST /api/email/send rifiuta un SI (mail send, mail reply, mail forward) 409 {reason: DO NOT CONTACT, errore, indirizzi} sui destinatari finali, 503 quando il elenco non può essere letto; la corrispondenza di una persona mantiene le regole esistenti. Test: EmailDoNotContactMirrorTest, DoNotContactSuppressionTest, SiMailDoNotContactGuardTest, EmailControllerSendContractTest (RED su origine/principe, GREEN qui), gli altri test di EmailController, DeliveryabilityWiringTest, SuppressionLookupTest, BulkEmailWiring Test, i ratchet dell'arco.
· VOIPService
La lista non-contatto dell'organizzazione — VOIPService la possiede, i testi lo controllano, STOP e START lo scrivono
Proprietario 2026-10-15: una lista non-contatto a livello aziendale per organizzazione, per canale ("Solo quel canale"). - DDL. (DO NOT CONTACT, DO NOT CONTACT EVENT append-only for kamo app, DO NOT CONTACT SETTINGS), applicato 2026-10-15 04:35Z. - DoNotContactBeans dichiara DoNotContact di Bilib condiviso Elenco (repositori già all'interno del com.kamo.z.shared.comms scansione; VoipRepositoryScanTest li pins). - /api/voip/do-not-contact (MANAGE VOIP SETTINGS): list/search, add, import (fino a 1000 linee), POST /{id}/remove con un motivo richiesto, storia, attività, impostazioni (modalità chiamata ATTENZIONE | BLOCK, WARN predefinito). GET /check ha bisogno solo la sessione: cosa chiedono il softphone e l'app mobile prima di dialling (listed, registratoA, sorgente, modalità, messaggio: "{number} chiesto di non essere chiamato su {date}). Ricerca di altri servizi: ?orgId=&channel=&address= (KAMOAI INTERNAL SECRET); un servizio con Chiamate di scansione condivise-lib ********************** canale, indirizzo). - Testi: SmsGateway rifiuta un numero elencato per SMS con OPTED OUT (mai retried) per ogni mittente, una persona o un sms send SI; la risposta HELP è esente (Attempt.keywordReply). Bulk /send e /test-send rifiutarlo con 409. Modello Transactional e invii interni mantengono le regole esistenti. - STOP elenca il numero per i testi (fonte SMS STOP); START/UNSTOP lo toglie solo per i testi (SMS START, ragione "Testo START"). La proiezione STOP su AGENT CONTACT STATE ora imposta solo testi: e-mail, chat e social mantengono il proprio opt-outs (proprietario: un testo STOP blocca solo i testi). Test: DoNotContactControllerTest, SmsGatewayTest, SmsKeywordServiceTest, E' il momento giusto. VoipRepositoryScanTest (RED su origine/principe, GREEN qui), VoipMessageServiceKeywordTest, InternalAuthFilterKamoaiTest.
· AIService
SIs ascolta con il miglior modello di discorso l'org abilitato - senza set di ordini, il migliore modello VERIFIED STT si posiziona prima per accuratezza pubblicata (SttQualityRanking, provider-neutral; TTS mantiene in-cluster primo); i biglietti di chiamata prendono solo un dialetto di sessione che il cliente parla; E4 inoltra un prompt di trascrizione come suggerimento di ogni fornitore vocabolario (prompt, keyterm/keywords, word bost); Impostazioni → Il routing di SI mostra il modello che utilizza ora, e per STT su chiamate e in riunioni
· kamo-shared-library
L'elenco non-contatto dell'organizzazione, per canale
Una lista aziendale per organizzazione (proprietario 2026-10-15), per canale: a Blocchi di ingresso CALL solo chiamate, SMS solo, EMAIL e-mail solo. Pacchetto com.kamo.z.shared.comms.dnc: DO NOT CONTACT (unique ORG ID, CHANNEL, ADDRESS), l'append-only DO NOT CONTACT EVENT audit trail e DO NOT CONTACT SETTINGS (per-org call mode WARN | BLOCK, default WARN). DoNotContatto Elenco (classe normale; ogni servizio dichiara il fagiolo) è il lettore unico e scrittore: isBlocked(orgId, canale, indirizzo) / trovare / filtroBlocked per ogni percorso di contatto, aggiungere (impermeabile, prima data tenuta), rimuovere e rimuovereById (un motivo di 3+ caratteri è richiesto, e l'evento REMOVED lo mantiene), ricerca, storia, attività e modalità chiamata. Gli indirizzi sono E.164 per CALL e SMS (PhoneE164, quindi La lettura NANP di E164) e più in basso per EMAIL; si rifiuta un indirizzo illeggibile. DDL: voipservice ****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************** Test: DoNotContactListTest, ****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************
· kamo-shared-library
AiCallEventType.TEAM REQUEST registra che ha chiesto la chiamata di un SI e il messaggio di consegnare
Proprietario 2026-10-15: quando un membro del team chiede a un SI di chiamare qualcuno, il SI li chiama senza approvazione e senza acconsento cancello, dice chi sta chiamando, consegna il loro messaggio e riporta indietro. K6 registra la richiesta (richiesta, richiestaRef, il nome dato, il messaggio) su questo evento; il contesto di chiamata e il follow-up lo leggono. STRING-persisted, allegato dopo CONSENT BASIS.
· kamo-internal
SI routing mostra "Phone calls and meetings" — l'ordine di modello della slot VOICE CONVERSATION, con un accenno che nomina il suo ordine fallback
Proprietario 2026-10-15: telefonate SI sul proprio ordine modello, chat invariata. routingApi specchi condiviso-lib AiRoutingSlot (ROUTING SLOTS) e la voce di slot è gentile e fallbackCapability. Nessun link home admin-bar.
· kamo-internal
Un membro può lasciare che i colleghi SI li accolgano con il breve modulo sulle chiamate interne
Si chiama divulgazione, decisione del proprietario 11 (2026-10-15): la scheda dei colleghi SI profilo personale del membro (sala di lavoro) ottiene "Short saluto sulle chiamate con il team SI membri", un interruttore che è spento a meno che il membro non lo accende. Su, un SI loro chiamata dal loro telefono di scrivania li saluta per nome ("Hi Sage, it's Luna, the assistente automatizzato.") e dice ancora che la chiamata è registrata; chiamate dall'esterno il sistema telefonico dell'ufficio sempre ottenere l'introduzione completa. Si salva con il set intero della carta (siCallShortGreeting, SecurityService 259063b9); una risposta da prima che l'opt-in legga come off. Un amministratore lo vede in sola lettura. No casa collegamento a barre. Una sesta riga di tavolozza nel registro di campo.
· AIService
SI telefonate e incontri percorso sul proprio modello ordine — kamo:voice[:light|medium|heavy] su percorsi E2 come chat nella slot VOICE CONVERSATION, e Impostazioni → elenchi di routing SI, offerte e salva la slot
Proprietario 2026-10-15: "Usa gpt-6-sol per le chiamate"; chat e tutto il resto rimangono sul loro ordine. - ModelloSelettore: kamo:voice e kamo:voice: assunzione > (solo chat) sono kamo:auto / kamo: - AiRouter: in una fessura, la fessura prima, poi le proprie fila della capacità (offset sotto di loro); una slot senza modelli elencati è l'ordine di oggi invariato, quindi nessun org cambia comportamento. Lo slot richiede TOOL CALLING, quindi un SI ne ha bisogno. L'inconveniente dello strumento GPT-6 (reasoning effort nessuno) si applica come prima: nessun sforzo è impostato qui. - Solo E2 gira che inviano kamo:voce leggere lo slot; il sommario di una chiamata mantiene il suo alias normale (test). - E13-E15: VOICE CONVERSATION è elencato subito dopo TEXT GENERATION (kind SLOT, fallbackCapability), i suoi candidati sono i modelli TEXT GENERATION con TEXT GENERATION e TOOL CALLING VERIFIED, e solo quelli possono essere salvati. - E1 legge routingSlot, quindi un servizio può chiedere quale modello una chiamata otterrebbe senza mettere uno.
· kamo-shared-library
Un routing slot per le telefonate e le riunioni di SI - ************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************ percorsi come TEXT GENERATION con TOOL CALLING richiesto, e CapabilityRequest porta lo slot (null per ogni chiamata esistente)
Proprietario 2026-10-15: telefonate SI ottenere il proprio ordine modello; chat e tutto il resto rimanere come sono. Una slot è non una capacità di modello: il suo ordine viene memorizzato in ai routing preferences sotto il suo NAME (VARCHAR(64), no CHECK, quindi no DDL), e un nome di slot non è mai uguale a un codice AiCapability (test). Una richiesta che nomina la fessura ottiene la slot richiesto capacità in capacità aggiuntive, quindi un chiamante SI ha bisogno di loro VERIFIED.
· SecurityService
Una persona può lasciare che i colleghi SI li accolgano con la forma breve sulle chiamate interne
SI chiama divulgazione, decisione del proprietario 11 (2026-10-15): il collega ("Hi Sage, it's Luna, l'assistente automatizzato.") viene utilizzato solo per il personale attivo che ha optato sul proprio profilo, su una chiamata che rimane sul telefono interno sistema. L'opt-in e'... (CP12's fila circa essere raggiunto da colleghi SI): nullable, NULL e FALSE sono spenti, Applique a mano prima della costruzione. applicato 2026-10-15T02:55:39Z). - CollabPreferencesWire: siCallShortGreeting, un booleano (null o assente = off), salvato con il resto del set da parte del membro stesso (403 NON SELF come prima). - CollabPreferencesView: la risposta GET/PUT lo porta. - ColleagueCallCardService: la carta di chiamata trasporta shortGreeting, che kamoai-service legge con intelligenzaTipo e attivo.
· kamo-internal
Un incontro in un messaggio — aggiungerlo una volta e vedere che cosa il suo organizzatore ha cambiato
La striscia che ha detto "non sul tuo calendario" e nient'altro diventa carta della riunione: una tessera della data, l'ora nella zona del membro con la orologio dell'organizzatore accanto a esso quando differiscono, luogo, unire link, ripetere e gli ospiti. - Un nuovo invito offre Aggiungi al calendario e Non ora; aggiungendo dice che i cambiamenti successivi si applicheranno da soli. - Un follow-up a una riunione già sul calendario viene applicato come si apre il messaggio (EmailService di solito ha fatto all'arrivo) e la carta mostra "Updated on your calendar" con ogni cambiamento, vecchio valore colpito attraverso accanto al nuovo. - Cancellazioni, risposte ("Dana accettata"), incontri del membro, un invito più vecchio del loro calendario, e fallimenti ciascuno dire chiaramente che Lo sono. L'avviso CALENDAR EVENT CHANGED della campana è scritto una riga per cambiamento, quindi il brindisi, il centro di notifica e la finestra di dialogo dei dettagli interruzioni di linea del corpo; una riunione annullata ottiene l'icona EventBusy.
· EmailService
Un incontro che arriva per e-mail chiede una volta, quindi si mantiene attuale
Un nuovo invito nel lettore di posta ora offre "Aggiungi al calendario". Una volta ha aggiunto il membro, i follow-up dell'organizzatore si applicano da soli: un movimento tempo, un nuovo posto, una cancellazione raggiungere la copia del membro senza chiedere, e il membro riceve una notifica CALENDAR EVENT CHANGED che dice quale l'incontro è cambiato e da cosa a cosa ("Da: Wed, 14 ott · 2:00 – 15:00 PM EDT / To: Thu, Oct 15 · 3:30 – 4:30 PM EDT"), nella loro zona. loro stessi gli incontri non vengono mai spostati via mail. - Invito in entrata Servizio: stato membro-scoped, aggiungere e applicareFollowUp, attraverso IcsImportService.upsert (zone, tutto il giorno, serie, modificate e istanze cancellate) con un'istantanea prima/dopo per la notifica. Solo si applica la nuova SEQUENCE; si ricorre a un conflitto di serializzazione; la comunicazione viene sollevato dopo il commit e deduped per evento, cambiamento e SEQUENCE. - All'arrivo: MessageIndexer consegna ogni messaggio KamoMail parsed a InvitationArrivals, quindi il calendario è attuale prima che il messaggio sia aperto. Altre caselle di posta si applicano quando il messaggio è aperto. - No, no. aggiungere e applicare rileggere riunione dalla casella di posta del membro, mai dal browser. - InvitationReader sostituisce il parser in entrata, che legge ogni tempo TZID come UTC (2:00 PM Eastern è diventato 2:00 PM UTC) e non poteva leggere un tutto il giorno data. Un messaggio che porta il suo incontro solo come allegato invito.ics è ora riconosciuto; i messaggi di incontro Microsoft 365 vengono letti dal loro MIME; una parte del calendario non leggibile non manca più l'intero messaggio.
· kamo-internal
Spiegare Confidential, registrare una decisione e divulgare la storia a un membro di prima volta, e dare a tutti e tre una finestra di dialogo premium
Ogni strumento ora si apre con una semplice-parole, guida a tre fasi la prima volta un l'utente lo utilizza (ricordato per membro sul server tramite la preferenza UI mappa, caratteristica chiaveIntrosSeen; mostrato quando la preferenza non può essere letta), piegato poi sotto un "Che cos'è questo?" pulsante in una finestra di dialogo animata condivisa: marca eroe con un glifo in movimento, sezioni sfalsate, azioni pinned, successo momento, ridotto-mozione consapevole. - Confidential: la serratura ora apre una finestra di dialogo con la guida, lo stato attuale (che lo ha segnato, quando), che cosa fa il marchio e non fa, e quello azione; un membro la regola del marcatore rifiuta legge perché invece di incontrare un Pulsante morto. Pantaloni refrigerati, pressati ad aria e un cambio di volo tenuto; la variante menu-row apre la stessa finestra di dialogo. - Registra una decisione: carte gentili con una linea ciascuna, esempi, un contatore del titolo, scelte rapide per quando si applica (no fine / oggi / questa settimana / questo mese / date di scelta, sul calendario del membro), un'anteprima dal vivo della carta, una rifiuto che scorre in vista, un momento di successo che collega alle decisioni; il supersede mostra ciò che sostituisce. Avviso di divulgazione e Invia comunque tenuto. - Storia della divulgazione: panoramica piastrelle per decisione e canale con un punto striscia nel tempo, una visualizzazione della linea temporale (il default su schermi stretti) accanto il tavolo, uno scheletro durante il caricamento, uno stato vuoto che dice cosa apparire e perché, e una carta vietata normale. Keyset Carica più, zona di gioco, 403 e riprovazione. - Rich tooltips (nome, stato, una frase normale) sulla barra degli strumenti bottoni, su ogni superficie che li riutilizza. - zIndex idraulico: le finestre di dialogo, l'apertura della decisione e la comunicazione prendere uno strato; ChatBox li solleva solo quando dipinge massimizzato da solo (MAXIMIZED Z) — le finestre degli strumenti incorporati rimangono nella banda portuale sotto MUI.
· kamo-internal
Parla il tuo messaggio, conversazione senza mani e leggere risposte ad alta voce in ogni finestra di chat
La voce della chat web pubblica — dittazione, risponde leggere aloud, e un loop senza mani — ora funziona ogni finestra di dialogo: chat (comprese le chat con i membri SI), biglietti di supporto, conversazioni sociali, Exec2Exec, l'assistente SI e SMS. - @kamo/voice-core 0.1.0 è la macchina statale, condivisa con il widget; useChatVoice lega uno controller per finestra (SSR-safe, creato pigramente) e consegna giù per contesto. - Il Composer condiviso (e i compositori SI e SMS) disegnano il microfono accanto a emoji/attach, un cortese linea di stato, e la finestra Hands-free / Read risponde aloud toggles (aria-pressed). - Le risposte raggiungono la voce dal gestore in tempo reale di ogni finestra: mai una seconda presa abbonamento, mai l'app-wide chat: messaggio-received nudge. SMS replays a un nuovo aperto la finestra è marcata e non rilettura; il turno della chat SI si risolve con la risposta stessa. - Una finestra minimizzata è silenziosa; una voce app-wide (una nuova ascolto/speak ferma l'ultima; una risposta non è letto su un'altra finestra mid-conversation; il nome pronouncer condivide la regola). - Hands-free / read-aloud sono preferenze UI membro, trasmesso a finestre aperte; in pausa. Il linguaggio vocale segue l'app locale.
· VOIPService
Ai-line nomina il numero di una chiamata mancata può essere restituito a
Ogni linea di /ai-lines?org Id= porta il callbackNumero: la linea propria del SI, altro un il numero ad esso assegnato, altrimenti il numero principale del suo server del telefono, altrimenti l'org è solo numero attivo; null quando nessuno (mai un'ipotesi tra diversi). Singola SIP minuto (no orgId) salta la ricerca.
· kamo-internal
L'editore offre JOIN MEETING, in modo che un'organizzazione possa stabilire una propria regola per un incontro con SI
Proprietario 2026-10-14: unire uno degli incontri dell'organizzazione è la propria classe d'azione (shared-lib 2d2f2efd), non PLACE CALL. ACTION CLASSES lo elenca dopo le due classi di chiamata, e APPROVAL detiene un elemento in più (22), come fa CharterSection di condiviso-lib. L'etichetta viene dal vocabolario charter come per ogni classe. Test: sezioni.test.ts (l'elenco, il conteggio e il cappello di APPROVAL)
· APIService
Carry sito web visitatori' Live Support file attraverso il gateway
Le parti multipart "files" sono re-sent a MediaService come nuovo corpo multiparte, alimentato dal contenitore copie spooled (il proxy generico non può inoltrare più parti: la primavera è già parsed ). Più di 5 file, o uno su 25 MB, viene rifiutato qui senza un hop a monte. - GET .../attachments/{objImgId} e .../preview: streamed byte-for-byte (file di un agente essere gigabyte; i buffer proxy generici nel mucchio), Range inoltrato, e solo il file proprie intestazioni attraversano (tipo, lunghezza, gamma, disposizione, nosniff, CSP, versione). - CORS ora espone Content-Disposition, Content-Length, Content-Range, Accept-Ranges, X-Attachment-Rendition e Retry-After al widget (Traefik cors middleware set non esporre la propria lista). - Un rifiuto a monte mantiene il suo Content-Type, quindi un errore JSON raggiunge il widget come JSON. - Limitatore di tasso: le vie di collegamento sono traffico di conversazione, non creazione di sessione (loro a 3/min/IP); carica 10/min/IP per conversazione, download 120/min/IP per attacco.
· MediaService
I visitatori del sito possono allegare i file nel supporto live — solo tipi sicuri
Un visitatore sul sito web di un prestatore può ora inviare documenti, immagini, zip e ordinario audio/video all'agente nella scheda Supporto dal vivo e leggere entrambi i propri file e dell'agente. Gli script, gli autorun e gli eseguibili sono rifiutati. Il cancello è PublicVisitorAttachmentPolicy, giudicato contro i byte piuttosto che il nome o tipo dichiarato: un'estensione predefinito-deny Allowlist (per l'ultima estensione, con pericolose estensioni interne, bidi overrides e Windows punti trainanti rifiutati), byte magiche che devono corrispondere alla famiglia rivendicata, PE/ELF/Mach-O ha rifiutato qualsiasi cosa nome, testo che deve essere veramente testo e file di famiglia ZIP leggere attraverso il loro centrale directory only (non decompressione) — nessun eseguibile, archivi nidi, simlink o percorso traversal in .zip; no macro, ActiveX o pacchetti OLE incorporati in Office/OpenDocument; nessun progetto VBA o oggetto confezionato in OLE2 legacy; nessun oggetto incorporato in RTF. Nuovi endpoint (in base alla chiave/origine/tasso dell'APIService, previa autorizzazione di sessione): - Cosa? (multipart "files", 1-5, 25 MB ciascuno) - GET|HEAD .../attachments/{objImgId} e .../preview (stesso intestazioni di sicurezza come percorso membro, ora condiviso attraverso AttachmentResponses) - POST .../messages accetta "attacchi": [{imgId, sortId}] — solo i propri upload del visitatore in questa conversazione; le righe di storia portano allegati nella forma del membro. I file dei visitatori vengono memorizzati come qualsiasi allegato di chat (CHAT ATTACHMENT, la guida di sessione, creato dal membro del sistema dell'org) così la finestra dell'agente li rende invariati. sendSupportMessage annuncia tutto (NATS frame con allegati, attività con hasAttachments, conteggio in sospeso) dopo commit, ed è @RetryOnDbConflict.
· KlusterServices
Postfix prende il nome mail.kamouniverse.com una volta che si risolve qui
kamouniverse.com è il dominio di invio della piattaforma, ma il server è ancora si presenta come mail.kamocrm.com nel suo EHLO, intestazioni ricevute e rimbalza. Postfix ora sceglie il suo nome all'inizio: mail.kamouniverse.com quando quel nome si risolve allo stesso indirizzo della posta. kamocrm.com, altrimenti mail.kamocrm.com come prima, dal momento che un nome HELO con nessun record A è di per sé un segnale di spam. smtp helo name segue myhostname. auto-cert ora emette mail.kamouniverse.com e lo specchia nella posta namespace, riavvio postfix. Può emettere solo una volta il record A risolve, quindi aggiungere il record è tutto ciò che serve per l'interruttore: riavvio sceglie il nuovo nome e il suo certificato.
· kamo-shared-library
JOIN MEETING, unendo uno degli incontri dell'organizzazione, è la sua classe d'azione e non PLACE CALL
Proprietario 2026-10-14: Luna (crm) ha chiesto al proprietario di approvare l'incontro che aveva appena detto di unirsi a lei. meeting join è stato classificato PLACE CALL, quindi il noleggio "Placing telefonate: chiedere prima l'approvazione" applicato ad esso (approvazioni 3f6fe9fc, 4ad68782). Unire una riunione non è mettere una telefonata: AiActionClass aggiunge JOIN MEETING (AUTONOMOUS per impostazione predefinita, non monetaria); lo Tool Plane lo esenta dal soffitto di autonomia mentre nessun layer charter lo nomina (mcpgatewayservice), e nominarlo in uno strato è come un'organizzazione lo stringe. CharterSection.APPROVAL contiene un elemento in più (22). Ogni carta risolta guadagna la classe, così ogni timbro charter si muove una volta (l'eredità d'oro di CharterStampTest si muove con esso, come ha fatto SEND INTERNAL MESSAGE e RELEASE INFORMATION). Test: CharterEnumsTest pins l'ordine, il default e il tappo. Il perno a bozzetto di AiAutonomyModeTest fallisce anche sull'origine/principe (RELEASE PROPOSAL), intatto qui
· kamo-internal
Client di monitoraggio remoto digitato e le regole di progresso, limite e rifiuto puro
· kamo-internal
Specchio i tre diritti di monitoraggio remoto e cancelli il tipo RPM ALERT
· APIService
Serve il percorso chiave partner di Tesla e lo esonera dalle regole di accesso (IoT SP08-D2)
****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************** Autorizzazione caduto) a IoTService Il percorso esatto (container) normalizzato) è esente dalle regole IP/geo della piattaforma.
· KlusterServices
Aprire TCP 8285 per il servizio messaggi di Tuya (IoT SP08 D4)
· MediaService
L'unione di un SI (M1) porta il dial-in dell'incontro, perché quando non può essere messa direttamente nella stanza
2026-10-14: SIs ha chiesto di unirsi a un incontro ha detto alla gente "non c'è un dial-in" e ha chiesto un altro modo di entrare. kamoai-service ora sceglie la strada in sé: direttamente nella stanza (LiveKit -> meet-ēroom>) prima, e l'incontro è proprio comporre solo quando questo non può essere posto. Per questo ha bisogno del dial-in, quindi M1 si unisce lo chiama - {estensione, pin} - quando il chiamante è il SI unirsi a sé, il ponte è acceso, e il PIN si risolve a questo incontro ora (DialInPins.resolve: un Kamo Meet unificato all'interno della sua finestra PIN), quindi un PIN Consegnato è uno che il ponte prende. Una persona che invita un SI non è dato il PIN attraverso M1. Test: MeetAiControllerTest (il sindacato del SI lo trasporta; l'invito di una persona, un PIN fuori dal suo finestra e un incontro senza nessuno porta nessuno).
· kamo-shared-library
SP12 salute enum, entità, depositi e derivazione del monitoraggio-stato
· kamo-shared-library
SP12 regole del codice RPM, matematica di periodo e matematica di soglia
· kamo-shared-library
Mappatura di vitali puri SP12 — LOINC/UCUM, conversione di unità, plausibilità, uid opaque Validic
· kamo-shared-library
SP12 colonne sorgente di osservazione, dispositivo FHIR e tag, query di lettura remota

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