Core
개발자 협업과 안전한 Agent 초안
소셜 로그인, 프로젝트 역할과 동의 기반 분석을 추가하고 폼 초안 실행을 개선합니다.
수정
-
같은 장기 실행 워커가 테넌트를 전환해도 한국어 PDF 보고서와 청구서를 생성할 수 있습니다. 번들 글꼴 정보는 안정된 공통 캐시를 사용하고, 문서 임시 파일은 테넌트별로 분리합니다.
-
앱 탐색 액션이 실제 등록 화면으로 연결됩니다. 재무 보고서별 목적지를 분리하고, 총계정원장 개요의 미완료 업무 건수가 정확한 필터의 목록을 열도록 수정했습니다. 결산 분석 화면은 조회 전용으로 유지합니다.
-
공개 인증 화면의 폼 입력 문맥과 Shell 초안 실행을 분리해 가벼운 로그인 번들을 유지합니다. 에이전트 진행 표시도 지원하는 TypeScript 대상과 호환됩니다.
-
중앙 에이전트 설정에서 Jev 화면 정렬·폼 선택값 판단을 각각 설정하고 키와 과금 준비 상태를 확인합니다. 모델 역할 화면에서도 설정으로 이동할 수 있습니다. 잘못된 화면 판단은 재호출이나 다른 모델 대체 없이 기존 검색 결과를 유지합니다.
-
도구 호출 중단 뒤의 후속 요청은 결과 미확인 상태를 모델에 명시합니다. 도구를 재실행하거나 저장된 대화 이력을 변경하지 않습니다.
-
Agent 사용량에서 과금 확인이 필요한 기록과 자동 정산 대기를 구분하여, 사용량이 확인되지 않은 기록을 계속 처리 중으로 표시하던 문제를 수정했습니다. 크레딧 차감액과 보존된 과금 기록은 변경하지 않습니다.
-
초대 링크가 공개 수락 화면으로 열리고 초대받은 사람의 저장된 신원 정보를 재사용하며, 비활성화 계정에 접근 권한을 부여하지 않으면서 관리자가 만료된 초대를 다시 보낼 수 있게 수정했습니다.
-
위임된 Resource 변경 요청은 실제 업무 endpoint에서 현재 작업 정책을 다시 확인합니다. 작업을 비활성화하면 변경 전에 발급한 토큰도 차단하며, 사람이 직접 요청하는 경로는 기존 권한 검사와 업무 검증을 유지합니다.
-
브라우저 자동화는 등록된 조회·공용 초안 작업을 사용합니다. 임의 DOM 클릭·입력·키 도구와 예전 Canvas DOM 입력을 종료하고, 분류되지 않은 화면 콜백은 노출하거나 실행하지 않습니다. DOM 조회는 유지하며 명시적으로 요청한 저장은 정책을 검증하는 기존 서버 도구를 사용합니다. 공용 호스트가 Resource별 Agent 매핑 없이 조회·초안 구분을 제공합니다.
-
표준 폼의 범위가 바뀌면 이전 초안 명령을 폐기하면서 기존 사용자 입력은 계속 보호합니다. 새로 조회한 명령도 사용자 수정을 초기값으로 오인해 덮어쓰지 않습니다.
-
작업 메뉴 위에서 연 우클릭 메뉴가 기존 메뉴를 유지하면서 마우스와 키보드 입력을 받도록 수정했습니다. 닫으면 원래 항목으로 포커스가 돌아가며, 화면 가장자리에서는 메뉴 위치를 조정합니다.
-
연속된 자동 UI 요청에 서로 다른 공개 interrupt 식별자를 부여하여, 앞선 화면 이동 결과가 다음 작업의 응답으로 처리되지 않도록 수정했습니다.
-
등록된 초안 작업은 이전 레코드를 가리키거나 탭이 일치하지 않는 실행을 거절합니다. 실행 중 중복 요청은 최초 결과를 함께 기다리며, 결과 미확인을 자동 재실행의 근거로 사용하지 않습니다.
-
후속 초안 요청에서 반영이 확인된 에이전트 입력을 사용자 직접 수정으로 오인하지 않고 다시 변경할 수 있습니다. 이후 사용자가 바꾼 값은 같은 값을 재요청해도 보호하며, 부분 반영이나 대상 변경으로 덮어쓰기 권한을 얻을 수 없습니다.
-
SDK의 선택 속성
scopeKey로 폼 문맥별 초안 실행을 구분할 수 있습니다. 폼이 테넌트나 생성 대상 법인에 맞는 키를 제공하면 문맥 변경 시 이전 핸들러·진행 중 완료 응답·에이전트의 기존 초안 수정 자격이 무효화됩니다. -
에이전트 준비 JSON의 빈 문자열과 앞뒤 공백을 보존하여, 입력 스키마와 브라우저 결과값이 전달 중 변경되지 않도록 수정했습니다. 다른 요청의 정규화와 에이전트 본문 크기 제한은 유지합니다.
-
권한 조회와 Shell 초기 데이터에서 잘못된 권한 응답을 성공 데이터로 캐시하지 않도록 검증합니다. 권한 배열 누락으로 에이전트 브리지가 중단되는 것을 방지하며, 백엔드 권한 검사는 변경하지 않습니다.
-
대화 중단 시 실시간 실행 표시를 종료합니다. 확인된 도구 결과는 유지하고, 응답을 받지 못한 작업은 결과 미확인으로 표시합니다.
-
실행 용량 갱신을 확인할 수 없을 때 사용자 취소처럼 보이지 않도록 실패로 표시합니다. 용량 검사를 완화하지 않고 실행은 중단합니다.
-
자동 화면 응답은 실행 작업 ID가 바뀌어도 같은 사용자 요청의 라우팅 판단을 재사용하여, 불필요한 재분류와 진행 중 작업 분류가 바뀌는 문제를 줄입니다. 새 요청과 사용자 확인 답변은 다시 분류하며 현재 권한과 도구 정책 검사는 유지합니다.
-
에이전트 질문을 취소하면 추가 모델·도구 호출 없이 해당 턴을 종료합니다. 취소한 요청이 계속 실행되거나 크레딧을 더 사용하는 문제를 방지합니다.
-
화면 검색에 사용자가 접근할 수 있는 최근 저장 대시보드를 포함하여, 명시적인 열기 요청이 이름이 비슷한 앱 화면 대신 저장 대시보드를 선택할 수 있습니다.
-
입력 대기 카드에서 선택하거나 취소하면 결과를 즉시 표시하며, 카드가 취소를 담당하는 동안 대화 입력창에 별도의 중지 버튼을 노출하지 않습니다.
추가
-
공개 개인정보처리방침·서비스 이용약관, 영어·한국어 문서 주소와 언어 선택을 제공하고 웹사이트·개발자 콘솔에 연결했습니다.
-
개발자 콘솔 분석은 별도 측정 스트림과 명시적 동의를 사용합니다. 페이지 정보에는 경로 템플릿만 보내며 계정 정보, 프로젝트 이름, 식별자, 콜백 매개변수, 초대 토큰은 제외합니다. 운영자는
GOOGLE_ANALYTICS_DEVELOPER_MEASUREMENT_ID를 설정하고 해당 스트림의 향상된 측정을 꺼야 합니다. -
개발자 콘솔에서 Google·GitHub 로그인, 신규 가입, 로그인 후 계정 연결을 지원합니다. 기존 계정의 첫 SNS 로그인은 본인 확인 후 연결하며, SNS 전용 계정에는 로그인 수단을 하나 이상 유지합니다.
-
프로젝트 설정에 소유자·관리자·개발자·조회자 역할, 이메일 초대·재전송·취소, 역할 변경, 멤버 제거·탈퇴를 추가했습니다. 멤버 권한은 CLI 승인·버전 제출에도 적용됩니다. 샌드박스 멤버는 별도 사용자로 입장하며 개발 권한을 잃으면 기존 세션 접근도 차단됩니다.
-
에이전트 사용량과 별도로 에이전트 모니터링 메뉴와 대시보드를 제공합니다. 테넌트·기간 필터가 차트 6종과 요청 요약에 함께 적용되며, 같은 조건의 요청 목록에서 실행 상세를 엽니다. 전체 조회에서 불러오지 못한 테넌트는 명시하고, 테넌트별 백분위를 전체 지연으로 평균 내지 않습니다.
-
현재 App 정의와 정책 행을 확인한 뒤 동일한 테넌트·사용자·조직의 도구 정책 계산 결과를 재사용합니다. 실제 업무 권한 검사는 그대로 유지합니다.
-
중첩 정보 폼은 기존 상위 필드·섹션·필드 키로 입력 경로를 구성합니다. 반복 섹션 순서를 바꿔도 같은 항목을 가리키며, 삭제한 입력의 명령을 폐기하고 민감 필드의 하위 입력도 노출하지 않습니다. 명시적으로 연결한 초안 폼 안의 조직도는 기존 노드 ID로 선택하고 상위 노드를 펼칠 수 있으며, 이동·저장 작업은 호출하지 않습니다.
-
연결된 표준 폼에서 선택기의 기존 권한 조회로 원격 선택지를 검색할 수 있습니다. 결과 수를 제한하고 취소·화면 이동·범위 변경·폼 비활성화 이후의 결과는 폐기합니다. 선택은 별도의 검증된 초안 입력으로 처리합니다.
-
등록된 초안 작업에서 확인된 대상 화면으로 이동, 폼 준비, 여러 필드 입력, 상태 반영 확인을 기존 interrupt/resume 경로의 한 요청으로 처리할 수 있습니다. 폼을 저장하거나 제출하지는 않습니다.
-
접힌 도구 목록 밖에 실제 진행 단계나 실행 도구를 표시합니다. 일정 시간 변화가 없을 때는 활동을 지어내지 않는 대기 안내를 제공합니다.
-
생성 화면의 복합 실행은 명시적인 null 리소스 ID를 허용하지만, 저장된 레코드와 일치하는 것으로 취급하지 않습니다. 성공한 복합 실행은 후속 작업에 사용할 목적지의 등록 액션 정보도 반환합니다.
-
등록된 초안 액션 정보에 실제 폼의 정확한 대상 식별자를 포함합니다. 처음 열린 현재 탭에서도 리소스 키를 추측하지 않고 반영 완료 확인을 요청할 수 있습니다.
-
탭 조회 시 기존 번역 카탈로그에서 요청 언어의 선택 명칭을 읽을 수 있습니다. 화면 언어나 실제 선택값은 바꾸지 않으며, 앱은 스키마의 번역 키로 참여합니다. 카탈로그를 불러오지 못하면 조회 실패로 처리합니다.
-
전체 요청을 마무리하는 초안 입력은 현재 탭의 후속 입력을 포함해, 정확한 대상과 모든 요청 필드의 미저장 반영이 확인되면 추가 모델 호출 없이 종료할 수 있습니다. 실패·부분 반영·결과 미확인이나 여러 도구가 포함된 요청은 기존 응답 경로를 유지합니다.
-
에이전트 명령어 메뉴에
/리포트를 추가했습니다. 대시보드를 구성하지 않고 기존 단독 리포트 조회·미리보기·확인 후 저장 흐름을 사용합니다. -
중앙 관리자는 에이전트 사용량 화면에서 테넌트와 사용자 표시 참조 코드로 실패 작업을 조회할 수 있습니다. 실행 용량 경고 로그에도 같은 참조 코드를 남겨 원인을 연결할 수 있습니다.
-
표준 폼 초안은 공개된 경로 식별자, 기존 정보 스키마와 컨트롤의 값 변경 콜백을 재사용합니다. 별도 Agent 필드 목록 없이 초안·자동 저장 효과를 구분하며, 사업장 폼의 기존 텍스트·고정 선택 항목도 이 계약을 사용합니다.
-
Jev는 일반 프로바이더와 독립적으로 화면 순위, 요청 분류, 지원되는 폼 선택 항목에 적용할 수 있습니다. 각 기능은 기본 비활성이며 기존 크레딧·사용량 집계를 유지합니다. 활성화된 Jev 경로의 실패를 다른 프로바이더로 몰래 대체하지 않습니다.
-
중앙 Agent 사용량에 논리 요청별 실제 모델·도구 호출 수, 오류, 보존된 단계별 시간과 크레딧 정산 조회를 추가합니다. DOM 도구도 공용 화면 도구와 함께 서버가 관측한 대기·재개 시간을 기록하며, 이를 브라우저 CPU 시간으로 해석하면 안 됩니다.
-
Jev의 조회·화면 이동 판단과 쓰기 판단이 충돌하면 확신이 높아도 폼 선택값을 사용하기 전에 확인 질문으로 전환합니다. Jev 기본 활성화 여부는 변경하지 않습니다.
적용 안내
-
People·Sales 화면에서 보호된 폼 초안을 사용하려면 각각 People 0.5.5와 Sales 0.4.0-beta.5가 필요합니다. 두 릴리스는 Core 0.6.19와 React SDK 0.6.6을 요구합니다. Expenses와 Talent도 보호된 초안 호환성을 적용합니다. 그 밖의 변경 앱에는 탐색·보고서 수정만 반영하며, 정확한 버전은 커밋된 Composer 잠금 파일에 기록합니다.
-
Core 0.6.19는 React SDK
@nexia/sdk0.6.6을 적용합니다.useRegisterDraftAction을 사용하는 앱에는 해당 SDK 계약과 Core 0.6.19 호스트 구현이 필요합니다. Laravel SDK는 0.6.4를 유지하고 변경 없는 앱은 기존 릴리스를 유지합니다. -
Gateway 업그레이드 시 대기 중인 자동 UI 요청의 호환성을 배포 전에 검증해야 합니다. 결과가 확인되지 않은 작업을 재실행하면 안 됩니다. 도구 결과 시각과 실행 관측, 작업 생성 전 준비 기록을 위한 테넌트 마이그레이션을 적용해야 합니다. 새 브라우저 서비스나 RPC 전송 경로는 추가하지 않습니다. 준비 기록의 nullable 작업 참조를 되돌리기 전에는 미연결 기록을 연결하거나 보존 기간에 따라 정리해야 합니다.
-
null 대상을 사용하는 생성 작업,
finish_if_applied또는 언어별 탭 조회를 적용하기 전에 호환되는 Gateway·Shell 계약을 함께 배포해야 합니다. 생성 액션 메타데이터에는 정확한resource_key를 제공해야 하며, 액션 이름을 리소스 식별자로 사용하면 안 됩니다. 같은 작업 ID로 연결한 서버 대기·재개 시간에는 브라우저 실행과 체크포인트·통신 대기가 포함되므로 순수 네트워크 지연으로 해석하면 안 됩니다. -
커스텀 폼도
NxFormSection.binding과 일반 입력란의NxFormField.fieldKey로 공용 초안 기능을 재사용합니다. 별도 Agent 필드 목록은 필요 없으며, 스키마 폼은 기존 키를 유지합니다. 권한·저장 중·민감 필드·오래된 입력 대상 보호가 동일하게 적용됩니다.
업그레이드 필요
- 변경된 콘솔을 제공하기 전에 중앙 DB 협업 마이그레이션을 실행해야 합니다. 기존 프로젝트 소유자는 유지하며 기존 CLI 승인자를 해당 소유자로 기록합니다. SNS 로그인을 활성화하려면
DEVELOPER_GOOGLE_*,DEVELOPER_GITHUB_*인증 정보와 정확한 콜백 URL을 설정하고, 초대에는 메일 발송 설정이 필요합니다. 저장소 접근·웹훅은 포함하지 않습니다.