변경 로그
무슨 일이야?
플랫폼에 대한 모든 개선 사항, 그것이 선적.
· kamo-internal
AI 고용 (KamoCollab CP01 T24A)
/settings/team-member/new gains 팀의 역할 카드: 여러 차례의 선택 조직의 팀 (팀 클라이언트)는 누구든지 변화할 수 있었습니다 프로필에 구성원 팀 (teamsEditAtCreate, 팀 필드의 positionRights 게이트: MANAGE MEMBER SECURITY), 숨겨진 그렇지 않으면. 오시는 길 teamIds로 이동, 사람을 위해 및 AI 고용 (aiHirePayload 유지 그들); 선택 없음, 열쇠 없음. 팀의 refusal (400/403/409 와 함께 필드 teamIds) 필드와 배너에서, 사전의 그것을 가지고있는 단어, NOT ALLOWED 포함. AI 고용의 전세 미리보기 이제 팀 선택, 팀 레이어가 시작될 것입니다. 한국어 팀 요약.
· kamo-shared-library
Tendency link — 정수, 2단계의 주행과 최소 주행 거리, 2개의 게이트(KamoCollab CP03 T5)
Weakness tendencies는 "통제, 연결 및 완전히 할 수있는 옵션 독립적 인"(6). TendencyLinks.LINKS는 7을 보유하고 있습니다. CP03 spec §5.4의 연결; derive는 2.5 x (s - 피벗) 둥근 반 위로입니다 integers; inverse는 표적 정상을 한 번 돌고 죄를 운반합니다 다른 용어에 대한 용어의 부족 (P03-T5-1..3).
· kamo-internal
프로필의 위치 카드에 회원의 팀, 회원 측 노선에 저장, 폭포 힌트 이름 팀 (KamoCollab CP01 T24)
직책 아래 팀의 위치 카드 이득 : 모든 시청자의 칩 카드, 보안을 위한 조직의 팀에 다수 선택 관리자, PUT에 {teamIds}로 저장 **************** (회원가입). 팀 프로필을 읽을 수 없습니다 편집, 그래서 저장 결코 팀 nobody 톱을 대체하지 (CP01-T14-4). 이메일: dictionary's word에서 필드를 보여줍니다. 회원정보 보안 탭의 힌트 이름 팀, 팀: 소스는 자신의 톤을 얻을.
· kamo-shared-library
60 키 트레잇 레지스트리, 그룹 디폴트 및 Docstion vocabulary (KamoCollab CP03 T4)
이름 * TraitKey는 키 당 TraitSpec (가족, 유형, 범위, 기본, 선택, 연결 키, UI 그룹, 단위, 적응성, 라벨 키), REGISTRY VERSION cp03-1, fromName 및 selectLabelKey; PersonalityDefaults는 CHANNEL ORDER를 보유하고 있습니다. ETIQUETTE 및 DECISION PRIORITY 기본값은 spec 5.3.4입니다. collab 패키지 추가 CollabKind와 세 가지 제한 수준은 에스컬레이션 트리거 플러스. 순수한 클래스, 콩 없음; 아무것도 아직 그들을 읽는다.
· SecurityService
전세 ORG 층의 손 applied DDL, 성격 및 투석 열 및 org archetypes 및 계약 테스트 (KamoCollab CP03 T2)
Spec §5.1의 구획, 특성: 12의 무능한 trait/collab org charter items (cascading with 그것의 org), org personality archetypes (org, case-insensitive 당 고유한 제목) 그리고 그들의 항목 (아치형으로 캐스팅), 그리고 하나의 부분 archetype ref archetype in-use 체크를 위한 소유자 테이블 당 색인. 작업 3이 적용됩니다.
· kamo-internal
기본 설정에서 팀 탭, 설정 메뉴에서 설정 방문 페이지와 홈 관리자 바 (KamoCollab CP01 T23)
/settings/essential?tab=teams는 작업 제목 후 TeamManager를 마운트합니다. 도움 열 (목적, 권리 폭포와 기능, 최고의 관행, 차트 기사). 설정 메뉴는 { 키 : 'teams' } jobTitles 후, 랜딩 페이지 부서 및 직책 외에 팀 카드, 집 관리자는 작업 제목 (마스터 R1-37) 후 팀 항목을 바. 테스트 : EssentialSetupExposure 핀 R1-37 (모든 필수 설정 메뉴 항목이 있습니다. 랜딩 카드 및 관리자 바 항목, 메뉴 순서); settingsLandingCards 모든 랜딩 카드의 런타임 내장 키를 해결합니다. 체크인-i18n-keys는 할 수 없습니다. see; teamTab 핀 탭의 장소, 구성 요소 및 도움.
· kamo-internal
TeamManager의 팀 대화 상자 - 이름, 타임아웃, 회원 및 리드, 설명 및 전세, 역할 및 권한, 한 통화로 저장 (KamoCollab CP01 T22)
팀 추가, 각 행의 편집 및 빈 상태의 행동을 호출 한 대화 상자: 이름, 세션 timeout, 회원 (칩, 회원 피커가 현재 회원에 오픈), 리드 (초센) 그 회원, "무엇이" 허용되지 않음), 카운터에 대한 설명, TEAM의 CharterEditor 레벨, (D15)에 강제하지 않는 한 관련 역할, PermissionGroups를 통해 직접 권리. 1개의 POST 또는 PUT는 각 분야를 보냅니다; NOT SPECIFIED는 결코 보내지 않습니다. refusal은 자신의 말에 말했다, 에 그 필드가 있을 때; rightsRecalculated: false는 Recalculate 권한을 제공합니다. 라이브 새로 고침 대화 상자가 열립니다. Multi-select Picker는 InitialPicked를 얻습니다. 이미 선택한 사람들에게 열려 있으며 그 대답은 다음과 같습니다. 전체 선택.
· SecurityService
가시적 목록의 입력은 org 그래프에서 온 - 하위 좌표, AI supervisees 및 AI 회원은 id 문자열로; 관리자 및 AI supervisor 쌍이 사라집니다 (KamoCollab CP02 T15)
**************** 이제 콜러를 취하고 읽습니다. 60 s 캐시에서 조직의 org 그래프 (orgGraphCache.get) : - subordinateMemberIds = 레코드 활성이 아닌 보고서(caller, true) 합성, 맞은편에 단지 및 all-org 권리; - aiSuperviseeIds = 슈퍼바이저가 콜러 (자신자); - aiMemberIds = 모든 AI 노드; - orgMemberIds (all-org right only) 및 이름 이전. 더 이상 호출 access.managerPairs 또는 aiMembers.artificialMembers 견적 요청 VisibilityInputs.toBody()는 문자열로 세 세트를 배치합니다. managerPairs와 aiSupervisorPairs의. **************** 및 그 TeamMemberRepo 의존성은 삭제됩니다. 기록적인 중간 매니저는 더 이상 그들 (D19)의 밑에 보고를 숨깁니다; 기록이 여전히 활성화된 TERMINATED 회원은 하위 좌표로 유지됩니다. 쌍의 산책 tm.recordState.isActive 필터는 그들을 유지. ComputeService는 CP02 T14 (deployed); T16가 쌍을 제거합니다 이 후에만 걸어가세요.
· SecurityService
GET /api/security/org-chart — org 그래프의 사람들 org 차트: 합성되지 않은 팀 구성원, 비활성 한 조각, 그들의 머리와 부서, 그들의 리드와 팀, 모든 문자열과 레벨, 역할 또는 오른쪽 (KamoCollab CP02 T13)
· kamo-internal
TeamManager, 팀 테이블 — 행, 로드 상태 및 삭제 (KamoCollab CP01 T21)
팀 탭의 테이블 (spec §5.10, D22), JobTitleManager 목록 작업 제목: 팀 (제목과 설명의 첫번째 선), 일원, 지도, 필요조건, 관련 역할, 직접 권리 및 타임 아웃, CommerceSkeleton, 빈스테이트 및 ErrorState-with-Retry 상태. 자주 묻는 질문 ConfirmationDialog naming the member count; 거부는 말했다 team.errors word, 다른 서비스 문장. 바로가기 useOrgChanges ('teams', 'member-security'), 확인 중 일시 중지 열려있습니다; 각 짐은 수로, 그래서 삭제 땅 때 비행에서 새로 고침 행을 다시 가져올 수 없습니다. 아무것도 작업 할 때까지 마운트 23 탭을 추가; Task 22은 추가 및 편집 버튼을 사용하여 대화 상자를 추가합니다.
· SecurityService
관리자 라인은 org 그래프를 읽습니다. - 신선한 그래프에서 사이클 체크, 캐시 된 한 디렉토리, 회원의 소유 관리자는 MANAGE MEMBER SECURITY를 변경해야합니다 (KamoCollab CP02 T12)
- MemberSecurityController: rejectManager는 각자, org 및 기록 행위를 지킵니다 refusals and tests the loop with **************** 10 레벨 연결하기 touchMemberSecurity gains managerId, 부서와 비교 (실제 변화는 올바른 필요; 읽을 수없는 id는 하나로 계산) (D21, D22). - ManagerStepHandler : 고용 MANAGER 단계 루프 체크는 동일한 테스트입니다. 도표는 그것의 거래 안쪽에 적재했습니다; MANAGER OF와 깊이는 갑니다. - TeamMemberDirectoryController : 한 페이지 당 캐시 된 그래프, 행 할 때만 읽으십시오. 요청; directReports = 레코드 활성 보고서 (id, false), 그래서 감독 된 AIs 조사; Picker hint = 후보 == 회원 또는 managerChain (candidate)는 회원이 포함되어 있습니다.
· kamo-internal
팀 클라이언트 - 유형, TeamsApiError 및 팀 릴레이에 10 호출 (KamoCollab CP01 T20)
앱/lib/teams/teamsApi.ts: 팀, TeamDetail, TeamMemberRow, TeamRef, TeamWrite, TeamSaved; parseTeam (tolerant : 문자열로 ids, 누락 된 목록 [], 오른쪽 설정은 GRANTED 또는 NUKE 떨어졌다; TeamsApiError (message, 상태, 이유, 필드, memberId), 몸 또는 프록시의 세부 정보 래퍼에서 읽기, 뿐만 아니라 그 메시지로 사람들이 쓴 문장; 그리고 listTeams, getTeam, createTeam, updateTeam, deleteTeam, getTeamMembers, setTeamMembers, recalculateTeamRights, getMemberTeams, setMemberTeams 인증 뚱 베어 credentials로: 'include'.
· kamo-internal
전세 클라이언트는 TEAM을 알고, BFF 릴레이 팀 (KamoCollab CP01 T19)
CharterLevel은 TEAM과 CharterSubjects의 위원의 팀장; SaveLayer('TEAM') PUTs ********************* 2개의 릴레이: /api/security/teams/** (GET, POST, PUT, DELETE) 및 ****** ********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************** (GET, PUT), 각각 forwardToApi 및 RelayUpstream, 세그먼트 재 인코딩 및 도트 세그먼트 거부. vitest now collects app/api/**/ tests , 어디 릴레이 테스트 앉아.
· SecurityService
보고서는 org 그래프를 읽습니다 - TEAM 범위와 TEAM 공유는 전체 서브 트리에 도달, 포함 된 감독 된 AI (KamoCollab CP02 T11)
ReportScopeResolver.reportsTo는 캐시 된 그래프의 보고서 (회원, 사실)입니다. unbounded (10개의 수준 후에 오래된 도보 중지되는), 보고 선의 뒤에, 이렇게 AI에 관리자는 감독의 팀에 있습니다. TEAM 공유는 관리자에게 중요한 이름과 도달합니다. 모든 깊이에서 그들을 모두 (그것은 직접보고에 도달). 팀 이름 없음 오른쪽과 TEAM 공유가 존재하지 않습니다. 그래서 생산 출력은 변경되지 않습니다.
· SecurityService
팀원 작성 — 팀원은 팀원이 작성되기 전에 모든 것을 확인한 후, 먼저 적용된 권리 전에 작성된 거래 내부에 참여하고, 커밋 후 발표 (KamoCollab CP01 T14A)
****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************** (및 /create 및 /bulk-create 경로 공유 memberCreationService.create)는 사람 또는 AI (master R1-36)를 위한 선택적인 teamIds를 가지고 갑니다. Absent, null 및 [] 이름 팀 없음 및 필요 없음, 그래서 팀은 변하지 않고 만들. - AI 체크 후에 확인하고 사용자 조회의 앞에, 분야 teamIds를 가진 각 refusal 및 기록되지 않음: 400 INVALID FIELD, 403 NOT ALLOWED MANAGE MEMBER SECURITY 또는 열려있는 신창 (Creator.maySetTeams, createdOf에 의해 채워진), 기본 회원을위한 400 NOT A TEAM MEMBER, 409 TOO MANY TEAMS 25 이상 (읽지 않음), 다른 org의 또는 알 수없는 팀을위한 400 TEAM NOT FOUND, 전체 팀의 400 TOO MANY MEMBERS (TeamValidator.newMemberTeams). - TeamWriter.joinNewMember에 의해 작성, @RetryOnDbConflict없이 MANDATORY, 새로운을 통해 팀. NewMemberTeams, 회원의 저장 및 거울 전에 오른쪽, 첫 번째 적용 권리 (팀 레벨 포함) 및 AI 고용; 플러시드, 결코 붙잡지 않은 회원 팀의 절반으로 존재합니다. 40001은 콜러 (현재 503 RETRY)에 의해 전체적으로 회복됩니다. - TeamService.afterCommit은 TeamChangeListeners를 한 번 작성한 후 절대로 알려줍니다. 롤백; 커밋 후 환영 숙박 (a8966fd). Rulings CP01-T14A-1..3; 주인 CP-D96.
· kamo-internal
액세스 로그 필터는 impersonation 및 Enter-As (KamoCollab CP00 T11)를 제공합니다
SecurityService는 이제 IMPERSONATION STARTED, IMPERSONATION ENDED 및 ENTER AS를 org의 액세스 로그에 기록합니다. 이벤트 유형 목록 (accessLogEvents.ts, 필터와 그리드 모두 읽기) 공유 라이브러리의 미러 enum 과 gains the three, 에 그것의 순서, 말 에 the 사전의 말. 새로운 테스트는 필터 자체를 열고 AccessLogEventType의 세 가지를 보유하고 있습니다. Java enum parser는 sharedLibPath로 이동하여 테스트를 공유합니다.
· SecurityService
SecurityService의 채팅 정책은 org 그래프에서 회원 사실을 읽습니다. 스냅 샷 당 그래프로드 (KamoCollab CP02 T10)
ChatPolicyBeanConfig는 그래프와 ChatPolicySnapshotLoader를 구축합니다. 생성기와 orgGraphCache::fresh (Rling CP02-T17-3), MediaService로 이렇게 roster의 채팅 annotations와 회원 카드는 동일하게 읽습니다 다른 모든 계층 문제로 사실. 레거시 채팅 사실 저장소 더 이상 주사되지 않습니다; shared-lib는 작업 18에서 제거. ChatPolicyBeanConfigTest: 로더의 사실은 MemberFactsFromGraph입니다. graph fresh() org id (never get()); no active set askeds for no 그래프; 서비스는 유효성까지 스냅 샷을 유지; 59 s 오래된 캐시 그래프는 사용되지 않습니다; 그리고 레거시 저장소 없이 컨텍스트에 있는 콩 철사, 출판사 및 NATS 청취자는 다음 스냅샷을 읽습니다. 새로운 그래프. ReferenceOrgGraph는 회원과 함께 공개됩니다().
· SecurityService
부서는 머리를 가져옵니다 - PUT **************** 그것의 작가, 그리고 부서에 있는 머리의 이름 그리고 서 (KamoCollab CP02 T9)
· SecurityService
모든 SecurityService graph 쓰기는 변경을 발표, 팀 솔기 듣고, 래치드는 그렇게 유지 (KamoCollab CP02 T8)
CP02 spec의 각 쓰기 경로 §3.5 (W1-W15) 전화 *********** 원인) §5.4.2의 원인 : 회원 보안 (로즈, 부서, 직책, 관리자, 레벨, 소유자, 회원 유형), 프로필 PUT (status, Intelligence, AI supervisor, 값과 비교 저장하기 전에 읽으십시오), 회원 생성, 등록, org 생성 및 휴가, AI 은퇴, 고용 MANAGER 단계, 부서, 직책, 역할 삭제 및 포털 및 청구 회원 생성. Security-provider 미러는 자체 조직을 발표합니다 (CP02-T8-1). OrgGraphTeamChangeListener는 TEAM 원인으로 CP01의 TeamChangeListener 솔기를 구현합니다. OrgGraphPublisherCoverageTest (D15)는 파일이 없는 그래프를 기록할 때 실패합니다. COVERED BY SEAM (teams/TeamWriter.java) 외의 COVERED BY SEAM 파일, 선 및 패턴을 구분합니다.
· SecurityService
회원 카드에 대한 팀과 디렉토리 검색에서 - [{id, title}] 제목에 의해, 한 팀이 페이지 당 읽습니다 (KamoCollab CP01 T16)
GET /api/security/members/{id}/card 이름은 팀 멤버의 팀 ([] 팀에서; 읽을 때 왼쪽, 프로필에). *** * *** 각 팀 구성원 행을 한 팀에서 제공합니다. findTeamRefsByMemberIdIn for the page's team member (TeamService.teamsOfMembers, which teamOf now uses, 그래서 하나의 순서 규칙이 있습니다. 일반 회원의 행에는 팀이없고 약하지 않습니다. /ai 회원 및 /impersonation-targets는 변경되지 않습니다.
· SecurityService
효과적인 rights 전망에 있는 팀 - 진단 폭포의 팀 수준 및 팀: 적용되는 권리 (KamoCollab CP01 T15)에 근원
진단 케이케이드 (GET **************** 팀 구성원 목록 직업 제목과 회원 사이 팀, {teamId, 제목, 역할, 권리}, 폭포의 순서; security view's apply rights name "Team: <title> ( 역할 <role>)" 과 "Team: <title>" 후 작업 제목 및 회원의 소유 전에. 하나의 리더, 팀. TeamLevelSources: TeamLevels의 팀, 다음 그들의 역할과 직접적인 권리; 팀에 있는 일원을 위한 1개의 조회, 고객을 위한 아무도.
· SecurityService
프로필의 구성원 팀 - GET|PUT *********** 및 프로파일 팀 및 보안보기 (KamoCollab CP01 T14)
· SecurityService
PUT **************** — TeamWriter를 통해 팀의 전세점 만 저장, 커밋 후 발표 (KamoCollab CP01 T13)
LayerCharterController에 spec §5.6/§5.7의 팀 전세점은, 옆에 역할, 부서 및 직업 제목 : CONFIGURE SYSTEM 또는 신; 경로 ID, 알 수없는 팀과 또 다른 org의 팀은 모두 404 TEAM NOT FOUND입니다 (CP01-T13-1를 ruling); charterItems are required and [] clears; TeamWriter.updateCharter는 항목을 검증 그 거래에서 팀 레이어로, 다음 TeamService. afterWrite는 저장을 발표 한 번. 도표 편집은 아무도를 recalculates 및 도표 사실이 아닙니다. 답변 {charterItems}. 팀 경로 ID 규칙 (canonical UUID 텍스트, 다른 404 보고 없이, CP01-T10-1) TeamController에서 TeamWire.pathTeamId로 이동하여 컨트롤러 모두 공유합니다.
· SecurityService
The TEAM charter layer — a member's teams after the job title, the TEAM subject, teamIds, and team hide markers (KamoCollab CP01 T12)
A member's teams become TEAM layers between the job title and the member, all at one rank and ordered by lower-case title then id; the teams' roles join the ROLE layer. Only staff are looked up, with one indexed query, so a member in no team resolves exactly as before (pinned against layers and effective items captured on the unchanged loader; no stamp hash, R1-1). A TEAM subject resolves its roles (rank 0), then the team's layer, with the dialog's unsaved roles, description, title and items. CharterSubject gains teamIds (a hypothetical member's teams); a team of another org, as a TEAM subject or in teamIds, is 404 SUBJECT_NOT_FOUND and none of its items or roles are read (Review Focus 4). CharterReferenceValidator finds team charter items: a TEAM marker may hide role, department and job-title items, a MEMBER marker may hide a team's item, and a team item of another org is SUPPRESS_TARGET_NOT_FOUND. **************** used TEAM as its unknown level; TEAM became a level in cp01:5, so it now uses PLANET.
· kamo-internal
"Calls from AI 팀 멤버" 한 사람의 프로필에 (SP95 T27)
사람의 프로필은 작업실에서 카드를 얻습니다. 조직의 AI 팀 구성원은 전화 할 수 있으며, 그 중 어느 쪽이든 번호. 스위치는 선택된 수에 대 한 서 있는 동의를 회전 (기본값에 의해 첫번째 것) 또는 떨어져, 그리고 그것 동안 다른 수를 선택 거기에 동의 이동; 새로운 BFF를 통해 한 번에 저장 SecurityService의 ai-call-consent 노선의 릴레이. 자주 묻는 질문 프로필에 더 이상없는 수는 "Your number 변경 "; 번호가있는 프로필은 1 일 동안 묻습니다. 카드는 말한다 채팅에 대한 요청은이 꺼져있을 때도 허용됩니다. 회원의 기록이 다른 곳에서 변경 될 때. 보안 관리자는 colleague의 카드 읽기 전용을 참조, captioned 다른 사람과 그것을 바꿀 수 있는 naming을 위해. 문은 aiCallsView (각자 또는 MANAGE MEMBER SECURITY, 저장된 사람에 팀 멤버)와 aiCallsEdit (자신), 팔레트 행.
· kamo-internal
"Calls from AI 팀 멤버" 한 사람의 프로필에 (SP95 T27)
사람의 프로필은 작업실에서 카드를 얻습니다. 조직의 AI 팀 구성원은 전화 할 수 있으며, 그 중 어느 쪽이든 번호. 스위치는 선택된 수에 대 한 서 있는 동의를 회전 (기본값에 의해 첫번째 것) 또는 떨어져, 그리고 그것 동안 다른 수를 선택 거기에 동의 이동; 새로운 BFF를 통해 한 번에 저장 SecurityService의 ai-call-consent 노선의 릴레이. 자주 묻는 질문 프로필에 더 이상없는 수는 "Your number 변경 "; 번호가있는 프로필은 1 일 동안 묻습니다. 카드는 말한다 채팅에 대한 요청은이 꺼져있을 때도 허용됩니다. 회원의 기록이 다른 곳에서 변경 될 때. 보안 관리자는 colleague의 카드 읽기 전용을 참조, captioned 다른 사람과 그것을 바꿀 수 있는 naming을 위해. 문은 aiCallsView (각자 또는 MANAGE MEMBER SECURITY, 저장된 사람에 팀 멤버)와 aiCallsEdit (자신), 팔레트 행.
· SecurityService
팀 하위 자원 (회원, 권리, 역할) 및 재순환 엔드 포인트 (KamoCollab CP01 T11)
GET|PUT **************** /rights와 /roles, 그리고 POST **************** (특수 §5.7). 자세히보기 org의 모든 세션에 열려; CONFIGURE SYSTEM 또는 오픈 필요 새로운 창, 팀 앞에 체크는 위로 보입니다. 각 PUT는 그것의 대체합니다 TeamWriter를 통해 필요한 목록은 TeamService를 실행합니다. afterWrite와 이제 권한으로 목록을 답변Recalculated : 회원 참여하고 누구 만 남는, 권리와 팀의 역할 이름 * 재순환 답변 {recalculated: n}, 회원 수, 그리고 실패는 500 그 누출 아무것도.
· kamo-internal
SP96 단면도에 AI 음성 카드, 및 TTS 핀 없는 전세 VOICE 단면도
AI 회원의 신원 방은 음성 카드를 얻습니다: 연설 당 1개의 선 모델 그것은 사용할 수 있습니다, 순서에서 그것을 삼아, 목소리와 함께 그것은 말 이제 어떻게 선택되었는지, 모델은 먼저 사용, 모델 번호 그것의 성의 목소리, 그리고 그 다음에 변경 하는 목소리 그것은 말, 와 왜. Viewer AIService는 다른 목소리를 선택하도록 합니다. 그것을 적응시키는 음성) 또는 모형은 첫째로 이용했습니다; 두 번에 저장하십시오 AIService의 회원 목소리 엔드포인트의 새로운 BFF 릴레이를 통해. 더 보기 카드는 저장된 성이 변경 될 때 목소리를 다시 읽습니다. 그것의 문, aiVoiceView는 AIService의 읽기 규칙이며 팔레트 행이 있습니다. 전세 편집기의 VOICE 섹션은 스타일 텍스트 만 : TTS Picker 그리고 전세 음성 카탈로그 (클라이언트 통화 및 BFF 경로)가 사라지고 있습니다. 단면도는 음성은 단면도에 선택되고, 아직도 품목 음성 핀을 운반하는 것은 shared-lib가 그것을 거부합니다.
· kamo-internal
SP96 프로필에 AI 음성 카드, TTS 핀없이 전세 VOICE 섹션
AI 회원의 신원 방은 음성 카드를 얻습니다: 연설 당 1개의 선 모델 그것은 사용할 수 있습니다, 순서에서 그것을 삼아, 목소리와 함께 그것은 말 이제 어떻게 선택되었는지, 모델은 먼저 사용, 모델 번호 그것의 성의 목소리, 그리고 그 다음에 변경 하는 목소리 그것은 말, 와 왜. Viewer AIService는 다른 목소리를 선택하도록 합니다. 그것을 적응시키는 음성) 또는 모형은 첫째로 이용했습니다; 두 번에 저장하십시오 AIService의 회원 목소리 엔드포인트의 새로운 BFF 릴레이를 통해. 더 보기 카드는 저장된 성이 변경 될 때 목소리를 다시 읽습니다. 그것의 문, aiVoiceView는 AIService의 읽기 규칙이며 팔레트 행이 있습니다. 전세 편집기의 VOICE 섹션은 스타일 텍스트 만 : TTS Picker 그리고 전세 음성 카탈로그 (클라이언트 통화 및 BFF 경로)가 사라지고 있습니다. 단면도는 음성은 단면도에 선택되고, 아직도 품목 음성 핀을 운반하는 것은 shared-lib가 그것을 거부합니다.
· AIService
간단한 팀의 이름을 가진 팀의 목적을 리드 (KamoCollab CP01 T17)
TEAM PURPOSE 라인은 이제 "As a member of a {title} team: ", 후 ROLE, DEPARTMENT 및 JOB TITLE와 같은 구인 제목. 버전 체재 (D19): 짧지 않은 TEAM 층은 아직 없습니다.

당신의 우주는 기다리고 있습니다.
몇 분 안에 무료로 시작하세요. 준비가 되면 언제든지 제품을 추가할 수 있습니다.
영원히 무료 - 신용 카드 필요 없음