@vibexnpm/talkx 3.0.2 → 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,17 +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 {
310
- /** 조회할 포맷({@link SummarizeFormat}). 미지정 시 기본(SHORT 우선). 미보유 포맷이면 rollup=null. */
317
+ /** 조회할 포맷({@link SummarizeFormat}). 미지정 시 그 언어의 기본(SHORT 우선). 미보유 포맷이면 rollup=null. */
311
318
  format?: SummarizeFormatValue;
319
+ /** 조회할 언어(BCP-47 예 {@code 'ko'}, 또는 {@code 'OFF'}=원문). 미지정 시 요청자 언어로 해소(응답 {@code language}). */
320
+ lang?: string;
312
321
  /** segment 페이지 커서(exclusive). 미지정 시 처음부터. */
313
322
  afterSeq?: number;
314
323
  /** segment 페이지 크기(서버 상한 50). */
@@ -317,20 +326,20 @@ export interface GetSummaryOptions {
317
326
 
318
327
  /** Rolling 누적 요약 통합본 — {@link RoomSummaryView.rollup}. */
319
328
  export interface RoomSummaryRollup {
320
- /** 요약 본문 ({@code format} 적용됨). */
329
+ /** 요약 본문 ({@code format} 적용 + {@code language} 로 통합됨). */
321
330
  content: string;
322
331
  /** 적용된 포맷 ({@link SummarizeFormat} 소문자). */
323
332
  format: string;
333
+ /** 이 rollup 의 언어(소문자 BCP-47 / {@code 'OFF'}=원문). {@link RoomSummaryView.language} 와 동일. */
334
+ language: string;
324
335
  /** rollup 이 커버하는 가장 오래된 지점. */
325
336
  coverStartAt: string | null;
326
337
  /** 마지막으로 요약된 지점. */
327
338
  watermarkAt: string | null;
328
339
  /** 전체 segment 수(페이지 총량 힌트). */
329
340
  segmentCount: number;
330
- /** 이 포맷이 최신 대화를 아직 반영 안 함(reducedSegmentCount < segmentCount) — refreshSummary 로 최신화 가능. */
341
+ /** 이 키(포맷×언어)가 최신 대화를 아직 반영 안 함(reducedSegmentCount < segmentCount) — refreshSummary 로 최신화 가능. */
331
342
  stale: boolean;
332
- /** 진행 상태. {@code 'IDLE'}(완료/대기) | {@code 'RUNNING'}(요약 중) | {@code 'FAILED'}(실패). */
333
- status: 'IDLE' | 'RUNNING' | 'FAILED';
334
343
  /** 마지막 갱신 시각. */
335
344
  updatedAt: string;
336
345
  }
@@ -356,9 +365,21 @@ export interface RoomSummarySegment {
356
365
  * 아직 한 번도 요약되지 않았으면 {@code rollup} 이 {@code null} 이고 {@code segments} 는 빈 배열이다.
357
366
  */
358
367
  export interface RoomSummaryView {
359
- /** 요청/기본 포맷의 통합 요약본. 그 포맷으로 아직 요약 안 됐으면 null(availableFormats 로 다른 포맷 확인). */
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 로 같은 언어의 다른 포맷 확인). */
360
381
  rollup: RoomSummaryRollup | null;
361
- /** 이 방이 보유한 포맷 목록(short/timeline/… — 탭 렌더용). */
382
+ /** 이 방이 <b>이 언어로</b> 보유한 포맷 목록(short/timeline/… — 탭 렌더용). 타 언어는 포함하지 않는다. */
362
383
  availableFormats: string[];
363
384
  /** 구간 부분요약 페이지(포맷 무관 공유). */
364
385
  segments: RoomSummarySegment[];
@@ -376,8 +397,10 @@ export interface SummaryUpdateEvent {
376
397
  roomId: string;
377
398
  /** {@code 'READY'}(갱신됨 → getSummary) | {@code 'FAILED'}(실패 → 재시도 가능) | {@code 'NO_CHANGE'}(변경 없음). */
378
399
  status: 'READY' | 'NO_CHANGE' | 'FAILED';
379
- /** 적용된 포맷. {@code READY} 만 포함, 그 외 null. */
400
+ /** 완료/실패한 포맷. {@code READY}·{@code FAILED} 포함, {@code NO_CHANGE} 는 null. */
380
401
  format: string | null;
402
+ /** 완료/실패한 언어(소문자 BCP-47 / {@code 'OFF'}). {@code READY}·{@code FAILED} 포함, {@code NO_CHANGE} 는 null — format 과 함께 키 식별. */
403
+ language: string | null;
381
404
  /** 갱신 시각. {@code READY} 만 포함, 그 외 null. */
382
405
  updatedAt: string | null;
383
406
  }