xgen-dex-protocol
v1.57.2
Published
XGEN 서버와 말하는 법 — 순수 TypeScript, 의존 0
Readme
xgen-dex-protocol
npm i xgen-dex-protocol모노레포(
PlateerLab/xgen-dex-core) 안에서는@dex/protocol이라는 별칭으로 쓴다. 같은 코드이고, 밖으로 나갈 때만 이 이름이다 — npm 에@xgen스코프 권한이 없어 기존xgen-dex-cli와 같은 무스코프 규약을 따른다.
XGEN 서버와 말하는 법. 의존 0 — 브라우저에서도, Electron 렌더러에서도, Node 에서도, 터미널에서도 같은 코드가 돈다.
여기 있는 것과 없는 것의 기준은 하나다: 서버와 주고받는 것인가.
- 있다 — HTTP 클라이언트, 인증·토큰 회전, SSE 파싱, 채팅/이력/에이전트/SSH/Teams/
음성/알림의 요청·응답 타입, 그리고 그 응답을 다루는 순수 함수
(
stripBrowserContext,toHistoryAttachments처럼 서버 응답의 형태를 아는 것). 도구 과정 표시 규칙(tool-activity:collapseToolSteps·pairToolCalls·countToolCalls)도 여기다 — 도구 이벤트의 모양을 알고, 앱과 웹이 같은 건수를 말해야 한다. - 없다 — 파일을 읽거나, 프로세스를 띄우거나, 창을 열거나, 디스크에 무언가를
쓰는 것. 그건
@dex/engine이나 앱의 일이다.
앱이 전부를 쓰지 않아도 된다
CLI 는 Teams 와 음성을 부르지 않는다. 그래도 타입과 클라이언트는 여기 남는다 — 나중에 켜는 것이 앱의 한 줄이 되도록.
XgenClient 는 필요한 것만 붙일 수 있다:
const client = new XgenClient({ baseUrl, surface: 'cli' });
client.chat; // 언제나
client.ssh; // 언제나
client.teams; // surface: 'desktop' 일 때만 — 아니면 접근 시 명확히 거절