Changelog
Cosa c'è di nuovo.
Ogni miglioramento alla piattaforma, come si spedisce.
· SecurityService
Ogni riga di ordini nomina il proprio mercato
Le righe portano marketId / marketTitle dal loro impegno (una query da engagement uid), quindi un'organizzazione con due mercati al dettaglio vede quale Un ordine proveniva da uno invece di entrambi sotto il nome del primo mercato. I record fatti prima che i mercati fossero tracciati rimangono nulli.
· KlusterServices
Avvisi antivirus (scanner inattivo, firme obsolete, mirror gate non funzionante, p95, picco di rilevamento, backlog di attesa)
Applicato a mano (monitoring/ non è un target CI).
· kamo-shared-library
A rental needs a renter; market on the engagement; cancel, re-date, check out, return and cancel a booking
- createRentalRequest refuses a missing or foreign customer account, records the market (the asset's, else the chosen one) on the engagement, and validates dates and the rate type. Confirm refuses a request with no account. - setRentalRequestAccount / setBookingAccount move the renter to another account and never clear it; both answer the updated record. - Requests: cancel/decoder (IntentStatus.CANCELLED, reason kept) and new dates (with the availability check). Bookings: check out (the booking's FulfillmentOrder IN_PROGRESS), return or end (COMPLETED; CommitmentStatus.FULFILLED; late and damage fees added to the total; condition notes), cancel (VOIDED, before it goes out), and new dates (only the end while out), each checking the asset's other bookings under a row lock on the asset so two confirms cannot double-book. - EngagementLifecycle: a VOIDED commitment commits nothing; all voided and no order is CANCELLED. - A returned booking no longer holds its dates. The asset's held dates are readable (findRentalAssetBookings) for date pickers. - DTOs: marketId/marketTitle on requests, bookings and assets; booking -> rentalRequestUid, rateType, checkedOutAt, returnedAt, fees, notes, cancel reason; request -> cancelReason, bookingStatus. Lists filter by market and load assets, bookings and hand-overs in one query each instead of per row. - Rental assets: description column; market validated as the org's Rental market and movable on update; negative rates refused; duplicate codes refused on update; an asset with rentals on record cannot be deleted (switch it off instead). - Indexes: **************** by engagement, commitments by rental asset, fulfillments by commitment, rental assets by org and market (applied by hand).
· kamo-internal
Markets — the organization's own markets, by their own names
"Commerce" is gone. A market is what members define (title + description); its Line of Business is only its kind. - The nav option is Markets. With one market it is that market, by its title (as before); with two or more it opens a menu with a row per market — its title, its description underneath, an icon for its line of business — each opening that market's tab. One cached list feeds both navs, the launchpad and the label, refreshed on market changes. - Nav menu rows take an optional description (popover, rail, top bar). - The market form's type box is "Line of Business"; each choice says what it gives the market, and a locked one names the app it needs (was hard-coded English). Name and description helpers explain what members see in the Markets menu. - ACCESS_COMMERCE reads "Access Markets"; the Lending page points at Settings → Lines of Business.
· MediaService
MediaService checks attachments with Antivirus and refuses locked files on every read
- Chat attachments (member CHAT, web-chat visitor PUBLIC), system-bug files, Growth Hub images are checked inside storeContentAddressed with their context (member, conversation); Canva output through uploadDocument. A refusal reaches the client as the platform shape (422 ANTIVIRUS_BLOCKED {family} / 503 ANTIVIRUS_UNAVAILABLE) instead of being wrapped into a 500. - Meeting backgrounds (raw MinIO, public bucket) go through AntivirusUploadGuard first. - /attachments/link (dedup by hash) refuses content Antivirus locked (422); a held file may be linked and stays unreadable until checked. - Attachments carry scan {status, family, outcome} on the upload answer, the live message frame and history; PENDING while held. - ImagingProxyController (original and preview), the visitor download, system-bug files, Growth Hub images, materials and Canva material reads call the read gate: 423 ANTIVIRUS_BLOCKED / ANTIVIRUS_CHECKING, checked before the missing-content 410 so a held file says 'still being checked'. The proxy now checks membership before content state. - ConfigMap kamo.antivirus.* (enabled: false until KamoAntivirus is Ready); ANTIVIRUS_INTERNAL_AUTH_SECRET from mlos-internal-auth.
· ConversionService
ConversionService controlla i caricamenti con Antivirus, completa i file trattenuti, ricontrolla le nuove firme
Sostituisce il client clamd in servizio (malware/ pacchetto, UploadScanGuard, QuarantineStore, Retro-scan) con la libreria condivisa Antivirus: - /upload, /replace, /templates/upload sono controllati all'interno di ImageService prima di ogni riga o L'oggetto è scritto (HOLD consentito); i rifiuti usano le forme della piattaforma: 422 ANTIVIRUS_BLOCKED {family}, 503 ANTIVIRUS_UNAVAILABLE, 503 HASH_MISMATCH. MALWARE_DETECTED è scomparso e non è più disponibile Le risposte portano scansione {stato, famiglia, risultato}; un nome di firma è sempre restituito Il file è PENDING e viene convertito una volta memorizzato. La pipeline emette uno stadio di 'scansione'. - /register-existing (dedup by reference) rifiuta il contenuto Antivirus bloccato (422). - Effetti sonori (raw MinIO) passano attraverso AntivirusUploadGuard (nessuna attesa, 503 quando giù). - QuarantineStore non esiste più, quindi nulla viene scritto nel bucket di quarantena; nulla In esso è toccato. - antivirus.hold.verdict (coda antivirus-hold-completer) -> AntivirusHoldCompleter, quindi il Conversione ordinaria per i documenti rilasciati; un errore di archiviazione naks per la riconsegna. - antivirus.signatures.promoted (coda antivirus-recheck) -> AntivirusRecheckService: ogni hash contrassegnato i cui byte sono memorizzati (sblocca + notifica + report AUTO_CLEARED) e CLEAN contenuti visualizzati per la prima volta negli ultimi 14 giorni (LOCKED_LATER + avvisi), trasmessi da MinIO, Gli abbonati riprovano finché non esiste il flusso ANTIVIRUS.Subscribers retry until the ANTIVIRUS stream exists. - Mappa di configurazione: kamo.antivirus.* (abilitato: false fino a quando KamoAntivirus è pronto); Antivirus_Internal_Auth_Secret da mlos-internal-auth.
· kamo-shared-library
Un impegno appartiene a un mercato definito dal membro
commerce_engagements.market_id (applicato manualmente, FK a commerce_markets, Ordini di vendita al dettaglio, lavori di assistenza, noleggio e approvvigionamento I record non hanno una colonna di mercato propria; la leggono dai loro Lo stesso modo in cui leggono il loro account cliente.
· kamo-internal
L'interfaccia utente dell'antivirus: la protezione sigilla ovunque appaia un file, l'Antivirus Center, la scheda della piattaforma, gli avvisi e la guida
Kit di progettazione (app/componenti/antivirus): ProtectionSeal con cinque facce animate (Controllo, Protetto, Cautela, Bloccato, Impossibile controllare; brand + --av-* token, movimento ridotto onorato), BlockedFileCard / LockedAttachment / LockedOverlay, CautionBanner con Apri una copia sicura, MessageAntivirusBanner, ShieldClip, FalseAlarmDialog ("Credo che questo sia un errore"), Logica da @kamo/antivirus-core 0.1.0 (stato sigillato, il parser accetta la ragione) Non è possibile eseguire l'accesso a Antivirus_Blocked / Malware_Detected / Antivirus_Checking / Antivirus_Unavailable / Scan_Unavailable. Superfici: pannello di lettura della posta (sigilli, parti rimosse bloccate sotto i loro nomi originali, messaggio banner, immagini in linea trattenute, scaricare tutti saltandoli, clip di schermo di riga di elenco, cache del corpo v2), vassoi composer/chat/SMS/SI (controllo + stati bloccati), fumetti di chat per i destinatari, documenti (Fase di controllo, sigilli, azioni bloccate, cancello di cautela) e il brindisi di rifiuto su ogni caricamento (KB, avatar, carriere, bug di sistema, suoni, documenti account/paziente/applicazione, loghi). Antivirus Center all'indirizzo **************** (VIEW_ANTIVIRUS; necessità di policy MANAGE_ANTIVIRUS_POLICY): sfera di protezione, KPI di conteggio, grafici di tendenza/origine/famiglia, live Timeline delle minacce, commutatori di policy con aiuto, falsi allarmi (MANAGE_PLATFORM_ANTIVIRUS): stato dello scanner, rilasci con aggiornamento/rollback, coda di revisione, Tre tipi di notifiche, il tour guidato Antivirus, l'elenco di autorizzazioni, /api/antivirus BFF, mirror per ServiceType ANTIVIRUS(41), diritti 698-700 e MANAGE_PLATFORM_ANTIVIRUS (shared-lib 332f7275) e sette articoli del Centro assistenza. Il componente del widget Home Protection è stato creato ma non registrato: il launchpad ha bisogno di un ANTIVIRUS_WIDGET blocco destro che la libreria condivisa non ha ancora.
· KlusterServices
Svc_antivirus login + flusso ANTIVIRUS; la conversione/e-mail può consumare antivirus.>
- svc_antivirus: STREAM.INFO/CREATE ANTIVIRUS, pubblica antivirus.> e rt.org.>, Iscriviti antivirus.> e _INBOX.> (Secret kamo/nats-user-antivirus, SECRETS.md). - svc_conversion: API di consumo ANTIVIRUS (tenere i vertici, ricontrollare sulla promozione), publish/subscribe antivirus.>, publish rt.org.> (i vertici registrati aggiornano l'interfaccia utente). - svc_email: API ANTIVIRUS consumer (rilevamento dei filtri di posta), antivirus.>. - stream-bootstrap Provvedimenti di lavoro ANTIVIRUS (R1, 14d) in modo che i consumatori possano vincolare prima. Convalidato con nats-server -t contro il server live.
· kamo-shared-library
Metà della libreria condivisa di Antivirus — gate, client, tabelle, diritti, tipi, modelli, report
- Entità/reposi per le sei tabelle applicate a mano (content_scan_verdicts, antivirus_detections, Questo file contiene i dati relativi a antivirus_false_alarm_reports, antivirus_allowlist, antivirus_org_settings, antivirus_daily_stats. - com.kamo.z.shared.antivirus: **************** AntivirusPolicy (breve §2), AntivirusClient (streaming /v1/scan, holds per pod, breaker, X-Internal-Auth), AntivirusGate (scanUpload / verdictFor / assertReadable / recordVerdict / applicaRecheck / drill), Registratore Antivirus (REQUIRES_NEW scrive, upserts), AntivirusNotifier (campana + e-mail tramite EmailService, rt.org.<org>.antivirus), AntivirusUploadGuard (percorsi raw-MinIO), AntivirusHoldCompleter, AntivirusExceptionAdvice (422/423/503). - ImageService: schermata prima di qualsiasi riga/oggetto in storeContentAddressed (tutti gli overload) e uploadDocument; held => is_missing dat, nessun oggetto; gate di lettura in downloadDocument + pubblico assertReadable. La scansione è opzionale per servizio (kamo.antivirus.enabled); il gate di lettura è sempre attivo. - ServiceType ANTIVIRUS(41, core); diritti VIEW_ANTIVIRUS 698, MANAGE_ANTIVIRUS_POLICY 699, SHOW_TOUR_ANTIVIRUS 700; PlatformRightType MANAGE_PLATFORM_ANTIVIRUS; Tipo di notifica **************** AccessLogEventType ANTIVIRUS_*; quattro eventi canonici Modelli; Report Studio compliance.antivirus.
· kamo-internal
Sicurezza e sorveglianza e cervelli e strumenti, premium — carte dal vivo, spesa di ritmo, regole di approvazione, stanze di strumenti connessi con test prima del salvataggio (SIS9)
Sicurezza & sorveglianza - Spesa: i budget predefiniti sulla barra di salvataggio del kit, spiegati con il lavoro i budget della descrizione e i limiti giornalieri di ciascun ruolo (valori in tempo reale, righe collegate), and Spend Pace: il mese di ogni SI fino ad oggi rispetto al proprio limite mensile, e Dove il mese finisce a questo ritmo. - Chi può usare cosa: le politiche di accesso come carte di parole chiare con chip No Limit e nomi dei ruoli; righe collegate con valori in tempo reale per la policy IoT SI, Do Not Contact, Le regole di contatto e la politica di divulgazione, ciascuno per chi il suo schermo lascia entrare. - Testo obbligatorio: la carta Generale è stata spostata da Chi Può Usare Cosa alla propria Pagina (istruzioni predefinite + apertura / chiusura richiesta), barra di salvataggio del kit. - Regole di approvazione: le regole di approvazione della descrizione del lavoro dell'organizzazione in parole (modificate in Approvazioni) e Sempre Consentito — i permessi permanenti di ogni SI, Chiedimi di nuovo dietro una conferma (endpoint esistente). - Avvisi & On Call: l'unico OnCallPanel, con una scheda live. - Controlli di qualità: la finestra di dialogo delle impostazioni di qualità è diventata questa pagina (stessa API); Risultati > Pulsante Impostazioni qualità lo apre; Imposta i punti di passaggio del percorso qui. - Controlli di protezione: quando i controlli sono effettivamente eseguiti, Esegui un controllo ora, controlli recenti, Link ai risultati. Cervello & strumenti - Fornitori / Forniti da Kamo / Cosa possono fare: le tre viste del registro come Tre sezioni con carte dal vivo. - Scelte di modello sulla barra di salvataggio del kit. - Strumenti connessi: server come schede; ogni server una pagina al suo nome con le stanze Connessione (test prima del salvataggio), Strumenti (nomi, sola lettura a parte), Salute (ultima Checked, Check Now) e Chi Può Usare (SIs switch con Undo, politiche delle persone). Kit: RoomPills e PageSection; breadcrumb/brand ink misurato su carta scura, e la cornice delle impostazioni ha dichiarato una superficie chiara (la sua carta è sempre bianca). Parole semplici (glossario) nel dizionario; articoli del Centro assistenza aggiornati.
· InitializerService
Registra le sei tabelle Antivirus (applicate manualmente il 2026-11-07)
contenuto_scan_verdicts, antivirus_rilevazioni, antivirus_rapporti_falsi_allarmi, antivirus_allowlist, antivirus_org_settings, antivirus_daily_stats - la lista esatta dei programmi autorizzati IF NOT EXISTS DDL applicato come proprietario kamo, @Order(0), indicizza NONCONCURRENTELY.
· kamo-internal
Le stanze di ogni SI — Workbench, Descrizione del lavoro, Voce e chiamate, Accesso e strumenti, Assunzione (SIS10)
La configurazione di un SI è stata divisa tra la stanza SI, la stanza Identity e la Il suo profilo ora elenca le proprie stanze prima, per nome nella scheda "Permessi" URL **************** - Workbench: la sala SI di oggi, meno quello che si è spostato. - Descrizione del lavoro: MemberCharterCard (versioni, prove, modelli di ruolo) spostato dalla scheda Permessi per SI; stessi lettori (MANAGE_MEMBER_SECURITY), La modifica rimane 'modificabile' sul server. La gente la mantiene sui permessi Il breve operativo è prima le parole semplici, il testo esatto dietro Mostra dettagli. - Voice & Calls: le quattro schede voce/chiamata (da Identity) più quella di questo SI Suono di sottofondo, easter egg e report di turno con Set By, su SIS3 Per controllare l'ambito MEMBER. - Accesso e strumenti: appartenenza / supervisore / stato, un riepilogo dei diritti, il suo (dal Workbench) e aprire il suo Vault (/vault?owner=, solo per un vault le liste dei server). - Noleggio: mostrato mentre il noleggio non è completo; dopo di che i gradini si piegano Vai in Accesso & Strumenti dietro Mostra Passi. Ogni collegamento SI passa attraverso siRoomHref(id, stanza) (aiutante di SIS4, esteso): Centro di comando, roster, vista del team, valutazione, Red Team, chi ottiene cosa, Prova, SI Calling, messa a punto e approvazioni (Descrizione del lavoro), il modulo di noleggio (Assunzione), la scheda membro Visualizza profilo, formulazione di notifica. No Inoltre: la guida del profilo scorre all'interno della larghezza di un telefono; Il collegamento membro apre il profilo (era un percorso /profilo morto) Gli articoli sono aggiornati.
· kamo-internal
Schermate reali di noleggio e approvvigionamento, archiviate sotto un account cliente
Le schermate delle pipeline di noleggio e approvvigionamento erano dati simulati e le loro Le pagine Coming Soon erano segnaposti. Ora leggono e scrivono SecurityService: - Richieste di noleggio, prenotazioni, richieste di acquisto e ordini del fornitore elenchi letti /pos/richieste-noleggio, /prenotazioni, /richieste-acquisto e /ordini-fornitore, con una colonna Account, parole di stato al posto dei codici e un campo vuoto L'approvvigionamento passa tra richieste e ordini del fornitore. - /commerce/bookings/new crea una richiesta di noleggio (attività, date, tipo di tariffa, stima elaborata come fa il server, account cliente opzionale); /commerce/procurement/new crea una richiesta di acquisto (vendor id inviato come Entrambi leggono ?accountId, ?marketId e portano ?back. - Le pagine dei record mostrano solo ciò che i DTO trasportano, mantengono Conferma Prenotazione e Approvare e lasciare che un manager archivi il record sotto un account (PUT .../account) o toglierne uno. - Elenca i record aperti con withReturn; ogni noleggio Nuovo va a /commerce/bookings/new (il vecchio /commerce/requests/new non è mai esistito). - I tipi posApi ora corrispondono a RentalRequestDTO, BookingDTO, PurchaseRequestDTO e VendorOrderDTO, incluso accountUid / accountName.
· AIService
Testare un server di strumenti collegato prima di salvarlo (SIS9)
- POST /api/ai/mcp/test (MANAGE_AI_SETTINGS): il corpo del salvataggio (transport, url, headers, removedHeaders) più un id del server salvato, quindi un'intestazione lasciata come maschera Convalidato come un salvataggio (STDIO, URL guard, header, ecc.) Il Piano Utensile lo analizza e non viene memorizzato nulla. - Le risposte del test passano su toolDetails (nome, titolo, sola lettura di ogni strumento).
· MCPGatewayService
Testa un server di strumenti connesso prima che venga salvato e assegna a ciascuno strumento il nome del server (SIS9)
- POST /api/mcp/servers/probe?orgId= (autenticazione interna, solo AIService): elenca le Gli strumenti di una bozza non salvata su un client a sé stante, chiuso immediatamente Nessuna informazione viene memorizzata, messa in pool o memorizzata nella cache e nessuna salute viene scritta; Regole di trasporto come server salvato. - Le risposte di test e sonda portano toolDetails [{name, title, readOnly}] in modo che il La pagina delle impostazioni può elencare gli strumenti in parole e dire quali possono essere utilizzati da un SI.
· kamo-internal
Un nuovo menu per mercato nella scheda Ordini; i filtri sopravvivono all'apertura di un record
- Il solo pulsante Crea ordine (solo al dettaglio, e non ha mai nemmeno riempito il customer in) diventa Nuovo: una voce per ogni mercato gestito dall'organizzazione e il membro può creare in — ordine, prenotazione di noleggio, ordine di lavoro, Abbonamento (wizard in atto, account pre-selezionato), richiesta di acquisto. Ognuno inizia con questo account come cliente e torna qui. - La lista Ordini apre richieste di noleggio, prenotazioni, richieste di acquisto e Gli ordini dei fornitori, ora che il server li elenca. - Retail New Order sceglie il cliente dall'elenco dei conti invece di Chiede un ID di account grezzo, e onora ?accountId= / ?back=; Servizio Nuovo ordine di lavoro fa lo stesso. - useRememberedState mantiene lo stato di visualizzazione di uno schermo attraverso la navigazione: La pipeline dei mutui (Commercio e scheda Mutui di un account) mantiene la sua filtri, ordinamento, paging e offerte aperte quando un prestito viene aperto e chiuso, e la scheda Ordini mantiene il suo filtro di mercato.
· kamo-internal
Come funzionano, premium — schede live, stanze di descrizione del lavoro, Hear It, uso dello stile, modelli di ruolo (SIS7)
- Hub: ognuna delle cinque schede legge il proprio stato attivo (useHubSummary) — nastro d'angolo + chip normali (un hook `HubCard` per sezione in siSections; il TabHub della shell lo usa). - Organizzazione Descrizione del lavoro: ogni parte una scheda con ciò che è scritto, aprendo la propria stanza a un nome Una pagina tra le stanze mantiene le modifiche non salvate; kit CharterEditor restyled IN PLACE (guida come piccole schede con le icone e il nastro sulla parte aperta, sezione del pannello di intestazione, sezione opzionale ospitata con una panoramica di tutte le parti) — ogni descrizione del lavoro L'editore lo capisce. - Stili di personalità: "Utilizzato in N luoghi" per stile (organizzazione, ruoli, dipartimenti, titoli di lavoro, squadre, membri come MemberChipById) dal nuovo uso del servizio di sicurezza letto; In uso ribbon; il campo di testo di stile Mostra {orgShortName} come chip "Nome organizzazione" (ProseTokenField), mai come testo semplice. - Role Templates: la galleria di SIE6 come pagina (stesso componente, `variant="page"`, scegliere l'SI nel dettaglio); SegmentedFilter invece di una barra delle schede sottolineata. - Chiamate e riunioni: stanze Cosa sentono i chiamanti, Suono di sottofondo, Lingue, Chiaro discorso e relè, Partecipazione Hear It riproduce l'apertura + l'avviso nella voce di un SI scelto (kamoai-service), attraverso il suo Il suono della stanza attraverso una banda telefonica, in una lingua scelta, con una forma d'onda dal vivo — ambiencePreview extended (playOpening), nessun secondo sintetizzatore, nessuno chiamato. Righe collegate con valori live: riga SI in email Firme, server telefonici che trasportano linee SI, Zoom/Teams che si uniscono (kit LinkedSettingRow). - Uova di Pasqua: scheda dal vivo; passi, cose da provare e salvaguardie si ripiegano in un pannello Come funziona. - Consolidato: una ToggleCard (avvisi + lingue ognuno aveva una copia). Suggerimenti di aiuto + articolo del Centro assistenza.
· kamo-internal
Il lavoro quotidiano e l'assistente personale (SIS8)
- Il SI della tua Organizzazione viene scelto in UN SOLO luogo (Daily Work) I flussi di automazione lo mostrano in sola lettura (chip del membro con foto) con un link di modifica; L'interruttore delle chiamate SI non invia più un SI. - SiFloorSettings suddiviso nelle sue pagine: SI della tua organizzazione, Briefing (schede + Un editor guidato in cinque passaggi con i limiti numerici del servizio e i controlli a Capture Inbox (limitato, avviso anticipato prima del limite), Capture Inbox (limitato, avviso anticipato prima del limite). - Canali: righe collegate con valori in tempo reale per Email Triage, SI Calls, il mutuo Interruttori SI (solo lettura; accesso al prestito solo per il proprietario), i siti web e le risposte SI La policy IoT SI, ognuna mostrata solo a chi può aprire il suo schermo. - Web Chat Personas: un nome ovunque; elenco come carte, galleria e studio spostato sotto **************** — nomi, mai id; Vecchie rotte /settings/ai/sales-agents rimosse, link aggiornati, nessun reindirizzamento. - Live hub-carta riassunti per ogni lavoro quotidiano e carta Personal Assistant. - Personal Assistant: Impostazioni di partenza / Limiti / Chi ottiene che cosa drill-in sul Kit (barra di salvataggio appiccicosa), aree degli strumenti raggruppate sotto intestazioni semplici con ricerca. - Suggerimenti di aiuto, articoli del Centro assistenza, test.
· SecurityService
Elenca i record di noleggio e acquisto nella scheda Ordini di un account
Richieste di noleggio, prenotazioni, richieste di acquisto e ordini dei fornitori ora raggiungere un account attraverso il loro coinvolgimento, quindi l'elenco degli ordini include (Access Commerce, come le proprie schermate). Una richiesta già In un ordine di prenotazione o fornitore è elencato una volta. PUT **************** vendor-orders}/{id}/account file un record esistente sotto un account (Gestisci affitti / Crea richieste di acquisto).
· kamo-shared-library
Archiviare i record di noleggio e approvvigionamento sotto un account cliente
Una richiesta di noleggio, prenotazione, richiesta di acquisto e ordine del fornitore non aveva Il cliente non è stato identificato, quindi la pagina dell'account non è in grado di elencarli Vive sul loro impegno **************** applicato da mano), in modo che ogni record di un pezzo di business lo condivide. - creare richieste di noleggio / acquisto con un accountUid opzionale - setIntentAccount / setCommitmentAccount per archiviare o cancellare un record esistente - Trovatori di account per richieste aperte, prenotazioni e ordini del fornitore - i quattro DTO portano accountUid e accountName
· kamo-internal
Un documento firmato restituito mostra i segni delle risorse umane accanto alla copia precompilata
Quando le risorse umane restituiscono un documento firmato, la fase di firma del membro ora ha un Pannello accanto ad esso: cosa le risorse umane hanno chiesto di risolvere, chi ha chiesto, i pin numerati abbinato alle loro note (passare il mouse per pulsare il segno), un promemoria che il loro Le risposte precedenti sono già state compilate e la copia firmata l'ultima volta con ogni segno disegnato su di esso in sola lettura dallo stesso MarkupLayer Gli schermi larghi lo mostrano come una colonna ripiegabile; quelli stretti lo mostrano come una Fai scorrere il cursore sulla pagina su richiesta. La copia firmata del round precedente viene letta attraverso un nuovo relè per soli membri, ****************
· DocsService
Un documento firmato restituito viene precompilato e il membro può vedere ciò che è stato contrassegnato
Quando le Risorse Umane restituiscono un documento firmato, la nuova busta ora reca il Le risposte precedenti del membro (lette dai nuovi valori di campo interni di ESigService) Firme, iniziali e date di firma vengono inviate come mergeFields Non è mai precompilato; il membro firma di nuovo. La lettura delle risposte è al meglio: Qualsiasi errore emette la busta vuota e non blocca mai il ritorno Il pass di riparazione precompila allo stesso modo dalla cronologia delle buste del documento. GET **************** fornisce la PROPRIA copia firmata del membro come è stata riveduta (proprietà-gated, Solo i turni di revisione), e l'ultima revisione di un documento ora porta il suo pdfUrl in modo La vista di correzione può mettere i segni del revisore su di esso.
· ESigService
Leggere le risposte di un destinatario internamente e non precompilare mai una firma
GET **************** restituisce ciò che un destinatario ha digitato, selezionato e spuntato (autenticazione interna + X-Org-Id, org ricontrollato), in modo che un chiamante possa riemettere lo stesso modello precompilato attraverso Il percorso esistente mergeFields -> prefilledValues. Firme, iniziali, Date di firma, campi di sola lettura e qualsiasi cosa al di fuori dello slot del destinatario La sessione si rifiuta anche di precompilare qualsiasi firma, iniziali o Il campo signature-date è qualsiasi cosa dicano i campi di unione.
· kamo-internal
La panoramica — Percorso di configurazione, Salute a colpo d'occhio, Hai bisogno di te, scorciatoie e l'esploratore Chi ottiene cosa (SIS6)
- Setup Journey estende il blocco Getting Started: sei passaggi letti dal vivo (un cervello connesso e rispondente, un SI assunto, la descrizione del lavoro scritta, qualcuno su chiamata, ciò che i chiamanti sentono controllato, controlli di qualità su), ognuno aprendo la sua pagina; La prima visita che vede ogni passaggio eseguito lo blocca una volta su SecurityService (/org-setup-wizard/si-journey). - Salute a colpo d'occhio dallo stato SI API attraverso @kamo/kamoai-core; Ha bisogno di voi da incidenti aperti, mettere in pausa tutto, I fornitori il cui controllo non è riuscito, le approvazioni in attesa (-> /workforce/approvals) e i passaggi di configurazione rimasti. - Chi Ottiene Cosa **************** qualsiasi SI o persona, ogni impostazione che li raggiunge con il suo - livelli di descrizione del lavoro (charter resolver), suono di sottofondo, easter eggs, report di turno (il motore di scopo Imposta per), l'assistente personale (anteprima dei livelli). Nessun nuovo endpoint. - CONSOLIDATO: la tabella di anteprima dell'assistente e le parole di valore (AssistantPreviewTable, utilizzata da Starting Settings e explorer), le parole del suono di sottofondo (useAmbienceWords), il calcolo dell'accesso della shell (useSiAccess).
· SecurityService
Dove ogni stile di personalità è utilizzato nell'organizzazione (SIS7)
GET **************** answers {usage: {ref: {count, places[{level, id}]}}}: Ogni livello dell'organizzazione del chiamante la cui descrizione del lavoro sceglie uno stile, integrato o dell'organizzazione Sei letture, una per ogni tabella di livello, dall'indice archetype_ref parziale di ogni tabella, mantenuto al massimo Leggibile da chiunque nell'organizzazione, come il proprietario del sito o il proprietario del blog Test di analisi JPQL contro la mappatura della libreria condivisa.
· SecurityService
Il Super Intelligence Setup Journey latch (SIS6)
GET **************** (chiunque con un diritto di impostazione Super Intelligence, o il proprietario) e PUT .../si-journey/complete (MANAGE_AI_SETTINGS, MANAGE_AI_WORKFORCE o CONFIGURE_SYSTEM, o il proprietario): il Il percorso di configurazione della panoramica legge i suoi passaggi dal vivo e blocca 'finito' qui una volta, accanto al blocco Getting Started, Con le stesse regole (una lettura non scrive mai; nulla la cancella). DDL applicata alla produzione 2026-11-07.
· kamo-shared-library
Il Super Intelligence Setup Journey si blocca accanto a Getting Started (SIS6)
OrgSetupWizardProgress ottiene **************** il blocco memorizzato e mai cancellato del Configurare Journey su Impostazioni > Super Intelligence > Panoramica. DDL: securityservice **************** (applicato alla produzione 2026-11-07).
· kamo-internal
Un elenco di ordini tra i mercati e le schede Mutui, Prestiti personali e Sanità
La scheda Ordini dell'account ora elenca tutti gli ordini dei mercati generali gestiti dall'organizzazione: Ordini di vendita al dettaglio, ordini di servizio e ordini di abbonamento — in un unico elenco etichettato con Dice chiaramente quando un mercato è nascosto e quando un mercato è aperto Per mancanza di permesso, o (Noleggio, Acquisto) non ancora legato ai conti. Senza mercato generale Se non viene visualizzata affatto, la scheda non viene mostrata. I mercati specializzati ottengono una scheda ciascuno, solo quando l'organizzazione gestisce quel mercato: - Mutui: la Pipeline di Commercio (TransactionPipelineTable) è ora un componente in due modalità, come DocManager — l'intera pipeline sotto Commerce, invariata, o con accountUid solo quello Nuovo avvio del prestito sul conto; il Consiglio dell'organizzazione, l'HMDA e il Consiglio di Amministrazione Gli snapshot vengono memorizzati nella cache per ambito in modo che nessuna delle due visualizzazioni sovrascriva l'altra. - Prestiti personali: prestiti presi in prestito dalle persone dell'account. - Sanità: le cartelle cliniche dei pazienti archiviate nell'account e, attraverso i loro proxy del portale, I pazienti che sono autorizzati a vedere (un coniuge, figli). Aggiungere/rimuovere un record dalla scheda. Back è intelligente ovunque un record si apra da queste schede: ogni collegamento porta ?back=, e il prestito, Le pagine di ordine, ordine di lavoro, abbonamento, prestito personale e paziente tornano alla scheda dell'account da cui sono arrivate Da, o per il commercio / Pazienti quando aperto lì.
· SecurityService
Le schede Ordini, Mutui, Prestiti personali e Assistenza sanitaria della pagina dell'account
- GET **************** un elenco degli ordini al dettaglio del conto, il lavoro di servizio Gli ordini e gli ordini di sottoscrizione, ogni fonte letta solo quando l'organizzazione gestisce quel mercato e il chiamante Detiene il diritto dello schermo; dice quali mercati sono stati trattenuti, e quali (noleggio, approvvigionamento) Non c'è ancora alcun account collegato. - GET **************** prestiti presi in prestito dal membro primario o membri del conto (Vedi pipeline di prestito personale). - Mutuo pipeline: ?accountUid= su GET / e /transactions restringe ogni livello a un account (org- POST ?accountUid= avvia un nuovo prestito su quel conto. - /ehr/accounts/{uid}/patients: i record archiviati sotto l'account più i pazienti del loro portale Autorizzazione dei proxy; livello di front-desk (Visualizza pazienti), ogni paziente mostrato controllato; necessità di collegamento / scollegamento Registra pazienti o modifica dati demografici dei pazienti.

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