Changelog
O que há de novo.
Cada melhoria para a plataforma, como ele envia.
· kamo-internal
A política de saída do servidor de telefone em Configurações: chamadas externas de novas extensões e guardas de fraude (SP93 T14)
O cartão de voz AI em um servidor FreePBX ganha as duas configurações SP93 VOIPService já lojas: se uma nova extensão começa a discar para fora, e os quatro Guardas de portagens facultativas (internacional, de alto risco, códigos de zonas de alto risco, personalizadas prefixos), sob um cabeçalho que diz 911 e 933 nunca podem ser bloqueados. - Cada salvamento envia todos os cinco, como a substituição completa da V10 PUT requer (SP93-T4-3). - Um prefixo personalizado VOIPService recusaria (não 1-15 dígitos, ou 911, 933 ou o início de qualquer) é recusado no Adicionar e no Salvar, antes de qualquer coisa ser enviada; um prefixo digitado mas não adicionado também é salvo; a lista para em 25. - Um Kamo PBX não mostra nenhum deles, uma vez que apenas o plano de discagem do FreePBX os aplica, e ainda envia os valores armazenados de volta em uma salva (SP93-T14-1). - A caixa de pré-visualização dos ouvintes leva um token de tema, para que um tema escuro possa lê-lo.
· kamo-shared-library
O núcleo puro do grafo de org: OrgGraph, seu construtor, nós e relações (KamoCollab CP02 T3)
Pacote com.kamo.z.shared.org.graph (puro, sem feijão), per KamoCollab master §6.2 e CP02 spec §5.2-§5.3: - Enums OrgRelationship, ContrapartKind, OrgGraphChangeCause (STRING, Apenas apêndices; - grava OrgNode, OrgDepartment, OrgTeam e OrgGraphRows com seus oito Registos das linhas aninhadas; - OrgGraphBuilder.build: árvore de departamento e caminhos de raiz para folhas (chat's Antecedentes invertidos), nós, níveis eficazes (D5), depois OrgGraph.of; - OrgGraph: relações (o que b é para a), gestãoChain (BFS over gerente e AI-supervisor bordas), gerenteChain (andar do chat), relatórios, derivadoTeam, mais baixoCommonManager (D9), superior (D6, CP-D15), nível eficaz, chefes de departamento, líderes de equipe, departamentoManagerCandidatos (D12), e um selo de conteúdo de 24 horas. O ciclo está seguro. Testes fixam cada linha da tabela de respostas esperadas do §5.3 na referência org, os casos de ciclo, 2.000 formas aleatórias sob um orçamento de 5 s, os cinco Invariantes, e o selo. Regras CP02-T3-1.5.
· kamo-shared-library
Entidades de equipa, repositórios e limites (KamoCollab CP01 T4)
Equipe (org teams), EquipeMembros (org team members, @IdClass Key), TeamRole, TeamRight (tipo através de RPGTypeIdConverter) e TeamCharterItem (team charter items, coluna de texto 'text'), os cinco repositórios com especificação Os métodos da seção 5.2 e JPQL, e TeamLimits (D11). As tabelas são criadas por o DDL aplicado manualmente do serviço de segurança **************************** Testes afixam cada coluna, nulidade e comprimento à DDL, analisando cada consulta contra o mapeamento real (tipos selecionados e formas de linha Objeto[] incluídas), resolver cada localizador derivado, e verificar o verde @IdClass; em Hibernate 6.5.3 e no 6.2.13 da frota.
· SecurityService
O DDL aplicado à mão para chefes de departamento e os índices de carga org-graph, e seu teste de contrato (KamoCollab CP02 T1)
· SecurityService
A DDL aplicada à mão para equipes e seu teste de contrato (KamoCollab CP01 T2)
******************* é o bloco do spec §5.1. org team, org team members, org team roles, org team rights (tipo INT4, unique (team id, type), master CP-D3) e team charter items. Aplicado por CP01 Tarefa 3 antes de kamo-shared-biblioteca envia as entidades da equipe. Cp01TeamsDdlContrato Testa a forma do próprio arquivo como listas fixas (R1-12): apenas CREADOS re-runnáveis; sem verificação, JSON, DROP, ATUALIZAÇÃO ou DELETO; cada NÃO Coluna NULL tem uma DEFAULT exceto as colunas chave e proprietário; as cinco tabelas, os únicos e lookups, as cascatas e as colunas exatas do team charter items.
· MediaService
A DDL para media objs. fonte, que escreveu uma linha de chat (KamoCollab CP00 T1)
Uma coluna VARCHAR(16) nulável, re-runnable, sem verificação e sem enchimento; NULL lê-se como MEMBRO. Aplicado à mão pela Tarefa CP00 3. **************************** mantém o aditivo de arquivo: cada declaração um ADD COLUMN SE NÃO EXISTE, não NULL Sem um defeito, sem verificação, JSON, DROP ou ATUALIZAÇÃO.
· SecurityService
Personation e Enter-As escrevem linhas de log de acesso (KamoCollab CP00 T9)
Ambas as portas de representação escrevem IMPERSONATION STARTED (HIGH) no alvo org com logEventSync após cada verificação de recusa e antes da sessão é cunhado; uma linha que não pode ser escrita responde 503 AUDIT UNAVAILÁVEL e mentas Nada. Enter-As escreve ENTER AS na org de destino antes de cunhar: MEDIUM para a sua própria adesão (uma escrita falhada é um warn), ALTO como o Usuário do sistema (uma gravação falha é 503, nada cunhado). A linha nomeia o ticket A bolsa do usuário do sistema repousa em, nunca o que o corpo reivindicado. Sair de uma sessão cujo SUDO MEMBER ID difere de seu memberID também escreve (MÉDIO). A porta do cross-org agora lê o orgID do chamador para a linha e responde 401 quando falta a sessão, como a porta do mesmo-org Já o fiz. Novo: segurança/personaçãoAudit (spec 5.6, D12-D14).
· AIService
Os nomes breves DEPARTMENT MANAGER como chefe do seu departamento (KamoCollab CP02)
DEPARTAMENTO MANAGER agora encaminha para o chefe de departamento (o gráfico de org DepartmentManagerCandidates), assim que o resumo diz "a cabeça de seu departamento". CharterCompiler.VERSION não é deliberadamente batido (CP02 spec D23, decisão CP02-P-5: nenhuma rota de fretamento de produção para DEPARTAMENTO MANAGER, então nenhum breve armazenado carrega as palavras antigas, e uma colisão Recompilaria cada resumo do AI para nada. Sem pinos de ensaio VERSION (R1-24).
· kamo-shared-library
MediaObjSource e MediaObj.source, createMessage with a source, findTwoPersonChatSession, and the impersonation/Enter-As access-log events (KamoCollab CP00 T4)
- MediaObjSource {MEMBER, SISTEMA, SERVIÇO}; MediaObj.source (STRING, coluna FONTE, long 16, nullable, no default) e sourceOrMember(), que lê NULL como MEMBRO. - MediaService.createMessage ganha uma sobrecarga de sete argumentos tomando a fonte; o Seis argumentos sobrecarregam delegados com nulos, então cada chamador existente armazena NULL. - A metade da busca findOrCreateChatSession, extraído; findOrCreateChatSession cria apenas quando é vazio, por isso o seu comportamento é inalterado. - AccessLogEventType adiciona IMPRESSONATION STARTED, IMPRESSONATION ENDED, ENTER AS. A coluna MEDIA OBJS.OURCE deve existir (CP00 Task 3 DDL) antes de ser empurrada.
· kamo-internal
Correio de voz FreePBX em Definições: os campos de interface do gestor, caixas de correio de voz partilhadas e um jogador que diz porquê
Tarefa SP98 15. - O formulário FreePBX recebe os quatro campos Asterisco Manager Interface voicemail necessidades (host, porta, nome de usuário, segredo). O segredo armazenado nunca é mostrado ("(inalterado)") e é enviado apenas quando digitado; movendo a máquina pede por ele novamente e um host vazio desliga o correio de voz, como as regras do servidor são. - A página Voicemail de um servidor de telefone toca cada linha pelo seu próprio id: pediu /voicemails/<externalId>/audio, que não é id, então nenhuma linha nunca foi tocada lá. As linhas dizem em que caixa de correio a mensagem foi deixada; um servidor FreePBX é compartilhado as caixas (caixas de correio não possui extensão Kamo, como as da linha principal) estão listadas com quem cada notifica, escolhido entre os membros que gerenciam os servidores telefônicos. - Configurações > Telefone > Correios de voz nomeiam a caixa de correio e marcas partilhadas. - Ambas as listas jogar através do VoicemailAudioPlayer: nada carrega até jogar, e um mensagem cujo áudio Kamo está buscando do sistema de telefone diz assim, olha novamente a cada 20 s e joga uma vez que está lá; as outras razões são ditas Claramente, com Tente novamente. - O assistente SIP WebSocket mostra seu texto em vez de sua chave (o dicionário valor mantido <host> tags UTI não pôde formatar).
· kamo-asterisk-support
Envios de correio de voz nomeiam a sua mensagem, e Kamo pode pedir um que não tem áudio de
Um upload de correio de voz agora carrega o próprio id da mensagem, <mailbox>/<msg id> de o msgNN.txt Asterisco escreve ao seu lado, como seu ID único: VOIPService files Voicemail FreePBX sob exatamente esse ID, então os dois pares exatamente em vez de Tempo. Um upload por mensagem, a partir de sua cópia PCM (msgNN.wav). A cópia wav49 (.WAV), as saudações (desavail, ocupado, cumprimentar, temporário) e arquivos tmp de uma caixa de correio já não são enviados, por isso também não são eliminados do carretel: enviá-los usado para levar a saudação de uma caixa de correio e dar a cada mensagem uma segundo, upload concorrente. Uma mensagem cuja sidecar names no msg id não é Carregado e fica onde está. A política puxa agora carrega voicemailAudio: mensagens Kamo não tem áudio de e pede (KamoAI SP98). VoicemailAudioSender encontra cada um por msg id em sua pastas da caixa de correio, leva a melhor cópia que o carretel ainda tem (wav, WAV, gsm, ...), tem Asterisco convertê-lo em um WAV em seu próprio diretório tmp sobre o helper's manager user (file convert), envia- o sob o ID da mensagem e remove o arquivo temporário. O carretel nunca muda. Ids que não são <mailbox>/<msg id> são deixados cair ao puxar; cada mensagem é tentada uma vez por Dez minutos, no fundo. Agente versão 2.1.0.
· VOIPService
Caixas de correio de voz partilhadas e áudio de correio de voz FreePBX da própria mensagem
Caixas partilhadas (SP98-N-2). Uma caixa de correio no PBX que não é extensão Kamo (K1M1's 8100, "KamoCRM Main Line") nunca foi sincronizado. A varredura é única AMI sessão agora também pergunta VoicemailUsersList uma vez que as extensões são lidas, registros cada caixa de correio no contexto de usuário do FreePBX como caixa compartilhada de um servidor de telefone (PHONE VOiceMAIL BOX, DDL em docs/sql; INSERT ... NO CONFLICT por um segundo varrer não pode envenenar a transação), e sincroniza suas mensagens como linhas com extensão. Cada caixa tem uma lista de notificação (PHONE VOiceMAIL BOX NOTIFIY, ninguém por padrão): uma nova mensagem levanta VOICEMAIL RECEIVED para esses membros, abrindo Configurações > Telefone > Correios de voz. Vamos lá. lista as caixas e substitui a lista de uma caixa (MANAGE VOIP SETTINGS; membros da apenas org, no máximo 25). As mensagens de uma caixa estão listadas, tocadas, marcadas e excluído apenas por membros que gerenciam servidores de telefone, em ambas as listas de correio de voz. Áudio (SP98-N-3). Configurações toca o envio que nomeia a mensagem exatamente (o helper agora envia <mailbox>/<msg id>), então o softphone emparelha por caixa de correio e tempo. Com nenhum dos dois, a mensagem em si é solicitada ao PBX: VoicemailAudioPede registro em Redis por dez minutos, a política puxa carrega-o como voicemailAudio, e o ajudante faz uploads de áudio da mensagem em A sua própria identificação. O jogador recebe 404 com uma razão: AUDIO REQUESTED, AUDIO NOT SENT (perguntou há três minutos, nada veio), HELPER OFFLINE ou AUDIO NOT OPLOADED. O softphone pede as mensagens que ele não pode emparelhar, então seu áudio chega Antes que alguém pressione o jogo. A lista por servidor agora dá a cada linha o seu ID (o jogador pediu /voicemails/<externalId>/audio, que não é um id, então ele nunca tocou) e seu caixa de correio, e lê as extensões uma vez em vez de por linha.
· kamo-internal
Ortografia fonética do nome da empresa e nome curto em Informação da empresa (SP94 T7)
Dois campos opcionais ao lado do nome da empresa e do nome curto, carregados de e Salvo para PUT /api/security/org/{id} como ******************* Uma caixa em branco é enviada como nula para que uma ortografia limpa seja realmente limpa. Eles são usados apenas para o texto que o motor de fala da IA recebe.
· AIService
E5 fala o nome da org e o nome curto na grafia fonética o conjunto org (SP94)
O modelo de fala é enviado a entrada do chamador com toda a menção de palavra inteira do nome de org ou nome curto substituído por sua grafia fonética (OrgPhoneticSpeech). O org é lido uma vez por pedido, após o pedido ser validado e antes do andar, assim cada candidato é enviado o mesmo texto, em ambos os caminhos do SP96 (a voz de pessoa ou ouvinte, e voz de um membro da IA). A tampa de 4096 caracteres e a medida CARACTERS 1K permanecer na entrada do chamador. Uma org que não é encontrado, ou não pode ser lido, é falado como escrito; uma leitura falhada é um AVISO.
· MCPGatewayService
Phone call diz claramente quando a política de saída da org bloqueia um número, e nomes texto ou e-mail em vez disso (SP93 T12)
O K6 recusa um número que o servidor de telefone bloqueia com 409 Blocked by outbund policy (SP93 T11). phone call agora responde como seu próprio status, com uma mensagem clara e back [sms send, mail send], ao lado NO VOice CONSENT, e a auditoria registra-o como negado, não ERRO.
· VOIPService
A política de gestão do PBX contém a lista de blocos de fraude (SP93 T7)
/internal/voip/pbx-config respostas bloqueadasPatterns, o servidor de telefone guarda como Padrões de asterisco * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * [kamo-toll-fraude bloqueada] contexto. Todos os guardas de fora respondem a uma lista vazia. A versão hash cobre a lista também, então ele se move quando um guarda faz (SP93-T7-1).
· SecurityService
Cap os dois nomes fonéticos da org na configuração PUT (SP94 T4)
titlePhonetic e titleShortPhonetic ride PUT /api/security/org/{id} sob o os mesmos direitos que título/títuloShort (proprietário ou CONFIGURE SYSTEM, nunca deus-modo Apenas). Cada um é fechado em 255 caracteres, recusado com 400 {error, campo} antes tudo é armazenado, como o nome do membroPhonetic é. GET /{id} já retorna a entidade inteira, então ambos aparecem lá sem nenhuma mudança. * * ****************real serviço da organização mais de um linha armazenada: o proprietário define ambos, um chamador sem o direito recebe 403, 256 caracteres em ambos são 400 nomeando o campo, 255 é armazenado, um PUT nomeando um deixa o outro, null clears, e o GET carrega ambos (null até set).
· KlusterServices
O portão de saída recusa um número do bloco de portagem-fraude (SP93 T9)
[kamo-outbound-gate] ganha um GotoSe no kamo-asterisco-suporte é gerenciado [lista kamo-toll-fraude bloqueada], entre a linha de transferência de IA SP13 e o Vá em frente, e um ramo (bloqueado) que marca OBBLOCK, toca o não disponível prompt e desliga com a causa 21. Uma chamada permitida sem guarda As partidas ainda terminam no mesmo Goto. 911 e 933 nunca chegam ao portão. **************** faz a mesma edição na corrida nó: uma edição guardada e idempotente do Goto do portal depois «; sp13:ai-xfer-outbound», recusa sem nada escrito quando essa âncora falta ou [kamo-toll-fraud-bloqueado] ainda não está na política gerenciada seção; ele faz backup, recarrega o plano de discagem e verifica o que Asterisco Carregado. O dispositivo é o arquivo k1m1 a partir de 2026-10-04.
· VOIPService
Os guardas de fraude do servidor telefónico para a verificação pré-voo do KamoAI (SP93 T6)
- Está bem. respostas {blockInternational, blockPremiumRate, blockHighRiskAreaCodes, blockedPrefixes} para um servidor de telefone, um servidor que não existe é 404 INSTÂNCIA NÃO ENCONTRADA. Guardado pela InternalAuthFilter como todas as rotas KamoAI.
· AIService
Remova o catálogo de voz charter, GET /api/ai/charter/voices (SP96)
A carta já não fixa uma voz: um membro da IA lembra-se de uma por modelo de fala, Ler e escolher em ******************* O editor da carta Voice Chocker foi o único chamador do catálogo (kamo-internal, SP96 Task 19), então o endpoint e VoiceCatalogService ir, com o seu teste. O /api/ai/charter/** A linha de acesso permanece para a antevisão. CharterPreviewControllerTest verifica cada controlador do serviço e falha se qualquer rota, um padrão incluído, respostas /api/ai/charter/voices novamente. AiAccessRulesTest samples /api/ai/charter/preview for the charter row instead.
· kamo-shared-library
Ortografia fonética do nome da org e apelido, para o discurso da IA (SP94 T3)
Organização.titlePhonetic / titleShortPhonetic (TITLE PHONETIC, TÍTULO SHORT PHONETIC, VARCHAR( 255), nullable), na lista de permissões do patchOrganização ao lado do título/títuloShort, e OrgPhoneticSpeech. forSpeech: uma troca de palavras pura, de uma única passagem, insensível a maiúsculas e completas do nomes de org para suas ortografias, nome mais longo primeiro, para API de fala do AIService somente. Necessidades SP94 A DDL do T2 foi aplicada na produção antes de ser empurrada.
· kamo-asterisk-support
Produza a lista de blocos de fraude como [kamo-toll-fraud-blocked] (SP93 T8)
A política de PBX agora carrega padrões bloqueados, a extensão Asterisco Os padrões dos guardas de fraude do servidor telefónico. Obter apenas mantém um sublinhado seguido de dígitos e dos caracteres N, X, Z e . wildcards (no máximo 40), então nada da resposta pode adicionar uma prioridade, uma aplicação ou um contexto ao plano de marcação. A Render Policy escreve- as como um terceiro contexto gerido ao lado os dois allow-lists; com cada guarda fora dele ainda define o contexto com padrão sem dígitos correspondem, então o DIALPLAN EXISTS do portão de saída é sempre seguro. Assinale os tópicos da lista através do PolicyWriter. Aplicar e registá-lo em uma mudança. Um Kamo que antecede o campo não envia nada, o que não bloqueia nada.
· VOIPService
Novas extensões começam conforme a configuração de saída do servidor de telefone diz (SP93 T5)
Uma nova extensão, a linha de uma pessoa ou de um membro de IA, agora começa a ser permitida a discar fora apenas quando a nova configuração do servidor de telefoneExtensionsOutboundAllowed estiver ligada. - AiVoiceAssignmentWriter.assign lê a configuração em vez do verdadeiro literal. Cada atribuição cria uma linha, então uma linha já está lá (sincronizada ou à esquerda negada por uma linha aposentada) também toma; claro ainda sempre nega. - Está bem. E... ele em uma linha eles criam, ler no máximo uma vez uma chamada; uma linha em cache bandeira, e A escolha do administrador nunca é tocada.
· VOIPService
A política de saída do servidor de telefone nas configurações de voz da IA (SP93 T4)
Vai e põe-te a andar. carregar SP93 cinco campos: newExtensionsOutboundAllowed, blockInternational, blockPremiumRate, blockHighRiskAreaCodes e blockedPrefixes (uma lista). Um prefixo personalizado é aparado, os espaços em branco são largados e são repetidos mesclados; cada um deve passar **************************** (1-15 dígitos, nunca 911, 933 ou um prefixo de ambos), no máximo 25, ou o PUT é 400 {field:blockedPrefixes} e nada é armazenado. Como todos os outros campos aqui o PUT é um todo substituição: uma bandeira ausente ou nula está desligada. Nada armazenado mostra o A política está desligada. Ainda MANAGEM VOIP SETTINGS sozinho.
· AIService
Os parâmetros de voz dos membros, para ler e escolher a voz de um membro de IA por modelo de fala
Tarefa 10 do SP96 (spec § 5. 5): - Está bem. os candidatos TTS do roteador para a IA (actor IA com o membro; nunca AiCallRuntime. guarda, então uma IA pausada ou aposentada lê), aqueles que um adaptador de fala serve, modelo preferido primeiro: caminhada de E5. Cada modelo tem sua voz lembrada, decidir() próxima voz sem nada escrito, e as vozes compatíveis melhor nível primeiro; linhas em modelos não oferecidos estão listadas não disponível. - Põe-te a andar. Voz preferida? voz (o chamador, o sexo na picareta), em seguida, o modelo usado primeiro, em um transação (MemberVoiceWriter, @Transactional @RetryOnDbConflict, no HTTP). Preferir um modelo sem linha lembra a primeira escolha do E5, não falada. - Está bem. a mesma vista, canChange false, por trás do X-Internal-Auth (InternalCaller). - Leia-se: GESTÃO MEMBROS, GESTÃO MEMBER SECURIDADE, GESTÃO EMPREGO, VER AI WORKFORCE, ou SUPERVISE AI MEMBERS como seu supervisor. Alteração: GESTÃO AI WORKFORCE, ou seu supervisor com SUPERVISO AI MEMBERS. Nunca o IA Ele próprio. Recusas em falta, membros não encontrados, modelos não disponíveis, VOZ: NÃO: OFERECE, VOZ: NÃO: COMPATÍVEL, RETIRADO. - AiAccessRules: /api/ai/members/** é uma rota de membro; o controlador decide.
· MCPGatewayService
Uma solicitação verificada de alguém que pode aprovar é a aprovação: uma linha ON REQUEST, a ação imediatamente, seu resultado no K3b (SP95 T34)
Quando a carta pede aprovação e a IA cita um pedido verificado (a pedido), O K3 é perguntado com o modo ON REQUEST, o solicitante e a referência. Uma linha homologada deixa a ação correr imediatamente; ainda passa os limites ea porta de extensão, e o que veio a ser relatado no K3b (EXECUTED, ou FALHOU com o seu estatuto e mensagem, antes da chave ser libertada). Um resultado ambíguo é deixado para o tique, que re-executa sob a mesma chave. K3'S NOT AN APPROVER, PEDIDO USADO e SHADOW, uma recusa suave e um SHADOW charter perguntar a uma pessoa como antes, e a resposta diz por que (a pedido de {aceitado: falso, razão}). FORBIDEN ainda recusa, e uma ação que não precisa de aprovação escreve nenhuma linha ON REQUEST. Uma corrida a seco pede ao K3 em X- Kamo-Dry-Run e Não escreve nada. Uma aprovação ON REQUEST re-executada mantém o portão de extensão (modo K4).
· kamo-shared-library
Política de saída por telefone-servidor e Política de saída (SP93 T3)
Tarefa 3 do SP93 (spec § 5. 2, D1, D4- D6): - AiVoiceInstanceConfigurações ganhos **************************** Block international, BLOCK PREMIUM RATE, BLOCK HIGH RISK AREA CODES (booleano, NÃO NULL DEFAULT falso) e BLOCKED PREFIXES (VARCHAR( 500) NOT NULL DEFAULT ''), mais bloqueadoPrefixList(). - Nova Política de Saída Pura: o registro Configurações, o FCC 'One Ring' de alto risco NANP códigos de área, os códigos de taxa premium 900/976, isValidPrefix (1-15 dígitos, nunca 911, 933 ou um prefixo de ambos), dialPatterns (os padrões de Asterisco para [kamo-toll-fraude-bloqueado], em uma ordem fixa, cada uma vez, prefixos armazenados inválidos queda) e blocos (faz um padrão renderizado corresponder aos dígitos de discagem PBX da IA), então o PBX e uma verificação de IA antes do voo nunca discordam. As cinco colunas devem existir (aplica-se a DDL da Tarefa 2 do SP93) antes que isso chegue ao principal.
· MCPGatewayService
Uma IA pode citar o pedido em que atua (onRequestOf), verificado lendo-o; uma mancha de corrida diz de onde veio (SP95 T31)
Cada IA escrever que pode precisar de aprovação toma o opcional onRequestOf (chat:<conversation>/<mensage>, tarefa:<item>, tarefa:<item>/comentário:<id>) em ferramentas/lista. O oleoduto tira-o antes do esquema verificar, o planner e o hash args, e RequestVerifier lê a referência como AI (D20): uma referência forjada ou externa recusa a chamada (INVALID ARGUMENTS PEDIDO NÃO Verified + porquê, chave liberada); uma verdadeira que está estagnado, não esta execução ou em uma execução contaminada externamente é um recusa; um verificado vai para o planejador no plano padrão (ToolPlan.Verified Request). Uma corrida a seco reporta sobrePedido de. aceite. As aprovações são inalteradas até a Tarefa 34. RunTaint ganha uma fonte: chat lê de uma equipe CHAT cujos autores são tudo na equipe da org manchar a corrida INTERNAL; todo o resto é EXTERNA, que por si só bloqueia um pedido citado (D22).
· AIService
O resumo diz para qual empresa a IA trabalha, e diz uma chamada para um colega (SP95)
O perfil de charter SecurityService envia agora carrega orgName, o org é falado nome (curto nome, outro nome de exibição, outro nome legal; SP95 D15). O processo é... a linha de identidade fecha com "Você trabalha para <orgName>." quando não está em branco, então não A marca é sempre escrita no resumo à mão. orgName faz parte do perfil impressão digital, então uma org renomeada recompila suas cuecas de IA. LOCAL INTERNAL CALL (SP95 D1) lê-se "Chamar colegas" nas aprovações e Seções de escalada; o braço padrão de T1 permanece para futuras classes. CharterCompiler.VERSION se move para sp95-1, como sua própria regra pergunta quando o texto muda, então uma persona de título de trabalho também pega o novo rótulo uma vez. CharterSnapshotA contagem de aprovações do teste segue AiActionClass em vez de pinning 18: LOCAL INTERNAL CALL de compartilhamento-lib faz 19.
· VOIPService
O ficheiro DDL da política de saída do servidor telefónico
Tarefa SP93 1. Cinco colunas NÃO DEFAULTAS NULL sobre AI VOZ INSTÂNCIA: **************************** BLOCK INTERNATIONAL, BLOCK PREMIUM RATE, BLOCK HIGH RISK AREA CODES e BLOCKED PREFIXES, todos em falta para hoje comportamento. Sp93DdlContractTest fixa o arquivo para especificar 5.1 e verifica cada coluna é re-runnable, carrega o seu DEFAULT na sua própria cláusula, e que Não há nenhum cheque, JSON ou DROP.

Seu universo está esperando.
Comece gratuitamente em minutos.Adicione produtos sempre que estiver pronto — sem migração, sem novos logins.
Gratuito para sempre — não é necessário cartão de crédito