@vibexnpm/talkx 2.5.0 → 3.0.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/README.md +3 -4
- package/dist/index.d.ts +17 -9
- package/dist/talkflow-sdk.esm.js +1 -1
- package/dist/talkflow-sdk.esm.js.map +1 -1
- package/dist/talkflow-sdk.standalone.js +1 -1
- package/dist/talkflow-sdk.standalone.js.map +1 -1
- package/dist/talkflow-sdk.umd.js +1 -1
- package/dist/talkflow-sdk.umd.js.map +1 -1
- package/package.json +1 -1
- package/src/chat/ChatClient.js +13 -16
- package/types/index.d.ts +17 -9
package/package.json
CHANGED
package/src/chat/ChatClient.js
CHANGED
|
@@ -438,40 +438,37 @@ class ChatClient extends EventEmitter {
|
|
|
438
438
|
}
|
|
439
439
|
|
|
440
440
|
/**
|
|
441
|
-
*
|
|
441
|
+
* 특정 메시지 온디맨드 번역 (버튼 진입점, 동기).
|
|
442
442
|
*
|
|
443
|
-
* <p
|
|
444
|
-
*
|
|
445
|
-
*
|
|
443
|
+
* <p>{@code sourceMessageId} 메시지(텍스트/이미지/문서)를 {@code targetLang} 으로 번역해 요청자에게만
|
|
444
|
+
* 반환한다. 이미지는 이미지 속 텍스트를, 문서(PDF/DOCX/XLSX/PPTX 등)는 파일 안의 텍스트를 서버가 추출해
|
|
445
|
+
* 번역한다. 방에 메시지를 저장하거나 {@code chatMessage} 이벤트를 broadcast 하지 않는다. 읽을 텍스트가
|
|
446
|
+
* 없거나 문서가 너무 크면 에러를 반환한다.</p>
|
|
446
447
|
*
|
|
447
448
|
* @param {string} roomId - 채팅방 ID
|
|
448
449
|
* @param {Object} options
|
|
449
|
-
* @param {string} options.
|
|
450
|
-
* @param {string} options.
|
|
451
|
-
* @
|
|
452
|
-
* @returns {Promise<{outcome: string, messageId: (string|null), detail: (string|null)}>}
|
|
453
|
-
* {@code outcome}: {@code 'EMITTED'} (생성됨, {@code messageId} 존재) |
|
|
454
|
-
* {@code 'SKIPPED'} / {@code 'FAILED'} ({@code detail} 에 사유).
|
|
450
|
+
* @param {string} options.sourceMessageId - 번역 대상 메시지의 {@code messageId} (텍스트/이미지/문서). 필수.
|
|
451
|
+
* @param {string} options.targetLang - 목표 언어 (예: {@code 'en'}, {@code '日本語'}). 필수.
|
|
452
|
+
* @returns {Promise<{translatedText: string, sourceMessageId: string, targetLang: string}>}
|
|
455
453
|
*
|
|
456
454
|
* @example
|
|
457
455
|
* const result = await chat.translateWithAssistant(roomId, {
|
|
458
|
-
* personaId,
|
|
459
456
|
* sourceMessageId: msg.messageId,
|
|
460
457
|
* targetLang: 'en'
|
|
461
458
|
* });
|
|
462
459
|
*/
|
|
463
460
|
async translateWithAssistant(roomId, options = {}) {
|
|
464
|
-
const {
|
|
465
|
-
if (!personaId) {
|
|
466
|
-
throw new Error('translateWithAssistant requires options.personaId');
|
|
467
|
-
}
|
|
461
|
+
const { targetLang, sourceMessageId } = options;
|
|
468
462
|
if (!sourceMessageId) {
|
|
469
463
|
throw new Error('translateWithAssistant requires options.sourceMessageId');
|
|
470
464
|
}
|
|
465
|
+
if (!targetLang) {
|
|
466
|
+
throw new Error('translateWithAssistant requires options.targetLang');
|
|
467
|
+
}
|
|
471
468
|
|
|
472
469
|
const response = await this.apiClient.post(
|
|
473
470
|
`/api/v1/rooms/${roomId}/assistant/tools/translate`,
|
|
474
|
-
{
|
|
471
|
+
{ targetLang, sourceMessageId }
|
|
475
472
|
);
|
|
476
473
|
return this._unwrapSuccessResponse(response);
|
|
477
474
|
}
|
package/types/index.d.ts
CHANGED
|
@@ -236,7 +236,7 @@ export interface AssistantPersonaResponse {
|
|
|
236
236
|
|
|
237
237
|
/**
|
|
238
238
|
* 어시스턴트 도구 실행 결과 — 서버 {@code AssistantToolResult}.
|
|
239
|
-
* {@link ChatClient.summarizeWithAssistant}
|
|
239
|
+
* {@link ChatClient.summarizeWithAssistant} 반환.
|
|
240
240
|
*/
|
|
241
241
|
export interface AssistantToolResult {
|
|
242
242
|
/**
|
|
@@ -254,6 +254,16 @@ export interface AssistantToolResult {
|
|
|
254
254
|
detail: string | null;
|
|
255
255
|
}
|
|
256
256
|
|
|
257
|
+
/** {@link ChatClient.translateWithAssistant} 반환 — 요청자 전용 온디맨드 번역 응답. */
|
|
258
|
+
export interface OnDemandTranslationResponse {
|
|
259
|
+
/** 번역된 텍스트. */
|
|
260
|
+
translatedText: string;
|
|
261
|
+
/** 번역 대상 원본 메시지의 {@code messageId}. */
|
|
262
|
+
sourceMessageId: string;
|
|
263
|
+
/** 요청한 목표 언어. */
|
|
264
|
+
targetLang: string;
|
|
265
|
+
}
|
|
266
|
+
|
|
257
267
|
/** {@link ChatClient.summarizeWithAssistant} 옵션 — 서버 {@code SummarizeToolRequest}. */
|
|
258
268
|
export interface SummarizeToolRequest {
|
|
259
269
|
/** 요약을 수행할 어시스턴트 ID ({@link AssistantPersonaResponse.id}). 필수. */
|
|
@@ -266,12 +276,10 @@ export interface SummarizeToolRequest {
|
|
|
266
276
|
|
|
267
277
|
/** {@link ChatClient.translateWithAssistant} 옵션 — 서버 {@code TranslateToolRequest}. */
|
|
268
278
|
export interface TranslateToolRequest {
|
|
269
|
-
/** 번역을 수행할 어시스턴트 ID ({@link AssistantPersonaResponse.id}). 필수. */
|
|
270
|
-
personaId: string;
|
|
271
279
|
/** 번역 대상 메시지의 {@code messageId}. 필수. */
|
|
272
280
|
sourceMessageId: string;
|
|
273
|
-
/** 목표 언어 (예: {@code 'en'}).
|
|
274
|
-
targetLang
|
|
281
|
+
/** 목표 언어 (예: {@code 'en'}). 필수. */
|
|
282
|
+
targetLang: string;
|
|
275
283
|
}
|
|
276
284
|
|
|
277
285
|
/**
|
|
@@ -1300,8 +1308,8 @@ export class ChatClient implements SdkEventEmitter<ChatClientEvents> {
|
|
|
1300
1308
|
rateAssistantMessage(roomId: string, messageId: string, rating: number, comment?: string): Promise<void>;
|
|
1301
1309
|
/** 어시스턴트로 대화 요약 (버튼 진입점, 동기). */
|
|
1302
1310
|
summarizeWithAssistant(roomId: string, options: SummarizeToolRequest): Promise<AssistantToolResult>;
|
|
1303
|
-
/**
|
|
1304
|
-
translateWithAssistant(roomId: string, options: TranslateToolRequest): Promise<
|
|
1311
|
+
/** 특정 메시지 온디맨드 번역 (버튼 진입점, 동기, 요청자 전용 응답). */
|
|
1312
|
+
translateWithAssistant(roomId: string, options: TranslateToolRequest): Promise<OnDemandTranslationResponse>;
|
|
1305
1313
|
/** 방 PM 프롬프트 레이어 조회 — PM_BACKSTAGE 방 전용, 참여자 전체. 미등록 시 404. */
|
|
1306
1314
|
getRoomPmPrompt(roomId: string): Promise<PmPromptLayerResponse>;
|
|
1307
1315
|
/** 방 PM 프롬프트 레이어 등록/수정 (upsert, 새 버전 자동 기록) — 방 주인(OWNER) 전용. content 1~2,000자. */
|
|
@@ -1641,8 +1649,8 @@ export default class TalkFlowClient implements SdkEventEmitter<TalkFlowClientEve
|
|
|
1641
1649
|
rateAssistantMessage(roomId: string, messageId: string, rating: number, comment?: string): Promise<void>;
|
|
1642
1650
|
/** 어시스턴트로 대화 요약 (버튼 진입점, 동기). */
|
|
1643
1651
|
summarizeWithAssistant(roomId: string, options: SummarizeToolRequest): Promise<AssistantToolResult>;
|
|
1644
|
-
/**
|
|
1645
|
-
translateWithAssistant(roomId: string, options: TranslateToolRequest): Promise<
|
|
1652
|
+
/** 특정 메시지 온디맨드 번역 (버튼 진입점, 동기, 요청자 전용 응답). */
|
|
1653
|
+
translateWithAssistant(roomId: string, options: TranslateToolRequest): Promise<OnDemandTranslationResponse>;
|
|
1646
1654
|
/** 방 PM 프롬프트 레이어 조회 — PM_BACKSTAGE 방 전용, 참여자 전체. 미등록 시 404. */
|
|
1647
1655
|
getRoomPmPrompt(roomId: string): Promise<PmPromptLayerResponse>;
|
|
1648
1656
|
/** 방 PM 프롬프트 레이어 등록/수정 (upsert, 새 버전 자동 기록) — 방 주인(OWNER) 전용. content 1~2,000자. */
|