<!-- task=typescript_impl plan=2 tag=REVIEW_API -->

# Code Review Reference - REVIEW_API

## 개요

date=2026-04-24
task=typescript_impl, plan=2, tag=REVIEW_API

## 이 파일을 읽는 리뷰 에이전트에게

각 항목의 구현을 실제 소스 파일과 대조하고, `검증 결과` 섹션의 출력이 코드와 일치하는지 확인하세요.
리뷰 완료 후 반드시 아래 순서로 아카이브하세요.

1. `CODE_REVIEW.md` → `code_review_2.log` (N = 기존 code_review_*.log 수)
2. `PLAN.md` → `plan_2.log` (M = 기존 plan_*.log 수)
3. PASS인 경우 `complete.log` 작성 후 종료. WARN/FAIL인 경우 새 `PLAN.md` + `CODE_REVIEW.md` 스텁 작성.

---

## 구현 항목별 완료 여부

| 항목 | 완료 여부 |
|------|---------|
| [REVIEW_API-1] ws를 devDependencies에서 dependencies로 이동 | [x] |

## 계획 대비 변경 사항

- 없음. 계획대로 `typescript/package.json`에서 `ws`를 `dependencies`로 이동했고, `npm install`로 `typescript/package-lock.json`의 top-level dependency 분류를 함께 갱신했다.

## 주요 설계 결정

- 런타임 import를 사용하는 패키지이므로 소스 코드 수정 없이 의존성 선언만 바로잡았다. `ws_client.ts`, `ws_server.ts`의 동작 자체는 바꾸지 않고 배포/설치 시점의 누락 위험만 제거했다.
- 버전은 유지하고 위치만 이동했다. 이번 수정의 목적은 동작 변경이 아니라 production install 시 `ws`가 빠지지 않도록 패키지 메타데이터를 정정하는 것이다.

## 리뷰어를 위한 체크포인트

- `typescript/package.json`의 `dependencies`에 `ws`가 있고 `devDependencies`에서 제거됐는지 확인.
- `package-lock.json`이 변경됐는지 확인 (`npm install` 실행 여부).
- `npx vitest run` 결과 18개 테스트 PASS인지 확인.

## 검증 결과

### REVIEW_API-1 중간 검증
```
$ cd typescript && npm install && npx tsc --noEmit && npx vitest run

up to date, audited 65 packages in 542ms

17 packages are looking for funding
  run `npm fund` for details

found 0 vulnerabilities

 RUN  v3.2.4 /config/workspace/toki_socket/typescript

 ✓ test/base_client.test.ts (7 tests) 9ms
 ✓ test/communicator.test.ts (7 tests) 18ms
 ✓ test/tcp.test.ts (2 tests) 11ms
 ✓ test/ws.test.ts (2 tests) 21ms

 Test Files  4 passed (4)
      Tests  18 passed (18)
   Start at  05:37:16
   Duration  801ms (transform 341ms, setup 0ms, collect 953ms, tests 58ms, environment 1ms, prepare 790ms)
```

### 최종 검증
```
$ cd typescript && npm install && npx tsc --noEmit && npx vitest run

up to date, audited 65 packages in 584ms

17 packages are looking for funding
  run `npm fund` for details

found 0 vulnerabilities

 RUN  v3.2.4 /config/workspace/toki_socket/typescript

 ✓ test/communicator.test.ts (7 tests) 18ms
 ✓ test/base_client.test.ts (7 tests) 8ms
 ✓ test/tcp.test.ts (2 tests) 11ms
 ✓ test/ws.test.ts (2 tests) 18ms

 Test Files  4 passed (4)
      Tests  18 passed (18)
   Start at  05:37:23
   Duration  867ms (transform 406ms, setup 0ms, collect 1.05s, tests 54ms, environment 1ms, prepare 977ms)
```
