Aller au contenu
KAMOUniverse

Changelog

Ce qui est nouveau.

Chaque amélioration apportée à la plateforme, à mesure qu'elle est livrée.

  1. · MediaService

    Le chemin DM interne passe par la politique de chat et le AI tour garde, et chaque ligne de chat dit qui l'a écrit (KamoCollab CP00 T7)

    POST **************** **** demande maintenant MEMBRE source ou SYSTEME (autre 400 SOURCE REQUISE). Une ligne MEMBRE est vérifiée par la politique de chat comme envoi propre d'un membre (open-then-send quand il n'y a pas de DM; les DM existants guid pour la fenêtre de réponse ONE WAY), refusé 403 CHAT POLICY, et un AI la ligne de l'expéditeur est comptée par le tour de garde (429 AI TURN LIMIT). Les AI ligne à son propre superviseur humain n'est jamais comptée, et passe les règles alors que protectManagerLine est sur. Une ligne SYSTEME (avis de calendrier) saute les deux. Le gestionnaire n'ouvre aucune transaction : la limite de tour est lue en premier, alors InternalDirectMessageWriter (@Transactional @RetryOnDbConflict) ouvre le DM, admet le tour, écrit la ligne et prépare le fan-out; l'annonce suit l'engagement. media objs.source est écrit: MEMBRE par membre envoie et messages Exec2Exec, SYSTEME par les lignes internes du SYSTEME et le Exec2Exec bienvenue, SERVICE par Alertes. Une ligne de SYSTEME ou DE SERVICE n'est pas un tour humain, donc il n'est plus Réinitialise le compteur AI. Les cadres fan-out, la réponse d'envoi, son NATS les lignes frame et history portent source (MEMBER pour une ligne NULL).

  2. · kamo-internal

    Le formulaire de location SP96 demande le sexe d'un AI et permet à l'employé de quitter son poste de travail ou son poste de travail; les gens ont un sexe optionnel; la liste de contrôle s'installe maintenant (SP96 T18)

    - Location AI : une sélection Femelle/Homme requise (le bouton de location l'attend), et Extension téléphonique / Interrupteurs de poste de travail, les deux sur; la charge utile envoie toujours aiPhoneExtension et aiWorkstation comme booléens, et la liste de contrôle du formulaire preview liste seulement ce que cette location va configurer. - Personnes (propriétaire, 2026-10-04): les deux créer des formulaires offrent un sexe facultatif (Non spécifié / Femme / Homme) à un créateur qui peut l'écrire (sexeEditAtCreate = sexEdit pour un nouveau disque); envoyé seulement lorsque choisi. - La note de contact AI ne promet que sa propre boîte aux lettres. - Liste de contrôle pour l'embauche: NOT REQUESTED AT HIRE est dit en mots; un congénère offres de ligne Montez maintenant, la même réessayer, avec son propre toast.

  3. · kamo-internal

    Le formulaire de location SP96 demande le sexe d'une AI et laisse la location quitter son poste de travail ou son poste de travail; les gens ont un sexe facultatif; la liste de contrôle est maintenant mise en place (SP96 T18)

    - Location AI : une sélection Femelle/Homme requise (le bouton de location l'attend), et Extension téléphonique / Interrupteurs de poste de travail, les deux sur; la charge utile envoie toujours aiPhoneExtension et aiWorkstation comme booléens, et la liste de contrôle du formulaire preview liste seulement ce que cette location va configurer. - Personnes (propriétaire, 2026-10-04): les deux créer des formulaires offrent un sexe facultatif (Non spécifié / Femme / Homme) à un créateur qui peut l'écrire (sexeEditAtCreate = sexEdit pour un nouveau disque); envoyé seulement lorsque choisi. - La note de contact AI promet sa propre boîte aux lettres. - Liste de contrôle pour l'embauche: NOT REQUESTED AT HIRE est dit en mots; un congénère offres de ligne Montez maintenant, la même réessayer, avec son propre toast.

  4. · MediaService

    MediaService cache le graphique org, lit les faits de la politique de chat à partir de lui, et la portée de suivi gérée est l'ensemble du sous-arbre (KamoCollab CP02 T17)

    MediaService déclare le chargeur graphique org et son cache 60 s, et un auditeur sur security.orggraph.changed.* qui expulse le graphique et puis la politique de chat instantané sur chaque pod. La politique de chat construit les faits de ses membres à partir du cached graphe au lieu de ses propres requêtes. La portée du suivi du marketing est maintenant gérée l'appelant plus tout le monde au-dessous d'eux à n'importe quelle profondeur qui est record-active et non synthétique, la même lecture que la portée d'un rapport.

  5. · KBService

    La lecture par un superviseur des notes d'un membre AI est écrite au phi access log (KamoCollab CP00 T8)

    GET /api/notes/membres/{memberId}, .../{noteId} et .../{noteId}/versions maintenant enregistrer la lecture après qu'elle ait réussi, à travers le PhiAccessRecorder partagé: un LIST ligne par note listée (un enregistrementTous les lots), une ligne VIEW pour une note ou son historique; ressourceType NOTE, org et membre de l'appelant, butOffre Opérations, justification **************** Une lecture refusée (403, 404) ou une liste vide n'écrit rien ; VIEW et LIST échouent ouvert, donc un échec d'écriture n'arrive jamais à la réponse du superviseur. kbservice gagne son écrivain PHI: PhiAuditPersistanceConfig déclare {\pos(192,220)}Avec destruction, et KBServiceApplication scanne com.kamo.z.shared.phi.audit dans le même commit (la leçon 2026-08-03; KbPhiAuditWiringTest tient les deux ensemble). Les timbres d'audit se sont produitsEn elle-même: PhiAccessRecorder reconstruit un non-ampliqué événement sans son butOffre utilisation.

  6. · SecurityService

    Le domaine de l'équipe — fil, validation, rédacteur, service et la couture org-graph (KamoCollab CP01 T9)

    TeamWire lit un tri-état de corps d'équipe (absent / null / valeur); TeamValidator vérifie les titres, descriptions, délais, rôles, droits (normalisés en tant que niveau), membres du personnel, le chef de file et les plafonds n'importe quoi est écrit; TeamWriter fait chaque équipe écrire dans un retried transaction, remplaçant les rôles et les droits par la clé dans les index uniques (supprime les rinçages avant les inserts, un droit mis à jour en place); TeamService sert les lectures et après Write: le recalcul limité dans sa propre transaction, l'annonce de la charte, et TeamChangeListener pour les faits graphiques seulement (R1-25). LayerCharterSupport gagne équipeCounts. Rien sert encore (tâche 10).

  7. · kamo-shared-library

    Construisez les faits des membres à partir du graphique org, à côté de l'ancien chemin de requête (KamoCollab CP02 T5)

    ChatPolitiqueSnapshotLoader gagne un constructeur prenant LongFunction<OrgGraph>. Avec elle, load() cartographie le graphique de l'organisation à MemberFacts à travers la nouvelle MemberFactsFromGraph, demandant le graphique une fois par charge d'un org avec un ensemble actif. Le constructeur et le loadFacts ChatPolicyFacts La tâche 18 les supprime une fois que les deux services ont changé. ************* **** fournit les mêmes lignes à une copie loadFacts d'aujourd'hui et à OrgGraphRows. deSql + OrgGraphBuilder + MemberFactsFromGraph, plus de 2 000 orgs aléatoires et la boucle fixe, Les cas hors de portée, et affirme que les deux cartes sont égales.

  8. · kamo-shared-library

    Recalculé par l'identifiant des membres et les modifications des rôles qui touchent les membres de l'équipe (KamoCollab CP01 T7)

    - Oui. recalcule exactement ces membres : lus par id dans des morceaux de 500 (jamais les membres de l'organisation), chaque morceau par recalcChunk (le Niveau TEAM chargé une fois par morceau; seul un membre modifié est écrit et notifié). Null et les ids répétés sont supprimés, aucune gauche n'est 0 sans requête, plus de 1000 ids distincts est refusé, et un membre proche est déballé avant la chute d'eau. updateRoleMemberRightsApplied recalcule également les membres de chaque équipe le rôle (findTeamIdsByRoleId, trouverMemberIdsByTeamIdIn), chaque fois, jamais un titulaire direct deux fois, pris des membres de l'organisation il a déjà lu, en morceaux de 500.

  9. · SecurityService

    Les organigrammes de SecurityService, l'éditeur de changement après l'engagement, son auditeur et les deux itinéraires internes (KamoCollab CP02 T7)

    OrgGraphBeanConfig déclare le chargeur (une transaction en lecture seule) Modèle son propre, Clock.systemUTC()) et le 60 s OrgGraphCache. OrgGraphChangerÉditeur collecte les changements d'une transaction par org, et à la fin expulse ceci pod's graph and chat policy et publie **************** une fois par org; un revers n'annonce rien, aucune transaction ne tourne à la fois, et Il ne lance jamais. OrgGraphEventListener expulse les deux caches sur chaque pod événement. OrgGraphInternalController sert GET .../org-graph/{orgId} et .../{orgId}/paire derrière X-Internal-Auth; un org inconnu est un graphique vide.

  10. · kamo-shared-library

    Le chargeur, ses huit requêtes liées à l'org, le cache 60 s, l'événement de changement, le codec filaire et la cartographie du chef de département (KamoCollab CP02 T4)

    - OrgGraphFactsRepository (donotmodify.dao.repos): huit requêtes natives, chacune délimitée par org id à travers un index; les utilisateurs et les tables d'équipe du CP01 sont épinglés sur leurs clés (EXPLAIN-vérifié). - OrgGraphRows.fromSql: les cartes en minuscules aux lignes, de manière subtile (enums inconnus lus comme l'entité) par défaut, Chat PolicySnapshotLe numéro de Loader et les règles booléennes). - OrgGraphLoader: une transaction en lecture seule par charge; TransientDbRetry en dehors d'une transaction, une Essayez à l'intérieur. - OrgGraphCache: Caféine, 60 s après écrire, au plus 1000 orgs, une charge par org; frais() contourne. - OrgGraphEvents: **************** son organisme, et un abonnement de régulateur qui baisse sujets mal formés et contient des défaillances du gestionnaire. - OrgGraphWire: les cartes de l'instantané interne (ids en tant que chaînes) et retour, refusés sur un timbre d'inadéquation. - Département.headMemberId (en lecture seule), DépartementDTO champs de tête, l'ÉQUIPE partage Javadoc et le commentaire de la cascade seulement feuille.

  11. · kamo-shared-library

    Le niveau TEAM des cascades de droits et de temps de session (KamoCollab CP01 T6)

    TeamLevels (pure, pas un haricot) lit un ensemble d'équipes de membres en quatre questions Quel que soit leur nombre (un quand aucune n'est dans une équipe): les membres, les équipes, leurs rôles avec les droits de chaque rôle et leurs droits directs. Chaque équipe membre appartient à plier au niveau ONE pair par le propre cascade addSettingToLevel règle (GRANTED bat NUKE), superposé après le titre du poste et avant le militaire; FORCE, fermeture et les garde-corps AI suivent toujours. Les le timeout de session gagne le même niveau : le timeout de l'équipe non null le plus court le titre du poste, et le membre lui-même l'emporte toujours. Le personnel seulement, comme le département et le titre du poste: un client ne coûte aucune requête d'équipe. Les chemins à un seul membre chargent le niveau d'un membre; recalcChunk charge les morceaux Une fois. Les quatre dépôts d'équipe sont facultatifs; sans eux, ou pour un membre en aucune équipe, chaque chute d'eau se résout exactement comme avant: les T1 ors restent vert et non édité dans les deux modes.

  12. · kamo-internal

    Liener les écrans AI à leurs articles d'aide par chemin, et corriger les conseils de paramètres AI qui ont montré des emplacements (SP98 T23)

    - /help-center/<path> (app/help-center/[...path]): ouvre l'article dans /kb lorsque la base de connaissances propre du lecteur tient le centre d'aide (le l'organisation de la plateforme), sinon le centre d'aide publique dans le lecteur langue. Les références croisées du centre d'aide utilisent la même adresse. Seules les limaces pures sont acceptées; tout le reste va à l'aide du centre d'aide En première page. - HelpArticleLink : même onglet ; "En savoir plus dans le centre d'aide" ou un nom sujet; encre pour la surface sur laquelle il est assis (la colonne Quick Tips est légère sur les deux palettes). - Linked: les huit onglets de paramètres > Intelligence artificielle, hébergé Ordinateurs > Ordinateurs, configuration essentielle > Rôles de sécurité, Départements et Job Titles, la salle AI du profil et la console d'appels AI. - L'onglet Modèles de sécurité lisait "modèles de sécurité", et ses conseils rapides et Ceux de l'utilisation et de l'aperçu lisent "Quel titre" / "Comprendre le corps": Une copie de nouvelles clés. - HELP ARTICLES est tenu à outils/centre d'aide/manifest.json par un test.

  13. · kamo-internal

    Liener les écrans AI à leurs articles d'aide par chemin, et corriger les conseils de paramètres AI qui ont montré des emplacements (SP98 T23)

    - /help-center/<path> (app/help-center/[...path]): ouvre l'article dans /kb lorsque la base de connaissances propre du lecteur tient le centre d'aide (le l'organisation de la plateforme), sinon le centre d'aide publique dans le lecteur langue. Les références croisées du centre d'aide utilisent la même adresse. Seules les limaces pures sont acceptées; tout le reste va à l'aide du centre d'aide En première page. - HelpArticleLink : même onglet ; "En savoir plus dans le centre d'aide" ou un nom sujet; encre pour la surface sur laquelle il est assis (la colonne Quick Tips est légère sur les deux palettes). - Linked: les huit onglets de paramètres > Intelligence artificielle, hébergé Ordinateurs > Ordinateurs, configuration essentielle > Rôles de sécurité, Départements et Job Titles, la salle AI du profil et la console d'appels AI. - L'onglet Modèles de sécurité lisait "modèles de sécurité", et ses conseils rapides et Ceux de l'utilisation et de l'aperçu lisent "Quel titre" / "Comprendre le corps": Une copie de nouvelles clés. - HELP ARTICLES est tenu à outils/centre d'aide/manifest.json par un test.

  14. · kamo-internal

    La zone de l'équipe AI, quinze articles KamoAI, des articles AI actualisés et des articles de notification, et des liens qui travaillent sur le site public (SP98 T23)

    Contenu (auteur, sous contenu/): - Nouvelle équipe de la catégorie AI (après l ' assistant AI) avec trois sections et 15 articles: AI membres de l'équipe expliqué, embauche, supervision, la charte, les modèles d'emploi et les personas, les approbations; le centre de la main-d'oeuvre, Membres AI, Routage & Budgets, postes de travail AI; appels téléphoniques AI et consentement, membres de AI lors de réunions, listes de contrôle et tâches, répétition d'événements et les blocs de travail AI, les mentions et les membres AI dans le chat. Les étiquettes les mêmes écrans, du dictionnaire. - Rafraîchi à ce qui a été expédié : les fournisseurs AI (le registre des fournisseurs AI), ajouter un fournisseur, des serveurs MCP (seulement des outils en lecture seule atteignent n'importe qui), Agents de vente AI (personas), modèles de sécurité AI, réglages généraux AI, politiques d'accès, utilisation de AI, en-têtes et signatures d'email (AI divulgation), les trois articles de notification, messagerie vocale, et créer un événement (Répéter, trouver un temps). - Deux articles corrigés à la main (843d0291b) n'ont pas été marqués, donc une reconstruction les a rendus; maintenant ils le sont. Pipeline: - Lien de renvoi vers /help-center/<path> (lib/paths.mjs) de /kb/<guid>, qui est un 404 sur le site public. À l'intérieur du produit la route /help-center ouvre le même article. - import.mjs : --ne prend qu'une liste séparée par des virgules (les parents d'abord); --positions ne bouge que ce qui diffère du manifeste (les catégories ci-dessous un inséré); --relations-uniquement définit voir-aussi des liens sans un nouvelle version. - L'article de l'auteur : [slugs] sème ses liens (lib/related.mjs), et une limace qui n'appelle rien échoue la construction. - manifeste.json et relations.json reconstruit.

  15. · kamo-internal

    La zone de l'équipe AI, quinze articles KamoAI, des articles AI actualisés et des articles de notification, et des liens qui travaillent sur le site public (SP98 T23)

    Contenu (auteur, sous contenu/): - Nouvelle équipe de la catégorie AI (après l ' assistant AI) avec trois sections et 15 articles: AI membres de l'équipe expliqué, embauche, supervision, la charte, les modèles d'emploi et les personas, les approbations; le centre de la main-d'oeuvre, Membres AI, Routage & Budgets, postes de travail AI; appels téléphoniques AI et consentement, membres de AI lors de réunions, listes de contrôle et tâches, répétition d'événements et les blocs de travail AI, les mentions et les membres AI dans le chat. Les étiquettes les mêmes écrans, du dictionnaire. - Rafraîchi à ce qui a été expédié : les fournisseurs AI (le registre des fournisseurs AI), ajouter un fournisseur, des serveurs MCP (seulement des outils en lecture seule atteignent n'importe qui), Agents de vente AI (personas), modèles de sécurité AI, réglages généraux AI, politiques d'accès, utilisation de AI, en-têtes et signatures d'email (AI divulgation), les trois articles de notification, messagerie vocale, et créer un événement (Répéter, trouver un temps). - Deux articles corrigés à la main (843d0291b) n'ont pas été marqués, donc une reconstruction les a rendus; maintenant ils le sont. Pipeline: - Lien de renvoi vers /help-center/<path> (lib/paths.mjs) de /kb/<guid>, qui est un 404 sur le site public. À l'intérieur du produit la route /help-center ouvre le même article. - import.mjs : --ne prend qu'une liste séparée par des virgules (les parents d'abord); --positions ne bouge que ce qui diffère du manifeste (les catégories ci-dessous un inséré); --relations-uniquement définit voir-aussi des liens sans un nouvelle version. - L'article de l'auteur : [slugs] sème ses liens (lib/related.mjs), et une limace qui n'appelle rien échoue la construction. - manifeste.json et relations.json reconstruit.

  16. · EmailService

    Les lignes de chat de calendrier disent qu'elles sont des lignes système (KamoCollab CP00 T5)

    MediaChatClient.sendDirect affiche désormais "source": "SYSTEM" à côté deMembre Id, àMembreId et message: une invitation ou une annulation de calendrier est un avis écrit au nom de l'organisateur, pas les mots de l'organisateur. Service des médias (CP00 Tâche 7) le stocke comme MEDIA OBJS.SOURCE = SYSTEME et le garde hors de la discussion la politique et l'IA se tourner la garde ; jusqu'alors elle ignore la clé inconnue. Essai: {\pos(192,220)}C'est le corps à quatre clés.

  17. · KlusterServices

    Les auditeurs org-graph peuvent s'abonner au sujet du changement org-graph

    KamoCollab CP02 Tâche 6A (maître R1-23, CP-D75). Sécurité Service publie **************** après chaque écriture org-graph; chaque service qui cache l'éviction du graphe. Aucun utilisateur de NATS n'a pu s'abonner à sujet, de sorte que chaque auditeur aurait frappé une violation d'abonnement et Le cache n'aurait été expulsé que par les 60 TTL. Ajoute "security.orggraph.changed.>" à l'abonnement permet la liste des neuf utilisateurs: svc security, svc media, svc kamoai (CP02), svc kb, email, svc voip, svc docs (CP05), svc mcpgateway (CP07) et svc rag (CP11). svc docs souscrit à rien (déni ">"); il peut maintenant souscrire à Ce sujet seul. Pas de mot de passe hash, publier la liste ou d'autres changements d'utilisateur.

  18. · kamo-shared-library

    CharterLevel.TEAM, entre le titre du poste et le membre (KamoCollab CP01 T5)

    Annexe de l'ÉQUIPE au niveau de la Charte (après DEFAULT; ORG du CP03 vient ensuite, R1-11) et affirme dans son Javadoc que l'ordre de résolution est CharterLayer. grade, jamais l'ordre de déclaration. CharterItems.validate ne nécessite aucun changement: TEAM is ni ROLE ni MEMBRE, il suit donc les règles du titre du poste. Essais: une équipe peut se cacher et se verrouiller; chaque section valide à TEAM comme à JOB TITLE; deux couches de TEAM par les pairs entre un titre d'emploi et un membre list order gagne une clé SPECIFIQUE et le conflit nomme l'autre, ADDITIF les syndicats, une équipe cache un élément de titre d'emploi, le membre cache un élément d'équipe, les pairs ne peut pas se cacher l'un l'autre); les lignes L-I-I-I de la chaîne sans équipe canonique texte du timbre égal aux lignes capturées sur le principal (pas de hachage épinglé, R1-1); couche ajoute seulement ses propres lignes. CharterEnumsTest nomme les niveaux dans n'importe quel commande (R1-11).

  19. · SecurityService

    Couvertures de ménage de table droite org team rights (KamoCollab CP01 T8)

    RoleRightsSyncNoms de service org team rights dans les trois listes, ainsi de suite chaque démarrage d'un CHECK gelé sur il est laissé, une ligne nommant un droit supprimé est supprimé, et un droit fractionné est ensemencé pour les équipes qui ont accordé son parent, exactement comme pour dept rights. La garde de la graine N'EXISTE PAS (team id, type), l'index unique de la table, donc il ne duplique jamais droit ou voyage l'index.

  20. · kamo-internal

    La politique du serveur téléphonique à l'étranger dans Paramètres: nouvelles extensions d'appels extérieurs, et les gardes antifraude (SP93 T14)

    La carte vocale AI sur un serveur FreePBX gagne déjà les deux paramètres SP93 VOIPService magasins: si une nouvelle extension commence à composer à l'extérieur, et les quatre gardes antifraude facultatifs (codes régionaux internationaux, taux de prime, à risque élevé, sur mesure) Préfixes), sous une rubrique qui dit 911 et 933 ne peut jamais être bloqué. - Chaque sauvegarde envoie les cinq, comme l'exige le PUT de remplacement complet de V10 (SP93-T4-3). - Un préfixe personnalisé VOIPService refuserait (pas 1-15 chiffres, ou 911, 933 ou le début de l'un ou l'autre) est refusé sur Add et sur Save, avant que quelque chose soit envoyé; un préfixe tapé mais non ajouté est également enregistré; la liste s'arrête à 25. - Un Kamo PBX ne montre aucun d'eux, puisque seul le plan de cadran de FreePBX les force, et renvoie toujours les valeurs stockées sur un save (SP93-T14-1). - La boîte de prévisualisation des appelants prend un jeton de thème, donc un thème sombre peut le lire.

  21. · kamo-shared-library

    Le noyau du graphique d'org pur : OrgGraph, son constructeur, ses nœuds et ses relations (KamoCollab CP02 T3)

    Package com.kamo.z.shared.org.graph (pure, sans haricots), par maître KamoCollab §6.2 et CP02 spécifications §5.2-§5.3: - enums OrgRelationship, CounterpartKind, OrgGraphChangeCare annexe seulement); - enregistre OrgNode, OrgDepartment, OrgTeam et OrgGraphRows avec ses huit les enregistrements des rangées imbriquées; - OrgGraphBuilder.build: arbre départemental et chemins de racine à feuille l'ascendance inversée), les nœuds, les niveaux effectifs (D5), puis OrgGraph.of; - OrgGraph: relations (ce que b est à a), managementChain (BFS sur manager et les bords de l'IA-superviseur), managerChain (la marche du chat), rapports, d'équipe, gestionnaire commun le plus bas (D9), les plus bas grades (D6, CP-D15), niveau efficace, chefs de département, chefs d'équipe, gestionnaire de départementCandidats (D12) et un timbre de 24 h. Sécuritaire. Tests épingler chaque ligne du tableau des réponses attendues de la spécification §5.3 sur la référence org, les cas de cycle, 2000 formes aléatoires dans un budget de 5 s, les cinq invariants, et le timbre. Décisions CP02-T3-1.5.

  22. · kamo-shared-library

    Les entités de l'équipe, les dépôts et les limites (KamoCollab CP01 T4)

    Équipe (org teams), Membre d'équipe (org team members, @IdClass Key), TeamRole, TeamRight (type par RoleRightTypeIdConverter) et TeamCharterItem (team charter items, colonne de texte 'text'), les cinq dépôts avec spec les méthodes de la section 5.2 et JPQL, et TeamLimits (D11). Les tableaux sont créés par la DDL appliquée manuellement du service de sécurité - Oui. Tests pin chaque colonne, la nullité et la longueur à la DDL, analyse chaque requête contre la cartographie réelle (types sélectionnés et formes de lignes Objet[] incluses), résoudre chaque rechercheur dérivé, et vérifier la @IdClass; vert sur Hibernate 6.5.3 et sur le 6.2.13.

  23. · SecurityService

    Le DDL appliqué à la main pour les chefs de département et les index de charge org-graph, et son test de contrat (KamoCollab CP02 T1)

  24. · SecurityService

    Le DDL appliqué à la main pour les équipes, et son test de contrat (KamoCollab CP01 T2)

    ************* est le bloc de la spécification §5.1: org teams, org team members, org team roles, org team rights (type INT4, unique (team id, type), maître CP-D3) et team charter items. Applicable par CP01 Tâche 3 avant que kamo-partagé-bibliothèque expédie les entités de l'équipe. Cp01TeamsDdlContract Teste la forme du fichier en tant que liste fixe (R1-12) : CRÉATIONS ré-exécutables seulement; pas de CONTRÔLE, JSON, DROP, MISE À JOUR ou DELETE; chaque NON NULL colonne a un DEFAULT sauf les colonnes clé et propriétaire; les cinq tables, les uniques et les recherches, les cascades et les colonnes exactes de team charter items.

  25. · MediaService

    La DDL pour media objs. source, qui a écrit une ligne de chat (KamoCollab CP00 T1)

    Une colonne VARCHAR(16) annulable, réexécutable, sans CHECK et sans remblayage; NULL se lit comme MEMBRE. Appliquée à la main par la tâche CP00 3. - Oui. conserve l'additif de fichier: chaque déclaration une AJOUTER COLONNE SI PAS EXISTE, PAS NULL sans DEFAULT, sans CHECK, JSON, DROP ou MISE À JOUR.

  26. · SecurityService

    Impersonation et saisie en écriture des lignes de log-accès (KamoCollab CP00 T9)

    Les deux portes d'imitation écrivent IMPERSONATION STARTED (HIGH) dans la cible org avec logEventSync après chaque contrôle de refus et avant la session est minted; une ligne qui ne peut pas être écrite réponses 503 AUDIT UNADAILABLE et menthes Rien. Enter-As écrit ENTER AS dans l'org de destination avant de toucher : MOYEN pour son propre adhésion (une écriture ratée est un WARN), HAUT comme Utilisateur système (une écriture ratée est 503, rien n'a été fait). La ligne nomme le ticket la subvention de l'utilisateur du système repose sur, jamais celui que l'organisme a réclamé. Déconnecter d'un session dont SUDO MEMBER ID diffère de son memberID écrit aussi IMPRESSONATION ENDEE (MÉDIUM). La porte cross-org lit maintenant l'orgID de l'appelant pour la ligne et répond 401 lorsque la session manque, comme la porte même-org déjà fait. Nouveau : sécurité/personnalitéAudit (préc. 5.6, D12-D14).

  27. · AIService

    Les brèves noms MINISTÈRE MANAGER comme chef de votre département (KamoCollab CP02)

    MINISTÈRE MANAGER se dirige maintenant vers le chef de département (le graphe departmentManagerCandidats), donc le mémoire dit "le chef de votre Département". CharterCompiler.VERSION n'est délibérément pas écrasé (CP02 spect. D23, arrêt CP02-P-5): pas d'itinéraires d'affrètement de production vers MINISTÈRE MANAGER, donc aucun brief stocké ne porte les mots anciens, et une bosse serait de recompiler chaque mémoire de AI pour rien. Pas d'épingles d'essai VERSION (R1-24).

  28. · kamo-shared-library

    MediaObjSource et MediaObj.source, createMessage avec une source, findTwoPersonChatSession, et les événements-log d'accès d'identité/d'entrée (KamoCollab CP00 T4)

    - MediaObjSource {MEMBER, SYSTEM, SERVICE}; MediaObj.source (STRING, colonne SOURCE, longueur 16, nulle, sans défaut) et sourceOrMember(), qui lit NULL comme MEMBRE. - MediaService.createMessage gagne une surcharge de sept arguments prenant la source; six arguments surcharge les délégués avec nul, donc chaque appelant existant stocke NULL. La moitié de la recherche findOrCreateChatSession, extrait; findOrCreateChatSession crée seulement quand il est vide, donc son comportement est inchangé. - AccessLogEventType appends IMPRESSONATION STARTED, IMPRESSONATION ENDED, ENTRE AS. La colonne MEDIA OBJS.SOURCE doit exister (CP00 Tâche 3 DDL) avant d'être poussée.

  29. · kamo-internal

    Messagerie vocale FreePBX dans Paramètres: les champs d'interface gestionnaire, les boîtes vocales partagées et un lecteur qui dit pourquoi

    SP98 Tâche 15. - Le formulaire FreePBX obtient les quatre champs d'interface du gestionnaire d'Astérisque besoins (hôte, port, nom d'utilisateur, secret). Le secret stocké n'est jamais montré ("(unchanged)") et est envoyé seulement quand dactylographié; déplacer l'hôte le demande à nouveau et un hôte vide éteint le message vocal, comme le sont les règles du serveur. - L'onglet Messagerie vocale d'un serveur téléphonique joue chaque ligne par son propre id: il a demandé /voicemails/<externalId>/audio, qui n'est pas un id, donc aucune ligne n'y a jamais joué. Les lignes indiquent dans quelle boîte aux lettres le message a été laissé; un serveur FreePBX partagé les cases (boîtes de courrier sans extension de Kamo, comme celles de la ligne principale) sont listées avec qui chaque avis, choisi parmi les membres qui gèrent les serveurs téléphoniques. - Paramètres > Téléphone > Les messageries vocales nomment la boîte aux lettres et les marques partagées. - Les deux listes jouent à travers VoicemailAudioPlayer: rien ne charge jusqu'à ce que jouer, et un message dont Kamo audio est à récupérer du système téléphonique dit ainsi, semble à nouveau tous les 20 s et joue une fois qu'il est là; les autres raisons sont dites En clair, avec Essayer encore. - L'assistant SIP WebSocket affiche son texte au lieu de sa clé (le dictionnaire valeur détenue <host> tags ICU ne pouvait pas formater).

  30. · kamo-asterisk-support

    Les téléchargements de messagerie vocale nomment leur message, et Kamo peut en demander un il n'a pas d'audio de

    Un téléchargement de messagerie vocale porte désormais son propre id, <mailbox>/<msg id> le msgNNNN.txt Asterisk écrit à côté d'elle, comme son id unique: fichiers VOIPService FreePBX messagerie vocale sous exactement ce id, donc les deux paires exactement au lieu de par Le temps. Un téléchargement par message, à partir de sa copie PCM (msgNNNN.wav). La copie wav49 (.WAV), les salutations (unavail, occupé, salut, temp) et les fichiers tmp d'une boîte aux lettres ne sont plus téléchargés, donc ils ne sont plus supprimés de la bobine non plus: les télécharger utilisé pour prendre l'accueil d'une boîte aux lettres et donner chaque message Deuxièmement, téléchargement concurrent. Un message dont le sidecar n'appelle pas msg id téléchargé et reste où il est. La politique pull transporte désormais vocalmailAudio: messages Kamo n'a pas d'audio de et demande (KamoAI SP98). VoicemailAudioSender trouve chacun par msg id dans son les dossiers de la boîte aux lettres, prend la meilleure copie que la bobine a encore (wav, WAV, gsm, ...), a Astérisque le convertir en un WAV dans son propre répertoire tmp helper's manager utilisateur (convertisseur de fichier), le télécharge sous l'identifiant du message et supprime le fichier temporaire. La bobine n'a jamais changé. Les idées qui ne sont pas <mailbox>/<msg id> sont déposés à la traction; chaque message est tenté une fois par dix minutes, en arrière-plan. Agent version 2.1.0.

Votre univers vous attend.

Commencez gratuitement en quelques minutes. Ajoutez des produits quand vous êtes prêt. Pas de migration, pas de nouvelles connexions.

Gratuit pour toujours — aucune carte de crédit requise