connectbase-client 5.6.3 → 5.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -3,6 +3,39 @@
3
3
  본 SDK 의 모든 주요 변경사항을 [Keep a Changelog](https://keepachangelog.com/ko/1.1.0/) 형식으로 기록합니다.
4
4
  버전은 [Semantic Versioning](https://semver.org/lang/ko/) 을 따릅니다.
5
5
 
6
+ ## [5.7.0] - 2026-08-01
7
+
8
+ ### Added — `getScriptLogs` / `getScriptMetrics`: 서버 Lua 를 디버깅할 수 있다
9
+
10
+ 서버는 훅 에러에 진단 정보를 실어 보내고 있었지만(훅 이름 + setup/hook 실측 + Lua
11
+ traceback 의 파일:줄), **SDK 에는 그걸 읽는 메서드가 없었다.** 업로드/활성화는 되는데
12
+ 실패 원인을 볼 수 없어, 서버 Lua 작성 루프가 SDK 쪽에서만 닫히지 않는 상태였다.
13
+
14
+ ```ts
15
+ const { entries } = await cb.game.getScriptLogs(appId, "main", { limit: 50 });
16
+ // [onTick] onTick error: <string>:12: attempt to index a nil value (setup 3ms / hook 5ms)
17
+ ```
18
+
19
+ - `getScriptLogs(appId, name, { since?, limit? })` — 훅 에러 + Lua `log()` 출력.
20
+ `since` 에 직전 응답의 최신 `ts` 를 넣으면 증분 폴링이 된다. 버퍼는 스크립트당 최근
21
+ ~500 엔트리이며 서버 파드 로컬이라 재시작 시 소실된다.
22
+ - `getScriptMetrics(appId, name)` — 호출 수/에러율과 **setup vs hook 분리 레이턴시**.
23
+ `max_hook_latency_ms` 가 frame 훅 예산(기본 100ms)에 근접하면 무거운 작업을
24
+ `onInit`(5s 예산)으로 옮기라는 신호다. 반대로 `max_setup_latency_ms` 가 크면 룸
25
+ state 가 큰 것이라 사용자 코드를 고쳐도 낫지 않는다.
26
+ - 타입 `ScriptLogEntry` / `ScriptLogsResponse` / `ScriptMetricsResponse` 신설.
27
+
28
+ 기존 API 변경 없음(추가만).
29
+
30
+ ## [5.6.4] - 2026-08-01
31
+
32
+ ### Fixed — `chat()` 이 `finishReason` 을 놓치던 문제
33
+
34
+ 5.6.3 의 집계가 결과 메타를 "종료 청크" 에서만 집었는데, 실제 와이어에서는 한 청크에 모여
35
+ 오지 않는다 — `finishReason` 은 마지막 토큰 다음 청크에, `usage`/`provider`/`model` 은 그
36
+ 다음 `done` 청크에 실린다(프로덕션 SSE 5,827개 이벤트 실측). 이제 실린 청크마다 그때그때
37
+ 누적한다. 회귀 테스트도 실제 와이어 순서를 그대로 옮겼다.
38
+
6
39
  ## [5.6.3] - 2026-08-01
7
40
 
8
41
  ### Changed — `cb.ai.chat` 이 스트리밍 전송 위에서 동작한다 (겉보기 API 동일)