@vibexnpm/talkx 3.0.1 → 3.0.3

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/dist/index.d.ts CHANGED
@@ -288,6 +288,8 @@ export interface TranslateToolRequest {
288
288
  export interface RefreshSummaryOptions {
289
289
  /** 요약 포맷 ({@link SummarizeFormat}). 미지정/알 수 없는 값이면 서버가 {@code SHORT} 적용. */
290
290
  format?: SummarizeFormatValue;
291
+ /** 출력 언어(BCP-47 예 {@code 'ko'}/{@code 'en'}, 또는 {@code 'OFF'}=원문). 미지정 시 서버가 요청자 언어로 해소. */
292
+ lang?: string;
291
293
  }
292
294
 
293
295
  /**
@@ -298,15 +300,24 @@ export interface RefreshSummaryResult {
298
300
  /**
299
301
  * <ul>
300
302
  * <li>{@code 'STARTED'} — 요약 워커 시작됨({@code summaryUpdate} 대기).</li>
301
- * <li>{@code 'ALREADY_RUNNING'} — 이미 진행 중(중복 트리거 — 재요청하지 말 것).</li>
303
+ * <li>{@code 'ALREADY_RUNNING'} — 방에서 요약이 진행 중(<b>다른</b> 포맷·언어일 수 있음). {@code format}/{@code language}
304
+ * 로 내 키인지 확인하고, {@code summaryUpdate} 가 내 키가 아니면 그때 다시 요청한다(무조건 재요청 금지 아님).</li>
302
305
  * <li>{@code 'NO_CHANGE'} — 새 대화 없음(알림 발생 안 함; 직전 실패가 있었다면 자동 복구됨).</li>
303
306
  * </ul>
304
307
  */
305
308
  status: 'STARTED' | 'ALREADY_RUNNING' | 'NO_CHANGE';
309
+ /** 이번 요청이 해소한 포맷({@link SummarizeFormat} 소문자). 방 단위 경합 식별용. */
310
+ format?: string;
311
+ /** 이번 요청이 해소한 언어(소문자 BCP-47 / {@code 'OFF'}=원문). 방 단위 경합 식별용. */
312
+ language?: string;
306
313
  }
307
314
 
308
315
  /** {@link ChatClient.getSummary} 옵션. */
309
316
  export interface GetSummaryOptions {
317
+ /** 조회할 포맷({@link SummarizeFormat}). 미지정 시 그 언어의 기본(SHORT 우선). 미보유 포맷이면 rollup=null. */
318
+ format?: SummarizeFormatValue;
319
+ /** 조회할 언어(BCP-47 예 {@code 'ko'}, 또는 {@code 'OFF'}=원문). 미지정 시 요청자 언어로 해소(응답 {@code language}). */
320
+ lang?: string;
310
321
  /** segment 페이지 커서(exclusive). 미지정 시 처음부터. */
311
322
  afterSeq?: number;
312
323
  /** segment 페이지 크기(서버 상한 50). */
@@ -315,18 +326,20 @@ export interface GetSummaryOptions {
315
326
 
316
327
  /** Rolling 누적 요약 통합본 — {@link RoomSummaryView.rollup}. */
317
328
  export interface RoomSummaryRollup {
318
- /** 요약 본문 ({@code format} 적용됨). */
329
+ /** 요약 본문 ({@code format} 적용 + {@code language} 로 통합됨). */
319
330
  content: string;
320
331
  /** 적용된 포맷 ({@link SummarizeFormat} 소문자). */
321
332
  format: string;
333
+ /** 이 rollup 의 언어(소문자 BCP-47 / {@code 'OFF'}=원문). {@link RoomSummaryView.language} 와 동일. */
334
+ language: string;
322
335
  /** rollup 이 커버하는 가장 오래된 지점. */
323
336
  coverStartAt: string | null;
324
337
  /** 마지막으로 요약된 지점. */
325
338
  watermarkAt: string | null;
326
339
  /** 전체 segment 수(페이지 총량 힌트). */
327
340
  segmentCount: number;
328
- /** 진행 상태. {@code 'IDLE'}(완료/대기) | {@code 'RUNNING'}(요약 중) | {@code 'FAILED'}(실패). */
329
- status: 'IDLE' | 'RUNNING' | 'FAILED';
341
+ /** 이 키(포맷×언어)가 최신 대화를 아직 반영 안 함(reducedSegmentCount < segmentCount) — refreshSummary 로 최신화 가능. */
342
+ stale: boolean;
330
343
  /** 마지막 갱신 시각. */
331
344
  updatedAt: string;
332
345
  }
@@ -352,9 +365,23 @@ export interface RoomSummarySegment {
352
365
  * 아직 한 번도 요약되지 않았으면 {@code rollup} 이 {@code null} 이고 {@code segments} 는 빈 배열이다.
353
366
  */
354
367
  export interface RoomSummaryView {
355
- /** 통합 요약본. 최초 요약 전이면 null. */
368
+ /**
369
+ * 이 응답의 기준 언어(소문자 BCP-47 / {@code 'OFF'}=원문). {@code lang} 미지정 조회면 서버가 해소한 값이다 —
370
+ * {@code rollup}·{@code availableFormats} 가 이 언어 기준이다. 요약 이력이 없어도 서버가 요청자 언어로 해소해
371
+ * <b>항상</b> 채운다(never null).
372
+ */
373
+ language: string;
374
+ /**
375
+ * 방 전체 요약 프로세스 상태 — {@code 'IDLE'}(대기) | {@code 'RUNNING'}(요약 중) | {@code 'FAILED'}(실패).
376
+ * <b>방 단위(키별 아님)</b>: 방은 한 번에 한 키만 요약하므로, 지금 다른 포맷·언어를 요약 중이어도 {@code 'RUNNING'} 이다.
377
+ * 특정 rollup 의 최신 여부는 {@code rollup.stale} 로 판단한다(rollup 자체는 완료된 데이터). 요약 이력이 없으면 null.
378
+ */
379
+ roomStatus: 'IDLE' | 'RUNNING' | 'FAILED' | null;
380
+ /** 요청/기본 포맷의 통합 요약본. 그 포맷×언어로 아직 요약 안 됐으면 null(availableFormats 로 같은 언어의 다른 포맷 확인). */
356
381
  rollup: RoomSummaryRollup | null;
357
- /** 구간 부분요약 페이지. */
382
+ /** 이 방이 <b>이 언어로</b> 보유한 포맷 목록(short/timeline/… — 탭 렌더용). 타 언어는 포함하지 않는다. */
383
+ availableFormats: string[];
384
+ /** 구간 부분요약 페이지(포맷 무관 공유). */
358
385
  segments: RoomSummarySegment[];
359
386
  /** 다음 segment 페이지 존재 여부. */
360
387
  hasNext: boolean;
@@ -370,8 +397,10 @@ export interface SummaryUpdateEvent {
370
397
  roomId: string;
371
398
  /** {@code 'READY'}(갱신됨 → getSummary) | {@code 'FAILED'}(실패 → 재시도 가능) | {@code 'NO_CHANGE'}(변경 없음). */
372
399
  status: 'READY' | 'NO_CHANGE' | 'FAILED';
373
- /** 적용된 포맷. {@code READY} 만 포함, 그 외 null. */
400
+ /** 완료/실패한 포맷. {@code READY}·{@code FAILED} 포함, {@code NO_CHANGE} 는 null. */
374
401
  format: string | null;
402
+ /** 완료/실패한 언어(소문자 BCP-47 / {@code 'OFF'}). {@code READY}·{@code FAILED} 포함, {@code NO_CHANGE} 는 null — format 과 함께 키 식별. */
403
+ language: string | null;
375
404
  /** 갱신 시각. {@code READY} 만 포함, 그 외 null. */
376
405
  updatedAt: string | null;
377
406
  }