Changelog
Qué hay de nuevo.
Cada mejora de la plataforma, a medida que se envía.
· kamo-shared-library
Un alquiler necesita un inquilino; comercializar el compromiso; cancelar, cambiar la fecha, hacer el check-out, devolver y cancelar una reserva
- createRentalRequest rechaza una cuenta de cliente faltante o extranjera, registra el Mercado (el del activo, si no el elegido) en el compromiso, y valida las fechas Confirmar rechaza una solicitud que no tiene cuenta.Confirm denies a request with no account. - setRentalRequestAccount / setBookingAccount mueve al inquilino a otra cuenta y Nunca lo borre; ambos responden el registro actualizado. - Solicitudes: cancelar/decodificar (IntentStatus.CANCELLED, razón guardada) y nuevas fechas (con Reservas: check out (el día de salida de la reserva) IN_PROGRESS), regresar o terminar (COMPLETED; CommitmentStatus.FULFILLED; tarde y daños cargos adicionales se agregan al total; notas de condición), cancelar (ANULADO, antes de que acabe), y Nuevas fechas (solo el final mientras está fuera), cada uno comprobando las otras reservas del activo bajo Un bloqueo de fila en el activo para que dos confirmaciones no puedan hacer una doble entrada. - EngagementLifecycle: un compromiso VOIDED no compromete nada; todo anulado y sin orden Este evento está CANCELADO. - Una reserva devuelta ya no tiene sus fechas. Las fechas del activo son legibles (findRentalAssetBookings) para los selectores de fechas. - DTOs: marketId/marketTitle en solicitudes, reservas y activos; reserva -> rentalRequestUid, rateType, checkedOutAt, returnedAt, tarifas, notas, motivo de cancelación; Las listas se filtran por mercado y cargan los activos, Reservas y entregas en una consulta cada uno en lugar de por fila. - Activos de alquiler: columna de descripción; mercado validado como el mercado de alquiler de la organización y móviles en la actualización; tasas negativas rechazadas; códigos duplicados rechazados en la actualización; Un recurso con alquileres registrados no se puede eliminar (desactívelo en su lugar). - Índices: **************** por compromiso, compromisos por alquiler Activo, cumplimientos por compromiso, activos de alquiler por organización y mercado (aplicado a mano).
· kamo-internal
Mercados — los mercados propios de la organización, por sus propios nombres
Un mercado es lo que los miembros definen (título + nombre + nombre de la empresa) Descripción); su línea de negocio es solo de su tipo. - La opción de navegación es Mercados. Con un mercado es ese mercado, por su título (como antes); con dos o más se abre un menú con una fila por market — su título, su descripción debajo, un icono para su línea de negocios — cada uno abriendo la pestaña de ese mercado. Una lista en caché Ambas naves, el launchpad y la etiqueta, actualizadas en los cambios del mercado. - Las filas del menú de navegación tienen una descripción opcional (popover, riel, barra superior). - La casilla de tipo del formulario de mercado es "Línea de Negocio"; cada opción dice lo que le da al mercado, y uno bloqueado nombra la aplicación que necesita Los ayudantes de nombre y descripción explican qué es lo que se está haciendo Para los miembros, ver en el menú Mercados. - ACCESS_COMMERCE dice "Mercados de acceso"; la página de préstamos apunta a Configuración → Líneas de Negocio.
· MediaService
MediaService comprueba los archivos adjuntos con Antivirus y rechaza los archivos bloqueados en cada lectura
- Adjuntos de chat (membresía CHAT, visitante web-chat PUBLIC), archivos de errores del sistema, imágenes de Growth Hub Se comprueban dentro de storeContentAddressed con su contexto (miembro, conversación); Canva Un rechazo llega al cliente cuando la forma de la plataforma (422 ANTIVIRUS_BLOCKED {family} / 503 ANTIVIRUS_UNAVAILABLE) en lugar de ser envuelto en un 500. - Los fondos de reunión (raw MinIO, depósito público) pasan primero por AntivirusUploadGuard. - /attachments/link (dedup by hash) rechaza el contenido Antivirus bloqueado (422); un archivo retenido puede ser Se enlaza y permanece ilegible hasta que se marca. - Los archivos adjuntos llevan escaneo {estado, familia, resultado} en la respuesta de carga, el mensaje en vivo marco e historial; PENDIENTE mientras se mantiene. - ImagingProxyController (original y vista previa), la descarga del visitante, los archivos de error del sistema, Las imágenes, los materiales y las lecturas de Canva de Growth Hub llaman a la puerta de lectura: 423 ANTIVIRUS_BLOCKED / ANTIVIRUS_CHECKING, se comprueba antes del contenido faltante 410, por lo que se retiene El proxy ahora comprueba la pertenencia antes del estado del contenido. - ConfigMap kamo.antivirus.* (habilitado: false hasta que KamoAntivirus esté listo); ANTIVIRUS_INTERNAL_AUTH_SECRET de mlos-internal-auth.
· ConversionService
ConversionService comprueba las cargas con Antivirus, completa los archivos retenidos, vuelve a comprobar las nuevas firmas
Reemplaza al cliente clamd en servicio (malware/paquete, UploadScanGuard, QuarantineStore, Retro-scan) con la biblioteca compartida Antivirus: - /upload, /replace, /templates/upload están marcados dentro de ImageService antes de cualquier fila o Se escribe el objeto (HOLD permitido); los rechazos usan las formas de la plataforma: 422 ANTIVIRUS_BLOCKED {family}, 503 ANTIVIRUS_UNAVAILABLE, 503 HASH_MISMATCH. MALWARE_DETECTED ha desaparecido y no se puede encontrar Las respuestas llevan el escaneo {estado, familia, resultado}; un nombre de firma es siempre devuelto El archivo está PENDING y se convierte una vez almacenado. La canalización emite una etapa de 'escaneo'. - /register-existing (dedup por referencia) rechaza el contenido Antivirus bloqueado (422). - Efectos de sonido (raw MinIO) pasan por AntivirusUploadGuard (sin espera, 503 cuando está abajo). - QuarantineStore ya no existe, por lo que no se escribe nada en el depósito de cuarentena; nada En ella se toca. - antivirus.hold.verdict (cola antivirus-hold-completer) -> AntivirusHoldCompleter, luego el Conversión ordinaria para los documentos liberados; un fallo de almacenamiento naks para la re-entrega. - antivirus.signatures.promoted (cola antivirus-recheck) -> AntivirusRecheckService: cada hash marcado cuyos bytes se almacenan (desbloqueo + notificación + informes AUTO_CLEARED) y CLEAN contenido visto por primera vez en los últimos 14 días (LOCKED_LATER + alertas), transmitido desde MinIO, Los suscriptores vuelven a intentarlo hasta que existe el flujo ANTIVIRUS. - ConfigMap: kamo.antivirus.* (habilitado: false hasta que KamoAntivirus esté listo); ANTIVIRUS_INTERNAL_AUTH_SECRET de mlos-internal-auth.
· kamo-shared-library
Un compromiso pertenece a un mercado definido por el miembro
commerce_engagements.market_id (aplicado a mano, FK a commerce_markets, Ordenes de venta al por menor, trabajos de servicio, alquiler y adquisición Los registros no tienen una columna de mercado propia; lo leen de sus de la misma manera que leen su cuenta de cliente.
· kamo-internal
La interfaz de usuario del antivirus: la protección se sella en todas partes donde aparece un archivo, el Centro antivirus, la pestaña de la plataforma, las alertas y la ayuda
Kit de diseño (aplicación/componentes/antivirus): ProtectionSeal con cinco caras animadas (Verificación, Protegido, Precaución, Bloqueado, No se pudo comprobar; marca + --av-* tokens, movimiento reducido honrado), BlockedFileCard / LockedAttachment / LockedOverlay, PrecautionBanner con Abrir una copia segura, MessageAntivirusBanner, ShieldClip, FalseAlarmDialog ("Creo que esto es un error"), AntivirusNotReady. Lógica de @kamo/antivirus-core 0.1.0 (estado de sellado, razón del analizador aceptando En el cuadro de diálogo Antivirus, haga clic en Antivirus_BLOCKED / MALWARE_DETECTED / ANTIVIRUS_CHECKING / ANTIVIRUS_UNAVAILABLE / SCAN_UNAVAILABLE. Superficies: panel de lectura de correo (sellos, partes removidas bloqueadas bajo sus nombres originales, mensaje banner, imágenes en línea retenidas, descargar todas las imágenes, clip de escudo de fila de lista, caché de cuerpo v2), Bandejas de compositor/chat/SMS/SI (verificación + estados bloqueados), burbujas de chat para destinatarios, documentos (Etapa de comprobación, sellos, acciones bloqueadas, puerta de precaución), y el brindis de rechazo en cada carga (KB, avatar, carreras, errores del sistema, sonidos, documentos de cuenta/paciente/aplicación, logotipos). Antivirus Center en **************** (VIEW_ANTIVIRUS; las necesidades de la política MANAGE_ANTIVIRUS_POLICY): orbe de protección, KPI de conteo, gráficos de tendencia/origen/familia, en vivo Cronología de amenazas, conmutadores de políticas con ayuda, falsas alarmas. Pestaña Plataforma (MANAGE_PLATFORM_ANTIVIRUS): estado del escáner, versiones con actualización/reverso, cola de revisión, Tres tipos de notificaciones, el recorrido guiado del antivirus, la lista de permisos, los brotes, el simulacro de seguridad /api/antivirus BFF, réplicas para ServiceType ANTIVIRUS(41), derechos 698-700 y MANAGE_PLATFORM_ANTIVIRUS (shared-lib 332f7275) y siete artículos del centro de ayuda. El componente de widget de inicio de protección está construido pero no registrado: el launchpad necesita un ANTIVIRUS_WIDGET bloque derecho que la biblioteca compartida no tiene todavía.
· KlusterServices
Svc_antivirus login + ANTIVIRUS stream; conversión/email puede consumir antivirus.>
- svc_antivirus: STREAM.INFO/CREATE ANTIVIRUS, publicar antivirus.> y rt.org.>, Suscribirse antivirus.> y _INBOX.> (Secreto kamo/nats-usuario-antivirus, SECRETS.md). - svc_conversion: API de consumo ANTIVIRUS (mantener veredictos, volver a comprobar la promoción), publicar/suscribir antivirus.>, publicar rt.org.> (los veredictos grabados actualizan la interfaz de usuario). - svc_email: API de consumidor ANTIVIRUS (detección de filtros de correo), antivirus.>. - stream-bootstrap Provisiones de trabajo ANTIVIRUS (R1, 14d) para que los consumidores puedan vincularse primero. Validado con nats-server -t contra el servidor en vivo.
· kamo-shared-library
La mitad de la biblioteca compartida de Antivirus — puerta, cliente, tablas, derechos, tipos, plantillas, informe
- Entidades/repositorios para las seis tablas aplicadas a mano (content_scan_verdicts, antivirus_detections, Estos son los siguientes: antivirus_false_alarm_reports, antivirus_allowlist, antivirus_org_settings, antivirus_daily_stats. - com.kamo.z.shared.antivirus: **************** AntivirusPolicy (breve §2), AntivirusClient (streaming /v1/scan, retiene por pod, breaker, X-Internal-Auth), AntivirusGate (scanUpload / verdictFor / assertReadable / recordVerdict / applyRecheck / drill), AntivirusRecorder (REQUIRES_NEW escribe, upserts), AntivirusNotifier (timbre + correo electrónico a través de EmailService, rt.org.<org>.antivirus), AntivirusUploadGuard (rutas de acceso raw-MinIO), AntivirusHoldCompleter, AntivirusExceptionAdvice (422/423/503). - ImageService: pantalla antes de cualquier fila/objeto en storeContentAddressed (todas las sobrecargas) y uploadDocument; held => is_missing dat, no hay objeto; leer la puerta en downloadDocument + assertReadable público. El análisis es opcional por servicio (kamo.antivirus.enabled); la puerta de lectura está siempre activada. - ServiceType ANTIVIRUS(41, core); derechos VIEW_ANTIVIRUS 698, MANAGE_ANTIVIRUS_POLICY 699, SHOW_TOUR_ANTIVIRUS 700; PlatformRightType MANAGE_PLATFORM_ANTIVIRUS; NotificationKind **************** AccessLogEventType ANTIVIRUS_*; cuatro eventos canónicos Plantillas; Report Studio compliance.antivirus.
· kamo-internal
Safety & Oversight and Brains & Tools, premium — live cards, Spend Pace, Approval Rules, Connected Tools rooms with test before saving (SIS9)
Safety & Oversight - Spending: the default budgets on the kit save bar, explained with the job description's budgets and each role's daily caps (live values, linked rows), and Spend Pace: each SI's month to date against its own monthly limit, and where the month ends at this pace. - Who Can Use What: access policies as plain-words cards with No Limit chips and role names; linked rows with live values for the IoT SI policy, Do Not Contact, contact rules and the disclosure policy, each for who its screen lets in. - Required Wording: the General card moved out of Who Can Use What into its own page (default instructions + required opening/closing), kit save bar. - Approval Rules: the org job description's approval rules in words (changed in its Approvals room) and Always Allowed — every SI's standing permissions, who allowed them and when, Ask Me Again behind a confirm (existing endpoint). - Alerts & On Call: the one OnCallPanel, with a live card. - Quality Checks: the quality settings dialog became this page (same API); the Results > Quality settings button opens it; Setup Journey step points here. - Protection Checks: when checks really run, Run A Check Now, recent checks, link to the findings. Brains & Tools - Providers / Provided By Kamo / What They Can Do: the registry's three views as three sections with live cards. - Model Choices on the kit save bar. - Connected Tools: servers as cards; each server a page at its name with rooms Connection (test before saving), Tools (names, read-only apart), Health (last checked, Check Now) and Who Can Use (SIs switch with Undo, people's policies). Kit: RoomPills and PageSection; breadcrumb/brand ink measured on dark paper, and the settings frame declared a light surface (its paper is always white). Plain words (glossary) in the dictionary; Help Center articles updated.
· InitializerService
Registre las seis tablas de Antivirus (aplicado manualmente 2026-11-07)
content_scan_verdicts, detecciones_antivirus, informes_de_falsas_alarmas_antivirus, antivirus_allowlist, antivirus_org_settings, antivirus_daily_stats - la lista de permisos exacta IF NOT EXISTS DDL aplicado como propietario kamo, @Order(0), indexa NONCONCURRENTLY.
· kamo-internal
Salas propias de cada SI — Banco de trabajo, Descripción de trabajo, Voz y llamadas, Acceso y herramientas, Contratación (SIS10)
La configuración de un SI se dividió entre la sala de SI, la sala de Identidad y la Su perfil ahora enumera sus propias salas primero, por nombre en la pestaña Permisos URL **************** - Workbench: sala de SI de hoy, menos lo que se mudó. - Descripción del trabajo: MemberCharterCard (versiones, pruebas, plantillas de rol) Se ha eliminado la pestaña Permisos para los SI; mismos lectores (MANAGE_MEMBER_SECURITY), La edición permanece en el servidor 'editable'. La gente lo mantiene en Permisos El resumen operativo es palabras simples primero, texto exacto detrás Mostrar detalles. - Voz y llamadas: las cuatro tarjetas de voz/llamadas (de Identity) más la propia de este SI Sonido de fondo, huevos de Pascua e informes de turnos con Set By, en SIS3 A quién se aplica Para controlar en el ámbito MIEMBRO. - Acceso y Herramientas: membresía/supervisor/estado, un resumen de derechos, sus Estación de trabajo (desde el Workbench) y abrir su bóveda (/vault?owner=, solo para un almacén las listas del servidor). - Contratación: se muestra mientras la contratación no está completa; después de eso los pasos se pliegan Ve a Acceso y Herramientas detrás de Mostrar pasos. Cada enlace SI pasa por siRoomHref(id, room) (el ayudante de SIS4, extendido): Centro de Comando, lista, vista de equipo, evaluación, equipo rojo, quién consigue qué, Ensayo, SI Calling, afinación y aprobaciones (Descripción del trabajo), el formulario de contratación (Contratación), la tarjeta de miembro Ver perfil, texto de notificación. No También: el perfil del riel se desplaza dentro del ancho de un teléfono; una tarea El enlace del miembro abre el perfil (era una ruta /profile muerta) Todos los artículos actualizados.
· kamo-internal
Pantallas reales de alquiler y adquisición, archivadas bajo una cuenta de cliente
Las pantallas de la canalización de alquiler y adquisición eran datos simulados y sus Las páginas de Coming Soon eran marcadores de posición. Ahora leen y escriben SecurityService: - Solicitudes de alquiler, reservas, solicitudes de compra y listas de pedidos de proveedores leídos /pos/solicitudes-de-alquiler, /reservas, /solicitudes-de-compra y /pedidos-de-proveedores, con una columna Cuenta, palabras de estado en lugar de códigos y vacío El departamento de adquisiciones cambia entre solicitudes y pedidos de proveedores. - /commerce/bookings/new crea una solicitud de alquiler (activo, fechas, tipo de tarifa, estimación calculada de la manera en que lo hace el servidor, cuenta de cliente opcional); /commerce/procurement/new crea una solicitud de compra (id de proveedor enviado como un Ambos leen ?accountId, ?marketId y llevan ?back. - Las páginas de registro muestran solo lo que llevan los DTO, mantenga la confirmación de la reserva y Aprobar y dejar que un gerente archive el registro bajo una cuenta (PUT .../cuenta) o quitárselo uno. - Lista los registros abiertos con withReturn; cada alquiler Nuevo va a /commerce/bookings/new (el antiguo /commerce/requests/new nunca existió). - los tipos de posApi ahora coinciden con RentalRequestDTO, BookingDTO, PurchaseRequestDTO y VendorOrderDTO, incluyendo accountUid / accountName.
· AIService
Probar un servidor de herramientas conectado antes de guardarlo (SIS9)
- POST /api/ai/mcp/test (MANAGE_AI_SETTINGS): el cuerpo del salvado (transporte, url, encabezados, removedHeaders) más un id del servidor guardado, por lo que un encabezado queda como la máscara Validado como un salvado (STDIO, URL guard, header, etc.) y no como un valor almacenado El Plano de Herramienta lo sondea y no se almacena nada. - Las respuestas de la prueba pasan en toolDetails (nombre propio de cada herramienta, título, solo lectura).
· MCPGatewayService
Probar un servidor de herramientas conectado antes de guardarlo y nombrar cada herramienta como lo hace su servidor (SIS9)
- POST /api/mcp/servers/probe?orgId= (autenticación interna, solo AIService): enumera los Las herramientas de un borrador no guardado en un cliente propio, cerrado de inmediato No se almacena, agrupa o almacena en caché y no se escribe ningún estado; Reglas de transporte como un servidor guardado. - Las respuestas de prueba y sonda llevan toolDetails [{nombre, título, readOnly}] para que el La página de configuración puede listar las herramientas en palabras y decir cuáles puede usar un SI.
· kamo-internal
Un nuevo menú por mercado en la pestaña Órdenes; los filtros sobreviven al abrir un registro
- El único botón Crear pedido (solo al por menor, y nunca llenó el customer in) se convierte en Nuevo: una entrada por mercado que la organización ejecuta y el miembro puede crear en — orden, reserva de alquiler, orden de trabajo, Suscripción (asistente en el lugar, cuenta preseleccionada), solicitud de compra. Cada uno comienza con esta cuenta como el cliente y Back regresa aquí. - La lista de pedidos abre solicitudes de alquiler, reservas, solicitudes de compra y Los pedidos de proveedores, ahora que el servidor los enumera. - Retail New Order elige al cliente de la lista de cuentas en lugar de pidiendo un ID de cuenta sin procesar, y honra ?accountId= / ?back=; Servicio Nueva Orden de Trabajo hace lo mismo. - useRememberedState mantiene el estado de vista de una pantalla a través de la navegación: La canalización hipotecaria (Comercio y la pestaña Hipotecas de una cuenta) mantiene su filtros, ordenación, paginación y ofertas abiertas cuando se abre y cierra un préstamo, y la pestaña Órdenes mantiene su filtro de mercado.
· kamo-internal
Cómo funcionan, premium: tarjetas activas, salas de descripción de trabajo, Hear It, uso de estilos, plantillas de roles (SIS7)
- Hub: cada una de las cinco tarjetas lee su propio estado vivo (useHubSummary) — cinta de esquina + fichas simples (un hook `HubCard` por sección en siSections; el TabHub del shell lo usa). - Descripción del trabajo de la organización: cada parte de una tarjeta con lo que está escrito, la apertura de su propia habitación en un nombre Una página en todas las salas mantiene las ediciones no guardadas; kit CharterEditor rediseñado en su lugar (carril como pequeñas tarjetas con iconos y la cinta en la parte abierta, Encabezado del panel de sección, sección opcional de propiedad del host con una visión general de todas las partes) — cada descripción de trabajo El editor lo entiende. - Estilos de Personalidad: "Usado en N Lugares" por estilo (organización, roles, departamentos, cargos, equipos, miembros como MemberChipById) desde el nuevo uso del servicio de seguridad leído; En la cinta de uso; el campo de texto de estilo muestra {orgShortName} como un chip de "Nombre de la organización" (ProseTokenField), nunca texto sin formato. - Plantillas de roles: Galería de SIE6 como página (mismo componente, `variant="page"`, escoge el SI en el detalle); SegmentedFilter en lugar de una barra de pestañas subrayada. - Llamadas y reuniones: salas Lo que escuchan las personas que llaman, sonido de fondo, idiomas, voz clara y retransmisión, unirse Hear It reproduce la apertura + notificación en la propia voz de un SI elegido (kamoai-service), sobre su pantalla El sonido de la habitación a través de una banda telefónica, en un idioma elegido, con una forma de onda en vivo — ambientPreview extended (playOpening), sin segundo sintetizador, nadie llama. Filas enlazadas con valores en vivo: línea SI en correo electrónico Firmas, servidores telefónicos que llevan líneas SI, unirse a Zoom/Teams (kit LinkedSettingRow). - Huevos de Pascua: tarjeta en vivo; pasos, cosas para probar y salvaguardias se pliegan en un panel de cómo funciona. - Consolidado: una ToggleCard (notificaciones + idiomas cada uno tenía una copia) Consejos de ayuda + artículo del Centro de ayuda.
· kamo-internal
El trabajo diario y el asistente personal (SIS8)
- El SI de su Organización es elegido en UN lugar (Trabajo Diario) Los flujos de automatización lo muestran solo para leer (chip de miembro con foto) con un enlace de cambio; El interruptor de llamadas SI ya no envía un SI. - SiFloorSettings dividido en sus páginas: SI de su organización, Briefings (tarjetas + Un editor guiado de cinco pasos con los límites de número propios del servicio y las comprobaciones a Necesidades informativas en ejecución), Captura de bandeja de entrada (limitada, alerta temprana antes del límite). - Canales: filas enlazadas con valores en vivo para la clasificación de correo electrónico, SI Llamadas, la hipoteca Interruptores de SI (solo lectura; acceso de préstamo solo para el propietario), los sitios web y las respuestas de SI La política de SI de IoT, cada una mostrada solo a quienes pueden abrir su pantalla. - Web Chat Personas: un nombre en todas partes; lista como tarjetas, galería y estudio movido bajo **************** — nombres, nunca ids; Se han eliminado las rutas antiguas de /settings/ai/sales-agents, se han actualizado los enlaces y no hay redirecciones. - Resúmenes de tarjetas de hub en vivo para cada tarjeta de trabajo diario y asistente personal. - Asistente personal: Configuración inicial / Límites / Quién obtiene qué drill-ins en el Kit de herramientas (barra de guardar pegajosa), áreas de herramientas agrupadas bajo encabezados simples con búsqueda. - Consejos de ayuda, artículos del Centro de ayuda, pruebas.
· SecurityService
Enumerar los registros de alquiler y adquisición en la pestaña Pedidos de una cuenta
Solicitudes de alquiler, reservas, solicitudes de compra y pedidos de proveedores ahora Llegar a una cuenta a través de su compromiso, por lo que la lista de pedidos incluye (Access Commerce, como sus propias pantallas). Una solicitud ya convertida En una reserva o pedido del proveedor se enumera una vez. PUT **************** vendor-orders}/{id}/account archivos un registro existente bajo una cuenta (Administrar alquileres / Crear solicitudes de compra).
· kamo-shared-library
Archivar registros de alquiler y adquisición bajo una cuenta de cliente
Una solicitud de alquiler, reserva, solicitud de compra y pedido del proveedor no tenía La página de la cuenta no podía mostrarlos. La cuenta ahora Vidas en su compromiso **************** aplicado por mano), por lo que cada registro de una pieza de negocio lo comparte. - Crear solicitudes de alquiler / compra con un accountUid opcional - setIntentAccount / setCommitmentAccount para archivar o desarchivar un registro existente - Buscadores de alcance de cuenta para solicitudes abiertas, reservas y pedidos de proveedores - los cuatro DTO llevan accountUid y accountName
· kamo-internal
Un documento firmado devuelto muestra las calificaciones de RRHH junto a la copia prellenada
Cuando RRHH devuelve un documento firmado, el paso de firma del miembro ahora tiene un El panel al lado: lo que RRHH les pidió que arreglaran, quién lo pidió, los pines numerados coinciden con sus notas (pasar el ratón para pulsar la marca), un recordatorio de que sus Las respuestas anteriores ya están completadas, y la copia que firmaron la última vez con cada marca dibujado sobre ella de solo lectura por el mismo MarkupLayer Las pantallas anchas lo muestran como una columna plegable; las estrechas lo muestran como una Deslícelo sobre la página según sea necesario. Se respeta el movimiento reducido. La copia firmada de la ronda anterior se lee a través de un nuevo relé solo para miembros, ****************
· DocsService
Un documento firmado devuelto vuelve pre-llenado, y el miembro puede ver lo que fue marcado
Cuando RRHH devuelve un documento firmado, el nuevo sobre ahora lleva la Las respuestas anteriores del miembro (leer de los nuevos valores de campo internos de ESigService) Las firmas, las iniciales y las fechas de firma se envían como mergeFields) El miembro firma de nuevo. La lectura de las respuestas es el mejor esfuerzo: Cualquier fallo emite el sobre en blanco y nunca bloquea el retorno El pase de reparación se prellena de la misma manera que el historial de sobres del documento. GET **************** entrega la copia firmada PROPIA del miembro tal como fue revisada (controlada por la propiedad, El lastReview de un documento ahora lleva su pdfUrl, de modo que La vista de corrección puede colocar las marcas del revisor sobre ella.
· ESigService
Lee las respuestas de un destinatario internamente y nunca rellena previamente una firma
GET **************** devuelve lo que un destinatario escribió, eligió y marcó (auth interno + X-Org-Id, org re-checked), por lo que un llamador puede volver a emitir la misma plantilla pre-llenada a través de La ruta existente mergeFields -> prefilledValues. Firmas, iniciales, Fechas de firma, campos de solo lectura y cualquier cosa fuera del espacio del destinatario La sesión también se niega a pre-rellenar cualquier firma, iniciales o El campo signature-date es cualquier cosa que digan los campos de merge.
· kamo-internal
La descripción general — Configurar el recorrido, Salud de un vistazo, Necesita a usted, accesos directos y el explorador Quién obtiene qué (SIS6)
- Setup Journey extiende el cierre de Getting Started: seis pasos leídos en vivo (un cerebro conectado y respondiendo, un SI contratado, la descripción del trabajo escrita, alguien de guardia, lo que escuchan las personas que llaman, comprobaciones de calidad activadas), cada uno abriendo su página; La primera visita que ve cada paso hecho lo bloquea una vez en SecurityService (/org-setup-wizard/si-journey). - Salud de un vistazo de la API de estado SI a través de @kamo/kamoai-core; Necesita de los incidentes abiertos, Pause All, Proveedores cuya comprobación falló, aprobaciones pendientes (-> /workforce/approvals) y los pasos de configuración restantes. - ¿Quién obtiene lo que **************** cualquier SI o persona, cada configuración que les llega con su fuente - capas de descripción de trabajo (resolución de cartas), sonido de fondo, huevos de pascua, informes de turnos (el motor de alcance Establecer por), el asistente personal (vista previa de capas). No hay nuevo punto final. - CONSOLIDATED: la tabla de vista previa del asistente y las palabras de valor (AssistantPreviewTable, usada por Starting Settings y el explorer), las palabras de sonido de fondo (useAmbienceWords), el cálculo de acceso del shell (useSiAccess).
· SecurityService
Dónde se utiliza cada estilo de personalidad en la organización (SIS7)
GET **************** answers {usage: {ref: {count, places[{level, id}]}}}: cada capa de la organización del llamador cuya propia descripción de trabajo elige un estilo, incorporado o de la organización Seis lecturas, una por tabla de capa, desde el índice arquetipo_ref parcial de cada tabla, mantenido al final de la tabla Pueden ser leídos por cualquiera de la organización, como el administrador, el editor o el editor de estilos Prueba de análisis JPQL contra la asignación de biblioteca compartida.
· SecurityService
El cierre de viaje de configuración de superinteligencia (SIS6)
GET **************** (cualquiera con un derecho de configuración de Super Inteligencia, o el propietario) y PUT .../si-journey/complete (MANAGE_AI_SETTINGS, MANAGE_AI_WORKFORCE o CONFIGURE_SYSTEM, o el propietario): el El trayecto de configuración de Overview lee sus pasos en vivo y se bloquea una vez aquí, junto al bloqueo de inicio, Con las mismas reglas (una lectura nunca escribe; nada la borra).DDL aplicado a la producción 2026-11-07.
· kamo-shared-library
El viaje de configuración de Super Intelligence se bloquea al lado de Cómo empezar (SIS6)
OrgSetupWizardProgress obtiene **************** el bloqueo almacenado y nunca borrado del Configurar Journey en Configuración > Super Inteligencia > Descripción general. DDL: securityservice **************** (aplicado a la producción 2026-11-07).
· kamo-internal
Una lista de órdenes en todos los mercados y pestañas de hipotecas, préstamos personales y atención médica
La pestaña Órdenes de la cuenta ahora muestra todas las órdenes de los mercados generales que ejecuta la organización: Pedidos al por menor, órdenes de trabajo de servicio y pedidos de suscripción — en una lista etiquetada con el Dice claramente cuándo un mercado está oculto y cuándo está disponible para la venta Por falta de permiso, o (Alquiler, Adquisición) aún no vinculado a las cuentas La pestaña no se muestra en absoluto. Los mercados especializados reciben una pestaña cada uno, solo cuando la organización administra ese mercado: - Hipotecas: la Pipeline de Comercio (TransactionPipelineTable) es ahora un componente en dos modos, como DocManager — toda la canalización bajo Commerce, sin cambios, o con accountUid solo eso El nuevo comienza el préstamo en la cuenta; la Junta de toda la organización, HMDA y la Junta de Administración Las instantáneas se almacenan en caché por ámbito, de modo que ninguna vista sobrescribe a la otra. - Préstamos personales: préstamos tomados por las personas de la cuenta. - Sanidad: los expedientes de los pacientes archivados en la cuenta y, a través de sus representantes en el portal, los Agregar/eliminar un registro de la pestaña.Add/remove a record from the tab. Back es inteligente en todas partes donde se abre un registro desde estas pestañas: cada enlace lleva ?back=, y el préstamo, Las páginas de pedidos, órdenes de trabajo, suscripciones, préstamos personales y pacientes vuelven a la pestaña de cuenta de donde vinieron De, o a Comercio / Pacientes cuando se abre allí.
· SecurityService
Las pestañas Pedidos, Hipotecas, Préstamos personales y Atención médica de la página de la cuenta
- Obtener **************** una lista de las órdenes de venta al por menor de la cuenta, trabajo de servicio Ordenes y órdenes de suscripción, cada fuente se lee solo cuando la organización ejecuta ese mercado y el llamador sostiene el derecho de esa pantalla; dice qué mercados fueron retenidos, y cuáles (alquiler, adquisición) han No hay enlace de cuenta todavía. - CONSEGUIR **************** préstamos tomados prestados por el miembro principal de la cuenta o miembros (Vea Canal de Préstamos Personales). - Pipeline de hipotecas: ?accountUid= en GET / y /transactions reduce cada nivel a una cuenta (org- POST ?accountUid= inicia un nuevo préstamo en esa cuenta. - /ehr/accounts/{uid}/patients: los registros archivados bajo la cuenta más los pacientes de su portal Autorización de proxies; nivel de recepción (Ver pacientes), cada paciente mostrado auditado; necesidad de vincular/desvincular Registre pacientes o edite datos demográficos de pacientes.
· kamo-shared-library
Archivar un registro de paciente bajo una cuenta de CRM (ehr_account_patient)
La pestaña de atención médica de la página de la cuenta muestra los registros de pacientes archivados bajo una cuenta y, a través del Un enlace, no una columna sobre el paciente, para que los usuarios puedan ver los otros registros que pueden ver. Un registro puede estar bajo dos cuentas (un niño en la cuenta de ambos padres) y una cuenta tiene una familia. Tabla creada a mano como el rol del propietario (2026-11-07), los índices son válidos.
· kamo-internal
La página de la fuerza de trabajo de SI — Centro de comando, actividad, aprobaciones, entregas, llamadas en vivo, estado, resultados (SIS5)
El funcionamiento diario de los SIs deja Configuración para su propia página, /workforce, abierta desde Asistente de SI > SI Workforce (y El héroe de la casa lleva Pause All SIs / Resume All SIs y el héroe de la casa lleva Pause All SIs / Resume All SIs Contratar un SI; siete pestañas con una cinta en la esquina e insignias de conteo (decisiones pendientes, llamadas en vivo, clientes esperando); cada Una pestaña es su propia dirección y cada vista interna escribe la URL (?view=, &member=, &incident=) La página admite a quien ve, supervisa, ejecuta o aprueba el trabajo de los SIs. Se han movido, no reescrito: las nueve vistas del centro de fuerza de trabajo (vista de equipo = Centro de comandos > Esperando a las personas; uso, ROI, Evaluación, Calidad y Equipo Rojo bajo Resultados), Estado de SI (estado, incidentes, el editor de guardia), Fuerza de Trabajo Controles (ahora el botón de encabezado; sus columnas de supervisor y contratación se unen a la tabla del Centro de comandos), entregas de clientes (todavía se abre por sí mismo para un colega sin un derecho de fuerza de trabajo) y la consola de llamadas SI como llamadas en vivo. Un cliente de estado de SI: siStatusApi.ts eliminado para @kamo/kamoai-core 0.6.0. Ayuda por primera vez en el compartido por miembro Introducción de la función, columna de consejos, artículos del Centro de ayuda reescritos. Enlaces, no redirecciones (propietario 2026-11-07): la opción Abrir todo del panel de aprobaciones va a Aprobaciones, el enlace de contratación de SI que llama a Añadir el miembro del equipo, la visita guiada y todos los enlaces en la aplicación a /workforce; las antiguas pestañas de configuración, entradas de menú y aterrizaje Las tarjetas se han ido.

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