콘텐츠로 건너뛰기
KAMOUniverse

변경 로그

무슨 일이야?

플랫폼에 대한 모든 개선 사항, 그것이 선적.

  1. · SecurityService

    릴레이 conditional-LLPA 승인

    릴레이 POST **************** org-stamping 쓰기 도우미를 통해, 그래서 스튜어드의 저자는 자신의 임종만을 조정합니다.

  2. · kamo-internal

    Bulk-reassign 선택한 리드 팀 멤버

    그리드는 이미 멀티 선택 체크 박스를 가지고 있지만 선택을 할 필요가 없습니다. 체크링 행은 이제 다른 리드 행동, 게이트를 제외하고 재 할당 조치를 나타냅니다. REASSIGN LEADS MANUALLY에 대하여 (서버 재검사; 이것은 단지 편익입니다). checkRole보다는 checkRight를 사용하므로 신 모드는 백엔드의 hasGod와 일치합니다. bypass — checkRole은 우회하지 않으며, 새로운 사용자를 위해 격투할 것입니다. 대화 상자는 검색으로 한 목적지 회원을 선택, 옵션 메모를 가지고, 회원이 이메일되기 때문에 회원이 이메일을 받게되는 것을 말한다. 이름 * Hot Reassign의 오렌지/핑크 보다는 오히려 Indigo/blue: 이것은 입니다 deliberate 대량 admin 활동, 긴급 전화 전송. 헤더 체크 박스는 클라이언트 측 그리드의 모든 행을 선택합니다 - 수천 큰 org — 그래서 250 모자는 여기에 시행됩니다. 그렇지 않으면 headline "select all and reassign" 흐름은 사용자가 한 후 서버 측에 실패 전체 대화 상자에서 채워, untranslated 오류. Selection is cleared through selectedIdsRef before reloading: loadLeads re-selects that ref 보유, 그래서 그것을 떠나는 것은 재 검사 그냥 이동. 결과 메시지는 다른 체인보다 오히려 구성된다, 일괄 처리는 부분과 불평화 될 수 있기 때문에 체인 만보고 첫 번째.

  3. · SecurityService

    REASSIGN LEADS MANUALLY에 게이트가 있는 Bulk-reassign 엔드포인트

    POST ***********는 1개의 팀에 지도의 배치를 이동합니다 회원 및 이메일 전체 일괄 처리. Authorization는 REASSIGN LEADS MANUALLY (149)를 사용합니다. 이. PUT /leads/{id}의 단일 리드 경로보다 엄격합니다. 검사 ASSIGN LEADS; 백 리드를 할당하는 것은 다른 폭발 반경 1개의 재 할당에서, 그리고 2개의 권리는 존재합니다 그래서 그들은 출발할 수 있습니다. 지정할 수 없는 계층은 여기에 시행됩니다. 할당은 가시성 부여 : 한 번 리드는 콜러에 할당되어 "나에게 할당 된"라고 읽습니다. 할당되지 않은 403을 들어 올리고 contact-info 마스크를 건너 뛸 수 있습니다. 이 149의 콜러를 체크하지만 VIEW UNASSIGNED LEADS가 자기 할당 리드를 할 수 없습니다 그리드는 그들에서 숨기고 완전히 읽을 수있는 것들을 감아냅니다. 뚱 베어 리드 보고서 NOT FOUND - 자신의 그리드 쇼와 일치 - 그래서 응답 숨겨진 또는 외국 리드를 enumerate 할 수 없습니다. 일괄 처리는 deliberately not all-or-nothing: 각각의 할당은 자체에서 실행 거래와 나쁜 ID가 건너 뛰기 때문에, 9 좋은 10위 이상의 재 할당은 보고보다 악화되지 않았다. 행 잠금과 실시간 팬 아웃을 모두 경계하기 위해 호출 당 250에 캡핑. notifier는 별도의 bean을 통해 짧은 거래에서 데이터를 해결합니다. 그리고 나중에 보낸다, 그래서 아웃바운드 호출 30s 읽기 타임 아웃 결코 핀 CRDB 연결. bean 경계는 또한 @Transactional 만드는 것입니다 모든 것에 적용 - 자기 직업은 침묵적으로 거래없이 실행하고 LAZY 사용자 협회가 던질 것입니다.

  4. · EmailService

    LEADS ASSIGNED 템플릿에 대한 샘플 변수

    Admin Template editor의 Preview가 새로운 템플릿을 렌더링하지 않고 모든 placeholder 공백으로, 오히려 깨진 템플렛으로 읽습니다 불완전 한 것. NoteBlock는 렌더링기가 없는 HTML을 미리 렌더링합니다. 조건 — sender는 메모가 없을 때 ""로 붕괴합니다.

  5. · kamo-shared-library

    LEADS ASSIGNED 이메일 템플릿; 대량 사용을 위해 할당

    assignLead는 제로 텔러가 없었다. 배선하기 전에 대량 재 할당 경로, 그것을 제공 보증 그 경로 필요: - orgId를 가져 와서 BOTH를 확인하고 새로운 할당자는 그것에 속한다, 그래서 reassignment는 열거의 맞은편에 도달할 수 없습니다 ( "찾지 않음"으로 오히려 "forbidden"그래서 오류는 외국 리드 에이즈 프로브에 사용할 수 없습니다) - findByUidForUpdate로 행을 잠그십시오: 수동 재 할당 및 동시 풀 수락은 동일한 지도를 표하고 그렇지 않으면 분실될 것입니다 (주) - 풀 플래그, 미러링 CreditLeadAssignmentService를 지우십시오. 표시된 리드 자동 할당은 그렇지 않으면 손에 의해 주장 한 후 풀에 유지 을 얻 아웃 서 그 새로운 owner - UpdateLead로 채팅 라우팅을 게시했습니다. 채팅은 이전 임원과 함께 체류하는 대신 리드를 따릅니다. 또한 LEADS ASSIGNED canonical 템플릿을 추가합니다. 열쇠는 안으로 있어야 합니다 CANONICAL KEYS 또는 씨앗이 될 수 없으며 스스로 치유 할 수 없습니다. 영구 404을 반환합니다.

  6. · kamo-shared-library

    MANAGE ORG BRANDING 추가 (174)

    Org 브랜딩 엔드 포인트 (로고, 색상, 배경, 테마 제공)는 소유자 또는 고드 만, 위에 핸딩하지 않고 브랜드를 delegate하지 않는 방법을 떠나 org의 소유권. delegable right 추가; 소유자는 그대로 유지 implicit grant 그래서 기존 소유자는 할당되지 않고 작동 유지.

  7. · kamo-internal

    카탈로그 패널의 권한 매트릭스

    시나리오의 점령과 목적에 대한 매트릭스 없이, 가격은 NO COVERAGE를 반환합니다. 그래서, 단지 1 차 거주의 구입은 가격이 될 수있다. 양식 저자 선택된 한계 종류, 점유 및 목적, add/remove 세포를 위한 matrix 그리고 그것의 세포 같은 패널에서 lock-policy 형태와 함께 행. ACTIVE 제품 당 1개의 matrix를 허가하는 제품, 때문에 매트릭스의 제품 범위는 NULL이 아니며 단일 행으로 "모든 제품"을 표현할 수 없습니다.

  8. · SecurityService

    릴레이 eligibility-matrix 승인; SUSPENDED 이력서를 다시 만들

    릴레이 POST **************** 기존의 org-stamping 쓰기를 통해 도움자, 그래서 스튜어드 저자는 자신의 신약을 위해 매트릭스. 이 푸시는 또한 SUSPENDED 대출 이력서를 할 수있는 공유 형 변경에 대한 재건. kamo-shared-library는 자체의 CI가 없습니다 - 각 서비스 복제 및 소스에서 빌드 - 그래서이 서비스는 단지이 서비스를 다시 구축 할 때이 서비스를 해결합니다.

  9. · kamo-internal

    에이전트 스튜디오를 전체 폭 작업 공간으로 재구성

    폭 모자를 제거하는 것은 고침이 아닙니다; 디자인될 필요가 있는 배치 자체 그것에서 tolerated 보다는 오히려 공간을 위해. 스튜디오는 이제 세 개의 영역 측면에 의해: -**Outline Rail** - 현재 하나가 스크롤한 섹션 (IntersectionObserver, top-weighted 그래서 섹션은 그 헤더 때 현재된다 주의가 실제로 있는 곳에 도달하십시오. 손으로 쓴 섹션은 표시되어 있으므로 hand-written 부속은 매번 오프닝 없이 나중에 찾아낼 수 있습니다. - **Editor** - 섹션 자체, 많은 컬럼으로 활용 viewport는 1개의 좁은 리본 대신에 붙듭니다. - **Live 대화 ** - 넓은 디스플레이의 실제 열은 스트립이 아닙니다. 열릴 때 콘텐츠를 붕괴합니다. 이것은 편집 및 시계 루프 스튜디오 존재 : 지시를 변경, navigating없이 응답 변경을 참조하십시오. 하나의 TestDrivePanel 인스턴스, 복제 대신 재 배치 — 설치 두 번은 두 번의 탈출 세션을 시작합니다. 아래 xl 편집기 아래에서 삭제 방이 없는 디스플레이에 3개의 열을 짜내는 것 보다는 오히려 가득 차있 폭 줄 하나, 그리고 가로장은 작은 스크린에 전적으로 숨깁니다.

  10. · kamo-internal

    저자 잠금 정책 - 하나없이, 아니 속도는 모두에 잠글 수 없습니다

    RateCommitmentService는 가격이 책정될 때마다 잠금을 거부합니다. lockPolicyVersionId ("lock-policy version is required"), 그리고 그 결과는 경우에만 나릅니다 투자자는 출판된 lock-policy 버전이 있습니다. UI가 하나 게시 할 수 없습니다, 그래서 속도 잠금 모든 종족에 대한 제한이 없었습니다. 그러나 종점 자체가 이미 내장 된 동안, org-gated 그리고 제대로 supersed. 클라이언트 방법 만이 양식이 누락되었습니다. 이 양식은 FIRST가 되기 때문에 주문된 목록으로 제공되는 잠금 기간이 걸립니다. 기본적으로, 그래서 그것을 deliberately 분류하지 않습니다; 긍정적 인 전체 항목 며칠의 수는 나쁜 자물쇠 기간으로 보내지 않기 때문에 떨어졌습니다.

  11. · kamo-internal

    각 대리인이 하는 방법 보기

    에이전트 스튜디오의 상단에 성능 섹션을 추가 : 대화, 방법 자주 묻는 질문 그래서 그림은 무연 할 수 없다 : - Zero는 단어 'None', 절대 0으로 렌더링합니다. - 디노미네이터가 있을 때만 공유 렌더링합니다. 그렇지 않으면 대화가 없습니다. 아직 비교합니다. 0-denominator 비율이 없습니다. - 기간에 아무것도 가격을 수행 할 때, 아니 비용 숫자는 모두에 표시됩니다 - 트래픽이 일어난 후 가격이 설정된 설명. 회사연혁 적용은 금액과 얼마나 많은 replies가 그것에서 누락되는지 보여줍니다. - Suppressed outreach는 기능으로 제시됩니다 : '그들은 계속 유지됩니다. 목적 - 누군가가 연락하지 않은 이유의 기록입니다. - 알려진 enum codes degrade to readable text 오히려 원시 키 경로. per-version 메시지와 handoff 열이 제거되었습니다. API는 집계하지 않습니다. 버전 당 그들, 그래서 그 세포는 그것으로 날조된 0을 측정되었습니다. 대화만으로 테이블이 저장되는 것을 대답합니다. 핸들링을 복사합니다. 새로운 탭보다 오히려 기존 스크롤 스튜디오 문서로 접어, 에이전트 목록에서 유지, 모든 에이전트에 대한 베어 0 정확한 부정 행위.

  12. · AIService

    시약 scorecard

    각 대리인은 실제로 했습니다: 대화는, 얼마나 자주 사람이 위에 가지고 있던지 그리고 왜, outreach outcomes는 다시 개최, 그리고 그 비용. 각 수는 1개의 자료는 실제로 지원할 수 있습니다. 세 가지는 deliberately 참고 : - ** 토큰 합계 없음.** 그들은 sync 경로에 실제와 직물 하나의 스트리밍 (content.length()/4), 그래서 모든 합계는 일부 발명. 비용 답변 솔직히 동일한 질문, 오히려 추측하는 것 보다는 오히려 가격은 알 수 없습니다. - **필립 또는 편향율 없음.** 아무것도 대화를 관찰 잘 끝내고, '핸드오프가 발생하지 않았습니다'는 성공의 증거가 아닙니다. - ** 변환 메시지 또는 손전등 수 없습니다. ** 그들에 의하여 집계되지 않습니다 버전, 그리고 0을 방출 그들에 대 한 패브릭 렌더링 될 것 이다 측정 - 정확한 실패 이 스크린은 피하기 위하여 존재합니다. Cost는 명시된 추적 플래그와 0 미만의 null 금액을 나타낸다. 창문에서 아무것도 가격이 책정 된, 그래서 트래픽을 미리 업데이트 가격보기를 org confident $0.00 대신 ' 기록되지 않음'. pricedCalls는 오히려 권위입니다 정상보다, 그래서 가격 무료 계층 통화에서 진짜 0은 여전히 읽습니다 로드 중. Transcript prose는 VIEW SALES AGENT TRANSCRIPTS에 별도로 문질러져 있습니다. counts - 특정 방문자의 모델 요약은 대화 내용, 아니 미터. 트래픽이없는 대리인은 구조적으로 빈 scorecard를 완료합니다. 목록에서 누락 된 에이전트는 버그로 읽습니다, 제로와 함께 에이전트가 읽습니다 진실로. parseHandoffArguments 는 이제 채팅 경로와 공유됩니다. 그래서 OTHER에 발명 된 이유의 coercion은 두 사이에 드리프트 할 수 없습니다. 스위트는 150의 시험, 녹색입니다.

  13. · kamo-shared-library

    대리인 scorecard를 위한 그룹화된 집계 수표

    세션, 메시지, 사용 기록 및 아웃바운드의 @Query 집계 터치, 그래서 득점 카드는 적재 행 보다는 오히려 그룹화된 쿼리의 손이입니다 기억에. 두 속성은 콜러에 왼쪽보다 우선적으로 시행됩니다 : - ** 테스트 세션은 쿼리 자체에서 제외됩니다.** 젊은 대리인에 저자의 자신의 테스트 드라이브는 그렇지 않으면 데이터의 대부분이 될 것이며, 누구에게 필터를 잊을 수 없는 숫자를 만들 수 없습니다. - **count(costEstimate)는 NON-NULL 비용만 계산합니다.** 그것은 무엇을 할 수 scorecard는 'nothing was priced'를 'it cost Zero'로 구분합니다 - collapsing 그 트래픽이 단순히 org의 앞에 $ 0.00를 넣어 이전 가격. 아웃바운드 터치는 필터링하는 것보다 결정에 의해 그룹화됩니다. 더 보기 refusals는 더 흥미로운 절반입니다: 그의 접촉은 거의 모든 대리인 SUPPRESSED QUIET HOURS는 잘못 구성되며, 디코더가 보이지 않는 경우 관련 기사.

  14. · kamo-internal

    각 모델 비용의 편집

    공급자 설정 화면에 per-model 가격 편집 추가. 가격에서 씨앗 각 납품업자의 출판 목록 가격 우리가 그것을 알고, 우리가하지 않는 공백 - 공백은 단순히 그 모형을 위해 추적되지 않습니다, 더 나은 자신있게 잘못되는 수. Copy는 사람들이 자신의 청구서에 대한 묘종을 확인하는 것을 말한다. 저자로서 그들을 선물. 리뷰에 붙은 디스플레이 버그 수정 : trailing-zero 트림 렌더링 10의 가격 1. 그것은 이제는 소수점 후에 단지 영을 벗깁니다.

  15. · AIService

    모델 가격 카탈로그, 쓰기 경로 및 backfill

    비용 회계는 결코 작동하지 않을 수 있었습니다: AiModel에는 가격 란, AiModelController가 있습니다 그들에게 읽고 ChatOrchestrationService는 costEstimate를 계산하기 위해 그들을 읽습니다. 그러나 NOTHING은 어디서든 썼습니다. 모형은 공급자 discovery에 의해 창조됩니다, 및 공급자 API 반환 가격 없음. 140 모델, 0 가격, 그 경로 없음 변화할 수 있었습니다. 열은 구조적으로 접근할 수 있었습니다. 3개 부품: - ModelPricingCatalog Seed 공급 업체 LIST 가격 발견, 일치 hyphen-boundary prefix 규칙을 가진 정상적인 식별자는 so gpt-4는 결코 할 수 없습니다 gpt-4o를 주장합니다. Non-chat 모델(TTS, embeddings, realtime)은 거절됩니다. 기존의 modality 검사를 재사용 - 그들은 다른 시트를 빌려. - PATCH endpoint + UI 그래서 org는 가격을 정확하거나 명확하게 할 수 있습니다. Org-scoped 정확히 기존 DELETE처럼. - 백필은 NULL 열만 채우고, 컬럼 당, 독립적으로, 결코 org가 설정 한 것을 덮어 - 그렇지 않으면 가격 편집 가능 이름 * Idempotent, 그래서 비용 회계는 부팅을 막을 수 없습니다. ** 모델에 대해 확신하지 않은 것은 아니 가격보다 오히려 추측 한 것.** GPT-5, o3, 대부분의 Mistral, DeepSeek, xAI, Cohere 및 Meta는 deliberately 공백입니다; OpenRouter와 HuggingFace는 디자인에 의해 결코 일치하지 않습니다, 그들은 자신의 요금을 청구하기 때문에 업스트림 가격 상속은 추측 될 것입니다. 잘못된 가격 자신감을 갖는 송장 모양의 인물 - 동일한 이유 비용은 여전히 스트리밍 경로에 비교하지 않고, 토큰 수는 제작됩니다. 1k 열에 변환은 RoundingMode를 사용합니다. 목적에 대한 UNNECESSARY : 가격 6 소수 이상 필요는 침묵적으로 저장하기 보다는 오히려 클래스 init에 던져 이유는 왼쪽 공백입니다. 스위트는 145 시험, 녹색입니다.

  16. · kamo-internal

    AI Handoff 컨텍스트를 통해 복용하는 에이전트로 표시합니다

    AI HANDOFF 시스템 이벤트를 이유가있는 카드로 렌더링, AI의 요약, 그리고 지금까지 대화의 접을 수 있는 성적표 - 그래서 납세자는 자주 묻는 질문 3개의 degraded 국가는 똑똑하고 가시적이지 않습니다: 성적표 unavailable, transcript truncated, 그리고 transit에서 벗겨지는 payload. 에이전트는 그들이하지 않을 때 그들은 풀 컨텍스트를 갖지 못한다. 방문객과 에이전트는 하나의 STOMP 주제를 공유하므로 라이브 프레임은 적정 (the redacted)에 도착합니다. AI의 요약은 방문자의 개인적 평가이며 그들의 갈 수 없습니다. 사이트 맵 다시로드하는 에이전트를 말하는 것보다, 카드는 전체 행을 다시 읽습니다. 자체 인증된 엔드포인트에서 한 번. re-read는 전에 유효합니다 채택 - 여전히 스트링 된 응답은 사용보다 오히려 거절된다, 그래서 경고는 사실이 얻은 때만 명확하게 할 수 있습니다. 어떤 실패 reload 메시지로 돌아갑니다.

  17. · APIService

    Public AI->human 핸오프 루트 프록시

    POST 추가 ************** MediaService에 proxied createSupportSession sibling에 따라. 이 Handoff 기능없이 도착에 죽었다 : MediaService의 엔드 포인트 X-Internal-Auth, X-Public-Chat-Org-Id 및 X-Public-Chat-Key-Hash가 필요합니다. 이 게이트웨이 인젝스 만, 그래서 위젯의 POST 404'd 여기에 결코 내 계정 같은 조건 *** 가드 as createSupportSession. Handoff 실행 전체 세션 목록 경로, 그래서 그것을 프록시는 왼쪽이 증명을 통과하는 표 선택 경로는 sibling 시행.

  18. · MediaService

    핸프오프에 인간의 실로 AI 대화를 실시

    지원 세션을 생성하거나 재사용하고, AI 성적표를 한 시스템으로 복사 이벤트, 그것을 경로, 그리고 다음에 무슨 일이 있었는지 정직한 방문자를 말한다. Confidentiality는 청중에 의해, 첫번째 통행은 뒤로 얻었습니다. 더 보기 AI의 요약 및 reasonDetail은 방문자의 개인적 평가, 그리고 전체 페이로드는 2 개의 REST 문을 통해 방문자의 자신의 브라우저에 도달하고 대리인이 아무것도 본 동안 STOMP 구조. Redaction는 이제 모든 것에 적용됩니다. 방문 경로; 지속된 행은 대리인을 위한 가득 차있는 payload를 지킵니다. chat.session.{guid}는 하나의 주제로 관객이 구독하고, 그래서 라이브 프레임은 방문자가 볼 수 있는지 확인하고 에이전트 UI가 전체 행을 다시 읽습니다. 자체 인증된 엔드포인트에서. Idempotency는 aiSessionGuid, org-scoped에 열쇠가 되고, BEFORE 창조를 검사했습니다 이름 * 세션에 키우고 생성 후 확인 - 명백한 모양 - useless 정확하게 때 그것 사정: 세션을 잃는 재기 토큰은 항상 체크를 통과하고 중복 티켓을 생산하고 두 번째 에이전트 사이트 맵 transcriptAttached 이제 실제로 무슨 일이 있었는지 보여줍니다. 그것은 이전에 돌아 왔습니다. 쓰기가 조용히 실패했을 때도 진실한, 가능한 최악의 조합: 방문자는 그들의 컨텍스트가 맞았다고, 대리인의 실은 입니다 빈, 그리고 파티는 알고. Copy-on-handoff, 마이그레이션되지 않음: AI는 분석이 그들을 읽는 곳에 체재합니다.

  19. · AIService

    Agent-initiated handoff 에 인간의, 와 context

    AI는 이전에 사람을 요청할 수 없었다 : 에스컬레이션 규칙은 모델에 도달 컴파일 된 프롬프트를 통해, 그러나 기계 읽기 쉬운 신호가 없었다, 그래서 모델은 SAY만이 누군가와 아무것도 일어나지 않을 수 있습니다. - 합성 kamo request human 도구, 에이전트 자체 활성화에서 설명 escalation 규칙 제목 그래서 모델은 같은 트리거 조건을 참조하십시오 신속하고 도구. MCP 파견 이전에 Intercepted - 신호가 아니라 실제 도구 호출 - TOOL 행은 persists는 내구성이 강한 이유입니다. and analytics-ready 와 제로 새로운 열. - 채널이 실제로 지원이 활성화되면 ONLY에 첨부. 손 핥기 AI-only org 결코 도착 할 수없는 인간을 약속하는 도구는 더 나쁘다 도구가없는 : 위젯은 지원 탭이 없습니다, 그래서 신호가 떨어지고 방문자는 결코 오지 않은 누군가를 기다리고 있습니다. - 새로운 내부 엔드포인트는 핸즈프리 이유를 반환, AI의 요약 누구든지 USER/ASSISTANT 성적표 TOOL 및 시스템 행은 제외 - 인간은 대화를 필요로, 기계가 아닙니다. - reasonDetail and Summary는 방문자의 브라우저에서 deliberately 입니다: 그들은 방문자의 모델의 개인 평가입니다. 단지 {requested, reason}는 클라이언트에 십자가; MediaService는 나머지 서버 측을 fetches. - AI는 결코 이동하거나 삭제되지 않습니다. AiChatMessage는 분석 시스템을 유지 기록; 인간적인 측은 사본을 얻습니다. 또한 길에 발견 된 후진 버그 수정 : 도구 블록은 per-model을 무시 supportToolUse 플래그, 그래서 모델은 명시적으로 도구가 지원되지 않는 한 조각 아직도 그들을 보냈습니다. 140 모델의 31은 false를 파고 있습니다. ai mcp server configs는 빈 클러스터 전체, 그래서 오늘 폭발 반경 0입니다. Suite는 124의 시험, 녹색입니다.

  20. · MediaService

    에이전트-authored outreach를 개방형 차용기 스레드로 허용

    AIService의 outreach 파견자 호출. 그것 없이 outbound 경로는 기록된 404에서 종결했습니다 - 문은 접촉을 허가했습니다, 메시지가 구성되었다, 그리고 거기에 그것을 넣어. 소유권은 deliberately를 분할합니다. AIService는 WHETHER에게 터치를 결정합니다. 그리고 텍스트를 작성, 이 서비스 장소. AIService에서 이러한 행을 쓰기 채팅을 소유하지 않는 서비스의 transcript의 포크 소유권 테이블 또는 소켓. 두 가지가 없습니다. 대화를 결코 만들지 않습니다 - outreach는 다시 시작할 수 있습니다. 스레드 방문자 이미 열렸다, 결코 누군가에 채팅 창을 conjure 아니. 그리고 그것은 orgs를 교차하지 않습니다 : 다른 org의 티켓에 대한 납 제거 다른 org의 대화 안쪽에 1개의 org의 대리인을 둘 것입니다, 그래서 org는 입니다 콜러에서 신뢰할 수있는 티켓에 대해 확인. 이 메시지를 나눔으로써 Session member, exactly as a visitors message. - 할당 된 인간 임원에게는 아닙니다. AI-composed 메시지 렌더링 이름이지만, 라이센스 사람이 쓴 것은 AI-disclosure 규칙이 존재한다는 것입니다. 기타 제품 keepSubscription은 소비자가 사용되기 때문에 NATS 게시를 전합니다. 전달 정책. 새로운: 첫 게시는 메시지를 지속하지만 그것을 드롭 모든 연결 클라이언트. id와 messageId를 모두 반환하므로 outreach 감사 로그 스레드 보다는 오히려 메시지를 참조합니다. 열려있는 실이 존재하지 않을 때 404, 그래서 콜러는 assuming 납품 대신 깨끗한 실패를 기록합니다.

  21. · AIService

    아웃바운드 트리거, 스케줄러 및 웹 채팅 파견

    Outreach 회전을 실제로 불을 만듭니다. 문, 접촉 국가, 동의 및 감사는 이미 존재; 아무것도 평가 될 터치 발생. - 자체 k8s/configmap.yaml (각 Java 서비스)를 통해 AIService에 NATS 활성화 k8s dir; KlusterServices는 클러스터 인프라만 보유하고 있습니다. 제트스트림 deliberately left off: NatsConfig는 자체 복제 요인을 주장한다. 시동에서 중앙 감독 된 스트림, AIService는 핵심에만 가입 NATS 및 게시 아무것도, 그래서 그것을 얻을 수 없습니다 및 두 번째 위험 서비스 asserting 복제 수. - AgentOutboundConsumer는 security.leads.rt.>를 구독하고 ONLY를 소비합니다. LEAD CREATED/LEAD UPDATED. 한국어 출판사는 또한 잠금 및 통계 이벤트를 방출 - colleague가 기록에 편집 잠금을 했다 때문에 사람에 도달 실패하지 않습니다. Ids는 출판사에서 문자열로 도착합니다. asLong() 보다는 오히려 텍스트로. - AgentOutboundScheduler는 4개의 경계 아래에 일정 방아쇠를 평가합니다: org 세트 실제로 (capped)에 outreach가있는 에이전트에서 파생 된 얇은 슬라이딩 시간 슬라이스 그래서 비용 트랙 새로운 리드 속도 오히려 총 리드보다, per-tick 행 모자, 그리고 re-evaluation 댐퍼 그래서 조용한 시간 동안 리드 크로스는 retried 1 일 동안 모든 진드기보다 한 번. - 구성 씨앗 textPPUBLISHED 버전의 컴파일 된 프롬프트와 함께 완료, 결코 초안, 그리고 트리거 의도. 구성 실패는 FAILED를 기록합니다; 삭제 된 메시지가 없습니다. - WEB CHAT 파견은 기존 스레드만 계속됩니다. Outreach는 재시작할 수 있습니다. 방문자가 열렸다; 그것은 누군가에 채팅 창을 conjure 할 수 없습니다 아무도 열지 않았다. - SMS/EMAIL/SOCIAL DM 경로를 기록한 FAILED naming에 누락된 수락 배관, 그래서 SMS에 방아쇠를 지적하는 것은 왜 outreach 로그인에서 볼 어떤 일이 일어나지 않는 즉시. 23개의 새로운 시험; 스위트는 68와 녹색입니다.

  22. · kamo-internal

    필수 텍스트 편집기; dedupe AI 일반 설정; 수정 모델 toggle

    Org-wide required opening/closing text 편집기 추가 - 컴파일러 및 열은 존재하지만 아무것도 설정할 수 없었다, 그래서 기능은 죽은이었다. 관련 기사 일반적으로 에이전트가 제거 할 수 없으며 그 저장은 모든 것에 적용됩니다. 에이전트는 즉시, 토스트는 많은 에이전트가 오히려 재발견 된 방법을보고 'Saved'보다는 라이브 에이전트가 그들이 말하는 것을 변경하기 때문에. 길을 따라 발견 된 두 개의 사전 컴파일 버그 : - 'Auto-select best available model' 스위치가 작동하지 않았습니다. 오시는 길 data.autoSelectModel를 읽고 autoSelectModel를 보내, 하지만 백엔드 반환 및 autoModelEnabled를 기대합니다 - 그래서 toggle는 항상 진실하고 그것의 가치이었습니다 모든 저장에 해제. 고정 frontend-side; 서버가 필요하지 않습니다. - AiGeneralSettings.tsx는 죽은 코드, 결코 수입되지 않았다, 동사적 인라인 동안 securityModelsTab.tsx의 바닥에 살짝 살았습니다. 구현보다 더 필요한 텍스트 두 번, 중복 삭제 및 SecurityModelsTab 가져 오기 공유 구성 요소. 또한 판매 시약 도움말 팁을 대체합니다. 즉, 사용자가 기능에 대해 말했습니다. 자세히 보기.

  23. · AIService

    Persist org-wide 필수 텍스트 및 즉시 적용

    AiOrgSettings 주어진 forcedPreamble/forcedFooter 및 SalesAgentCompiler 이미 모든 에이전트로 접을 수 있지만 설정 컨트롤러는 읽지 않고 썼습니다. 그들 - 그래서 기능은 죽은이었다: 저장은 성공에 등장하고 다시 와서 reload에 공백. 이제 필드를 모두 반환합니다 (설정 기본 포함) 및 PUT persists, 정상적인 blank to null 그래서 필드를 정리 실제로 그것을 명확 오히려 빈 문자열을 떠나는 것보다 stray 분리기로 접힙니다. 필수 텍스트는 이제 효과 IMMEDIATELY, recompiling 및 republishing org의 모든 출판 에이전트. 각 에이전트의 다음 게시에 적용하자 더 저렴하고 함정은: 'always say를 추가하는 관리자는 자동화 조수는 살아있는 것을 믿고, 대리인 아무도 republish에 일어나지 않을 것입니다 그것은 무한하지 않고 얘기를 계속. 자주 묻는 질문 적용되지 않는 것보다 더 악화됩니다. 각 영향을받는 대리인은 1개의 새로운 저장을 얻습니다 왜 라벨을 복사하고 응답은 얼마나 많은 재 출판되었는지 보여줍니다. UI는 실제로 'Saved' 대신 무슨 일이 있었는지 말할 수 있습니다.

  24. · kamo-internal

    풀 페이지 AI 판매 에이전트 스튜디오, modals 교체

    에이전트 편집기는 ~800px MUI Dialog 그의 전체 표면은 10row이었다. textarea, 모든 대화 상자를 사용 한 하나의 AI 탭에. 그것은 지금 전념 경로, 그리고 편집 모델 뒤에 하나 이상의 blob 구조. - /settings/ai/sales-agents/new — 720px 열, 스튜디오가 아닙니다. 템플릿 카드 (카드는 산업, 그래서 산업 드롭 다운 없음), 다음 두 필드 : 이름과 사업에 대해 한 문장. 1 분 미만의 근무 에이전트. - /settings/ai/sales-agents/[id] - 전체 폭, 끈끈한 한 스크롤 문서 단면도 우두머리, 880px에 모자를 씌우는 내용 그래서 단 하나 선 입력은 기지개하지 않습니다 4K 디스플레이를 통해. 240px nav 레일 없음 : 9 개의 섹션은 스크롤 스파이 작업, 아니 나프 작업. - Try-it-out은 영구적으로 예약된 열보다는 헤더 toggle입니다. 이름 * 브랜드 새로운 에이전트 옆에 빈 채팅 팬은 읽는 공간이었다 사용자의 실패를 채울 수 있습니다. - Readiness는 주문이며, 도움이 될 수 있는 목록입니다. 분수는 누군가에게 실패합니다. 목록은 다음을 수행하는 것을 알려줍니다. - 잠그는 규칙은 잠그고 가동불능하게 하고, 손으로 단면도를 가지고 갑니다 그것을 포함 할 때 경고 ( 컴파일러는 이제 그들에 대해 다시 부과). - Header는 일반적으로 새로운 대화에 영향을 미칩니다. prompt는 세션 생성에 스냅샷이 되고 사용자는 그렇지 않으면 종료됩니다. 그들의 변화는 작동하지 않았다. - outboundEnabled는 실제로 변경 될 때만 보내집니다: 서버 403s 전체 MANAGE SALES AGENT OUTREACH없이 해당 필드가 존재하는 경우 그것은 모든 autosave에서 그 권리를 부족 누구를위한 스튜디오를 깰 것입니다. 또한 채팅 채널에서 중복 "AI 시스템 프롬프트"상자를 제거합니다. 편집. 그것은 두 번째, 약한 장소가 같은 일을 저자, 아니 versioning, 잠금 규칙 및 역사 없음 — 어느 편집자가 당신에게 일어난 고객이 무엇을 들었는지 결정했습니다. Existing prompts 아직도 해결; 채널 이제 한 번에 에이전트에 대한 통지를 얻을. 복사는 디자인에 의해 AI jargon를 운반하고, hardcoded 영어 산업 배열은 입니다 번역된 상표로 대체하십시오.

  25. · AIService

    판매 시약 컴파일러, versioning, outreach 문; 수정 도구 재생

    Structured Agent config는 시스템 프롬프트에 컴파일하고, 출판당 동결 버전, 그리고 게이트를 얻는 대리인은 개시 접촉의 앞에 통과해야 합니다. 채용 정보 - AgentConfig + SalesAgentCompiler : 구조화의 순수하고 세분화 컴파일 config로 설정된 프롬프트. 빈 단면도는 이렇게 3 바퀴를 비치하고 있습니다 에이전트는 주로 headings. - document-level가 아닌 이 부분을 직접 씁니다. 원시 편집 스위치: 저자는 1개의 단면도에 가득 차있는 expressive 힘을 매깁니다 다른 섹션은 컴파일을 유지하고, 고정된 규칙을 유지하고 버전 유지. - 동일한 메커니즘은 마이그레이션 바이트 IDentical - 사전 구성 에이전트의 prose 전체 문서의 오버라이드로 저장되며, 다시 변경되지 않은 컴파일하므로 마이그레이션 일은 고객에게 이미 얘기하는 대리인을 위한 no-op입니다. 시험에 의해 입증. - PhraseBank는 TEMPLATE에 좋은 prose를 가진 deliberately 2 차원입니다. 각 enum 조합에 열쇠가 되는 세계적인 은행은 ~90의 손 낭비 단락을 필요로 합니다, 겹쳐 쌓이는 절으로 degenerates, 그리고 모든 org가 동일하게 열립니다 문장 - org는 구입 한 것을 파괴한다. - 6개의 템플릿 (프론트 데스크 및 인바운드 리드 처음: 그들은 수평하고 커버 수직이 나열되지 않은 모든 org. 각 배 고정 준수 규칙 모형은, 시험에 의해 확인한 결코 제거할 수 없습니다. Lifecycle + 허가 - 동결 {config, compiledPrompt, hash, 모델, 공급자}; 롤백 재점 및 복구 초안 그래서 스튜디오는 한 가지를 표시 할 수 없습니다 대리인은 다른 봉사합니다. - 관제사는 첫번째를 위해 권한 gated. 이전 ANY 인증 어떤 org의 회원은 org가 고객에게 말한 것을 재 작성할 수 있습니다. 폭포 뒤 to MANAGE AI SETTINGS 그래서 기존의 관리자가 배포되지 않습니다. - 공개 채팅은 출판 된 버전의 언 프롬프트를 선호합니다. TrainingContext 및 스탬프 SalesAgentId/versionId 세션 - 에이전트 이미 해결되었습니다. - AI-assisted 초안 : 하나의 문장, 검토 가능한 구성. Locked 규칙은 코드에서 수행, 모델에 보이지 않는, 그래서 준수 라인은 결코 할 수 없다 자주 묻는 질문 Outreach 문 (모든 14 규칙 테스트) - Opt-out는 다른 모든 체크를 이길 것이며, 이유로보고됩니다. refusal에 대한 기록 된 이유는 증거 자체입니다. - SMS는 동의 기록이 거부되지 않습니다 : TCPA의 부담은 증거에 있습니다 보낸 사람, 그래서 기록의 부재는 동의의 부재. - Quiet 시간은 접촉이 어디인지 판단됩니다. - 실패는 접촉 예산을 소비하지 않습니다; 억압은 아무도하지 않습니다, 또는 1개의 구획은 그 후에 모든 것을 막기로 케이케이드 할 것입니다. - 문은 CLOSED 실패 - 오류가없는 outreach 문은 메시지를 보냅니다 권한이 없는 한 실패는 undone일 수 없습니다. 해결 방법 따라 발견 - Tool-call 역사 재생이 깨졌습니다 : TOOL 행은 내용과 일치하지 않았습니다. Assistant tool use turn was never persisted, 그래서 2는 null-content을 보냈습니다 블록. 모든 멀티턴 대화를 실패시킬 수 있습니다. - textComplete에는 타임 아웃이 없습니다 (blocking .get(), 느슨한 스레드를 핀으로 공급자)와 기록된 아무 사용법도, 청구서에 보이지 않는 각 돕는 외침을 만들기. - 컨텍스트 피팅의 시스템 파티션은 uncapped, 그래서 동사 에이전트 플러스 RAG 블록은 모든 역사를 방해 할 수 있습니다. - costEstimate는 이제 실제 공급자 토큰에서 동기화 경로 만에 팝업됩니다. 스트리밍 체재 null: 그것은 content.length()/4로 토큰을 날려 실제 가격은 잘못된 청구서 모양의 번호를 산출합니다.

  26. · kamo-shared-library

    Structured sales-agent config, version spine and outreach state

    Replaces the single training-context blob with a structured, versionable agent model, and adds the per-contact spine an agent needs before it may initiate contact rather than only reply. - SalesAgent gains configJson (jsonb-as-String, matching WebChatIntegration .designConfig), hasConfig, publishedVersionId, audience and outboundEnabled. trainingContext is retained as the COMPILED OUTPUT so every existing consumer keeps working untouched. hasConfig is explicit rather than inferred from trainingContext being blank, because once it is compiled output it is never blank and any blankness test would be unreachable. - SalesAgentVersion freezes {configJson, compiledPrompt, compiledHash, modelId, providerId} per publish. The model is pinned alongside the prompt: freezing instructions while the model auto-routes would make the artifact a half-truth. - AiChatSession/AiUsageRecord gain salesAgentId + salesAgentVersionId. Previously "which agent handled this?" could only be answered by walking the mutable, nullable, non-FK WebChatIntegration.salesAgentId hop, so reassigning a channel silently re-attributed all history. - AiOrgSettings gains forcedPreamble/forcedFooter as NEW nullable columns rather than reusing defaultSystemPrompt, so concatenation is a no-op until an admin fills one in. Reusing the existing field would have changed behaviour for every org that already had one populated, on deploy day. - AgentContactState + AgentOutboundTouch: per-contact cross-channel suppression, explicit per-channel opt-out columns and timestamped consent. Opt-out is stored as real columns rather than JSON because "prove this number was suppressed on that date" must not depend on JSON path extraction. The touch log records REFUSALS as well as sends - a log of sends proves what you did, a log of decisions proves what you would not do. - Rights 168-173 split **************** off MANAGE_AI_SETTINGS(53), which previously gated none of this.

  27. · kamo-internal

    AI 영업 에이전트 탭 + per-channel 에이전트 할당

    /settings/ai?tab=sales-agents를 빌드합니다. 판매 산업, 내장 템플릿 중 하나 또는 교육 상황에 쓰기 그 후, 편집/사용/삭제 채팅 채널 (/settings/features/chat)은 이제 각 선택에 에이전트 드라이브를 할 수 있습니다 채널의 AI, 독립적으로 — 에이전트는 원료 시스템 프롬프트를 무시합니다.

  28. · SecurityService

    엔리치 카운슬러 채팅 룰렛 + 캡처 주제 - property state

    chat-routing 이제 할당 된 임원 NMLS, 제목, 사진, 전화, 이메일 반환 그리고 그 결과에 대한 유효한 라이선스를 보유할 경우, 상태 자체와 우리가 아직도 그것을 요구할 필요가 있는지. SAFE-Act 카드 사용 해결 된 데이터 그래서 채팅은 직물 정체성을 보여줄 수 없습니다. POST /portal/subject-state를 추가하십시오: 지도가 아직 재산 국가가 없을 때, 차입자는 채팅에서 설정할 수 있습니다; 그것은 patchEstimate를 통해 흐름 (그리고 그 할당 다른 주장 된 사실과 같은 풀 재입력, 이는 라이센스 라인을 잠금 해제.

  29. · MediaService

    채널 + 보고서 LO 가용성 당 판매 에이전트 할당

    - WebChatIntegration CRUD 스레드 판매AgentId (null은 할당을 취소) - lo-presence 이제 회원의 가용성Status를 온라인으로 반환하므로 위젯은 bare dot 대신 실제 상태를 보여줄 수 있습니다. Cross-org 조사는 여전히 {online:false}만 반환합니다.

  30. · AIService

    Sales-agent CRUD, 모기지 템플릿 및 에이전트 구동 채팅 프롬프트

    - AiSalesAgentController (/api/ai/sales-agents) : org-scoped CRUD + GET /templates - SalesAgentTemplateRegistry : 내장 스타터 템플릿, 시작 mortgage-borrower 조수 (compliance-aware: 바인딩 비율 따옴표 없음, 아니 승인 약속, 허가 된 대출 임원에 대 한 방어, 대상 국가에 대 한 요청) - PublicAiChatService: 할당된 SalesAgent의 trainingContext가 최고가 됩니다. 신속한 폭포의 계층 (시약 -> 통합 프롬프트 -> org -> 일반)

당신의 우주는 기다리고 있습니다.

몇 분 안에 무료로 시작하세요. 준비가 되면 언제든지 제품을 추가할 수 있습니다.

영원히 무료 - 신용 카드 필요 없음