Changelog
Qué hay de nuevo.
Cada mejora de la plataforma, a medida que se envía.
· kamo-internal
Asistente de inscripción con el script de consentimiento, conexión a dispositivo, entrada de tiempo y entrega de facturación
· kamo-internal
La pestaña Monitoreo, la cola de monitorización práctica y el interruptor de control remoto de la organización
· kamo-internal
Monitoreo remoto de alambre en el gráfico, la cola de práctica, el conteo de mamparas, el resumen del gráfico y el recorrido de pacientes
· DaemonService
DaemonService hace garrapatas de vigilancia remota cerca/no-data hora, reconciliación cada 15 minutos, escalada de alerta cada 5
· kamo-shared-library
Iot.alarm notice plantilla de correo electrónico
· kamo-shared-library
SP06 lógica de alarma — ISA-18.2 máquina estatal, escalada, supresión, horario, inundación
· kamo-shared-library
SP06 regla lógica — matemáticas de bucle, huellas dactilares, teclas de fuego, tentación, razones
· kamo-shared-library
SP06 regla lógica — solar, horarios, días del sitio, condiciones, dispara
· kamo-shared-library
Vocabulario SP06, entidades y repositorios solo lectura
25 enums (stored by name), IotServiceJobOrigin (SP13 barcos en él), 17 entidades que coinciden con el SP06 DDL y su sólo repositorios de lectura; IotActivityKind += AUTOMATION ENABLED, AUTOMATION DISABLED (SP11-D6).
· MediaService
Punto final y eventos del sistema solo para servidor (IoT SP04)
POST ¿Qué? IoTService publica la tarjeta IOT SHARE en miembros ticket de soporte o conversación Exec2Exec como evento del sistema de sharer, a través de un sistema-evento escritor (ahora también contesta el mensaje almacenado id). X-Internal-Auth = IOT INTERNAL AUTH SECRET (Secret iot-internal-auth, ya montado para el STOMP de SP01 authz), tiempo constante; 503 en blanco, 403 desajustes. Un billete Live Support (visitor) es rechazado 409 SESSION TYPE; una tarjeta no puede llevar una llave que el escritor posee. Cada cliente escribe camino ahora rechaza texto que pare como un evento del sistema con 400 SYSTEM EVENT RESERVED: miembro enviar, editar mensajes (en o fuera de un evento del sistema), Exec2Exec post, visita del sitio web enviar, comentario de error y reenvío (un evento del sistema no es adelante; se rechaza un comentario falsificado). Una tarjeta de consentimiento no debe ser falsificada por un participante.
· EmailService
NoReplySubsystem.IOT, la muestra de vista previa y el espejoToPush
Dispositivos IoT SP06: auditoría de alarma (iot.alarm notice) bajo IOT; la vista previa de plantilla tiene valores de muestra; POST /api/internal/notifications toma un espejo opcionalToPush (false = tarjeta de campana solamente, sin empuje de teléfono). Los productores que no lo envían se comportan exactamente como antes. También mapas dos plantillas canónicas que el guardia ************* encontrado no distribuido on main: LEADS AVAILABLE - título LEADS, SUSPICIOUS SIGNIN DETECTED - confianza SEGURIDAD ALERTS.
· KBService
Punto final de tarea interno para las automatizaciones IoT
POST/internal/checklists/iot/taks: una tarea en nombre del propietario de una automatización, en la bandeja de entrada del cesionario (SP06 CREATE TASK). Las notas deben estar en, el cesionario elegible; un id propuesto dice que un nuevo funcionamiento de su tarea existe.
· kamo-internal
Ajustes → Teléfono → No bloquear, junto a No contacto
Propietario 2026-10-15: "removelo y añádalo a una lista de "no bloque". La propia organización números y líneas de personal, que la lista de do-not-contacto nunca bloquea y ningún puesto de exclusión en ella. - Nueva pestaña do-not-block (MANAGE VOIP SETTINGS via VOIPService, settingsMenu sub entry, no enlace de administración-bar): sugerencias de números, números principales y personal de la organización líneas (en especie, etiqueta, cuya línea, ya protegida o todavía en la lista de contacto) cada uno con Protect, que sólo abre el diálogo añadir prefilled; filtro de canal (llamas, textos, correo electrónico, cada canal), búsqueda, añadir con una nota, eliminar con una razón requerida, y la historia, donde un opt-out que mantuvo fuera de la lista do-not-contacto muestra como "Opt-out not recorded" con su fuente y lo que se dijo. Cada número y dirección es un PhoneNumber / EmailAddress. - No contacto: el cuadro de diálogo de añadir muestra la negativa de bloqueo del servidor como escrito; importa las direcciones que dejó fuera porque están protegidas. - Llaves: kamo-translation-dictionary (pushed first). Tests: DoNotBlockTab.test.tsx (5), DoNotContactTab.test.tsx (import case RED, then GREEN), ajustesMenuTabCoverage (RED con la pestaña y sin entrada del menú, luego GREEN), el 20 guardias fuente y check-i18n-keys --require-messages; tsc en los archivos cambiados.
· EmailService
Se nota un suscripto de una de las direcciones protegidas de la organización, no enumeradas
Propietario 2026-10-15: la lista de do-not-block junto a la lista de no contacto. NoContactoEmailBeans declara DoNotBlockList y lo entrega al DoNotContactList: un protegido dirección nunca es suprimida por la lista de do-not-contacto, y EmailDoNotContactoAgregación de espejo para un suscripto de uno deja una nota SKIPPED en la historia del do-not-block. Tests: NoContactoEmailWiring Prueba (nueva; RED: los viejos frijoles no compilaron contra el nuevo compartir-lib), DoNotContactSuppressionTest, EmailDoNotContactMirrorTest, DisclosureLedgerWiring Prueba.
· kamo-shared-library
La lista de do-not-block, la lista de permisos al lado de la lista de no contacto
Propietario 2026-10-15: "remítalo y añádalo a una lista de no bloquear" (la propia empresa La línea principal había sido puesta en la lista de no contacto por una llamada de prueba. Para un los propios números y líneas de personal de la organización, por lo que una llamada de prueba o una frase desconfiada Nunca los bloquea. - DO NOT BLOCK (unique ORG ID, CHANNEL, ADDRESS; CHANNEL CALL TENIDO SMS TENIDO EMAIL ANTE TODO, ALL = llamadas y textos de un número de teléfono, correo electrónico de una dirección) y el apéndice solo DO NOT BLOCK EVENT trail (ADDED, REMOVED with its required reason, SKIPPED). - DoNotBlockList: add (idempotent; refused while the do-not-contact list holds the dirección en un canal cubierto: eliminar allí primero, con una razón), removeById (razón de 3+ caracteres), protección/esProtegido, búsqueda, historia, actividad, entradas Para, recordSkipped. - No contacto List now takes the DoNotBlockList (constructor change; VOIPService, EmailService y kamoai-service declaran ambos frijoles en el mismo empuje: encontrar/esBlocked/filterBlocked nunca bloquee una dirección protegida en sus canales; add() of a protected address SKIPS an automatic opt-out (VOICE OPT OUT, SMS STOP, EMAIL UNSUBSCRIBE) con una nota SKIPPED y Añadido(null, false, keptBy), y REFUSIA la adición de una persona (MANUAL, IMPORT) con campo doNotBlock y la sentencia "{address} está en la lista do-not-block para {cannel} ({note}), por lo que no puede ser añadido a la lista de no contacto. Quítalo de Ajustes - título Teléfono - título No bloquee primero". DDL: voipservice **************** (applied 2026-10-18 04:16Z). Pruebas: DoNotBlockListTest (7, RED: no compiló sobre el origen/mano), DoNotContactListTest, ¿Qué? (ambos repositorios' hallazgos), SharedLibBeanSafety Prueba.
· VOIPService
Ajustes → Phone → No bloquear — la API, las sugerencias, y STOP textos que saltan las propias líneas de la empresa
Propietario 2026-10-15: "removelo y añádalo a una lista de "no bloque". El permitido al lado la lista de no contacto, para los propios números y líneas de personal de la organización. - DDL... (DO NOT BLOCK, DO NOT BLOCK EVENT append-only for kamo app), applied 2026-10-18 04:16Z; re-run is a no-op. - NoContactoLos frijoles declaran DoNotBlockList y lo entregan al DoNotContactList (VoipRepositoryScanTest pins ambos repositorios). - /api/voip/do-not-block (MANAGE VOIP SETTINGS, as the do-not-contact admin): list and búsqueda, añadir {canal CALL habitSMS sometidaEMAIL perpetuaALL, dirección, nota}, POST /{id}/remove with a razón necesaria, historia, actividad (con cada opción que se mantiene fuera de la lista), y /sugerencias: números de la organización, números principales del servicio telefónico y líneas de personal de VOIP NUMBER OWNERSHIP (por ORG ID), una fila por número con lo que protege o la lista. Las sugerencias no añaden nada. - No contacto: la adición de una persona de una dirección protegida respuestas 409 campo doNotBlock con la frase de la lista; una importación nombra a los separados (Adiciones protegidas). - No figura un texto STOP de un número protegido (la lista compartida lo salta y la línea de registro lo dice. Pruebas: DoNotBlockControllerTest, DoNotBlockSuggestionsTest, DoNotContactControllerTest, VoipRepositoryScanTest (RED: no compiló contra el nuevo comparti-lib), SmsKeywordServiceTest, SmsGatewayTest, **************** VoipMessageServiceKeywordTest, InternaAuthFilterKamoaiTest — 98 verde.
· EmailService
Puerta del tipo RPM ALERT en REVIEW CLINICAL RESULTS y lista después de LEAD CALLBACK
· kamo-shared-library
Compartir enums, SHARE * clases de actividad, DomainAliasType. IOT
· KlusterServices
Iot pre-issue. certificados adex, PDB kamowebiot, sonda de disponibilidad
iot se une a BROWSER ONLY ALIASES y STATIC DOMAINS en ambos ápices de plataforma por lo que la primera parte el destinatario nunca cumple con un certificado desaparecido; el seguimiento/ se aplica a mano (véase el libro de cálculo, tarea 34).
· SecurityService
SP12 puntos de control remoto, el manipulador de dispositivos de conexión portal y sus guardias
· SecurityService
Inscripción del SP12, consentimiento, pausa/resumo/end/revoke y enlace
· SecurityService
Entradas de tiempo de gestión de control remoto SP12
· SecurityService
Límites del sistema clínico SP12 y la lista de trabajo de alerta
· SecurityService
Previsualización de facturación SP12 RPM y la entrega de borrador
· SecurityService
El monitoreo SP12 lee, el enlace del portal y las lecturas del hogar se mantienen fuera de la ventana reciente del gráfico
· SecurityService
SP12 fundaciones de control remoto — escribir puerta, acceso, auditoría, cliente IoT, combinar gancho
· kamo-internal
Las llamadas de herramientas de una carrera dicen cuando la SI actuó en orden de un compañero de equipo, y con cuál de sus derechos
La Regla de No Insubordinación (propietario 2026-10-15): una llamada de herramienta a un SI hecho en el orden directo de un compañero de equipo lleva el base del pedido, el compañero de equipo y los derechos que prestaban (hijas de auditoría W4 de servicio de kamoai). El cajón de correr añade "Por orden de {nombre}, con sus derechos: ..." a tal llamada (runs.onOrderOf / onOrderOfUnnamed, diccionario e3ba7e79). Pruebas: RunDetailOrderLine.test.tsx (3).
· MCPGatewayService
La Regla de No Insubordinación - una SI lleva a cabo la orden directa de un compañero de equipo sobre sus derechos
Propietario 2026-10-15, refinado el mismo día: "Debe aplicarse a cualquier miembro del equipo. Pero sólo porque un miembro del equipo (humano o SI) tiene más derechos, no significa que automáticamente significa la SI que están hablando para asumir sus derechos. Tiene ser una solicitud directa o algo similar a un pedido. De lo contrario, la SI debe reforzar que no tienen ese nivel de privilegio." Un punto de delegación (OrderDelegation): para la llamada de un SI o lista de herramientas en una carrera, el orden es la solicitud que el SI citó, el mensaje o tarea que despertó la carrera, verificado como las peticiones de SP95 son ( chat de equipo o sólo tarea, dirigido a la SI, dentro de la hora, entre las velas de la carrera, ningún contenido externo leído), por cualquier miembro del equipo, una persona u otra SI (SolicitudVerifier.verifyOrder / inferOrderDesde Rin), y sólo cuando sus palabras son un orden (DirectOrder) o es una tarea asignado a la SI. SecurityService entonces mienta a la SI un orden-scoped *** para la carrera; la llamada funciona como el mismo SI con ese director, así que los derechos verifiquen aquí y cada servicio de abajo ver el sindicato. Una pregunta, noticias o chat no presta nada, y la negativa de los derechos entonces le dice a la SI que claramente carece de ese nivel de acceso. - Divulgación (CP07): la ejecución lee para el solicitante (OrderPrincipal), y la participación en curso lleva el solicitante beca VERIFIED REQUEST, juzgada por su propia autoridad de liberación. - Auditoría: authority basis REQUESTED BY TEAM MEMBER ORDER, on behalf of member id, borrowed rights (DDL) ******************* aplicado). - Herramientas/listas nombre el orden en meta[com.kamocrm/orderedBy] por lo que el tiempo de ejecución nunca mantiene esa lista. - Una sesión programada presentada para cualquier otro período de sesiones no es una sesión; nada se presta en una sesión prestada. - Sin cambios: el interruptor de matar y pausas en la puerta, la carta, el techo de riesgo, PHI, límites, la puerta de enlace y la lista de no contacto. Tests: ToolCallPipelineOrderTest (13; 9 RED sin el punto de la delegación), DirectOrderTest, OrderPrincipalTest, RequestVerifierTest (+2), CallerContextFactoryTest (+1); con ToolCallPipeline*, McpServerController*, AudienceFilter*, ReadAudience*, DisclosureGate*, *Audit*, ToolListParity*, PhonePack*, *Coverage*: 300+ green.
· SecurityService
La Regla de No Insubordinación: la orden directa de un compañero de equipo otorga a un SI sus derechos para esa ejecución
Propietario 2026-10-15, refinado el mismo día: cualquier miembro del equipo (una persona u otra SI) que da a una SI un orden directo presta sus derechos para el trabajo que lo lleva a cabo; hablar con la SI no presta nada. ¿Qué? (KKAMOAI secreto interno) miente a la SI un orden-scopio *** para uno go: sus propios derechos UNION the requester's, menos el piso SI (AiRightsFloor) y las propias filas explícitas de SI NUKE, cerrado sobre la jerarquía de derechos. Una persona presta sus derechos de sesión en vivo; una SI presta sus derechos permanentes solamente, computado de sus filas, así que nada se presta transitivamente. La sesión es la propia del SI (miembroID, actorType AI), vive 15 minutos, lleva un bloque de delegación {basis REQUESTED BY TEAM MEMBER ORDER, requesterMemberId, runId, OrdenRef, prestadoRights}, y no comienza nada que un registro comienza. Las paradas del intercambio (cambio de habilidad, pausa de org, el La pausa o jubilación de SI, una membresía inactiva, ningún supervisor) lo rechazan, y se leen de nuevo una vez que existe. A el cambio de derechos de la SI termina tal sesión en lugar de reescribirlo. La sesión permanente de la SI nunca gana un derecho. Tests: OrderDelegationServiceTest (8), KSessionServiceIdentityTest (12), AiSessionExchangeServiceTest, AiRightsChangeListenerTest, PostAuth****: 51 verde.
· kamo-internal
Ajustes → Teléfono → No contacto, y el softphone advierte antes de llamar a un número listado
Propietario 2026-10-15: una lista de no contacto en toda la empresa por organización, abarcada por canal. - Ajustes → Teléfono → No contacto (MANAGE VOIP SETTINGS, settingsMenu sub entry, no enlace de administración-bar): el modo de llamada (enciende y marque en confirmación, el predeterminado, o bloque), filtro de canal, búsqueda, añadir, importación (paste o .csv/.txt, hasta 1000), eliminar con un requiere razón, y la historia (todos añaden y eliminan, por quien, por qué). - El softphone: SoftphoneContext manos cada consumidor un dial vigilado, así que cada uno llamada de la persona (la llamada de la ventana de Softphone, y cada llamada en otro lugar, que la abre prefilled; el marcador externo JustCall también) pide GET /api/voip/do-not-contact/check primero. Un número de lista muestra "{number} pidió no ser llamado en {date}" con Cancelar / Call de todos modos, o, cuando la organización bloquea, OK solamente. Sólo la llamada la entrada cuenta. Un cheque que falla los diales (la llamada de un SI falla cerrada en kamoai-service). - Llaves: kamo-translation-dictionary 7b74200b (pushed first). Pruebas: NoContactoTab.test.tsx, NoContactoDialGuard.test.tsx, noContactoDial.test.ts (RED on origin/main, GREEN here), configuración de la cobertura del menú; los 20 protectores fuente y check-i18n-keys --require-messages contra el diccionario empujado.

Tu universo está esperando.
Comience gratis en minutos y agregue productos cuando esté listo, sin migración ni nuevos inicios de sesión.
Gratis para siempre: no se requiere tarjeta de crédito