dvgateway-adapters 1.9.1 → 1.9.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.
@@ -51,6 +51,18 @@ export interface AnthropicAdapterOptions {
51
51
  * Useful for controlling response boundaries in voice contexts.
52
52
  */
53
53
  stopSequences?: string[];
54
+ /**
55
+ * API 엔드포인트 오버라이드 (기본: 공식 https://api.anthropic.com)
56
+ *
57
+ * 온프렘·폐쇄망에서 로컬 LLM(Anthropic 호환 프록시)을 가리킬 때 쓴다.
58
+ * 게이트웨이 `GET /api/v1/llm/resolve` 응답의 `baseUrl` 을 그대로 넣으면 된다 —
59
+ * 게이트웨이는 이 값을 이미 내려주고 있었으나 어댑터가 받는 자리가 없어
60
+ * 폐쇄망에서 로컬 LLM 을 가리킬 방법이 없었다(SDK 1.9.2 에서 연결).
61
+ *
62
+ * ⚠️ 빈 문자열이면 **전달하지 않는다** — 빈 값을 넘기면 SDK 기본 엔드포인트
63
+ * 해석이 깨질 수 있으므로, "미설정"과 "빈 문자열"을 같게 다룬다.
64
+ */
65
+ baseUrl?: string;
54
66
  }
55
67
  export declare class AnthropicAdapter implements LlmAdapter {
56
68
  private readonly client;
@@ -1 +1 @@
1
- {"version":3,"file":"anthropic.d.ts","sourceRoot":"","sources":["../../src/llm/anthropic.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAGH,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAErE,MAAM,WAAW,uBAAuB;IACtC,MAAM,EAAE,MAAM,CAAC;IACf;;;;;;;OAOG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,kDAAkD;IAClD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,wEAAwE;IACxE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,+DAA+D;IAC/D,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;CAC1B;AAED,qBAAa,gBAAiB,YAAW,UAAU;IACjD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAY;IACnC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAoC;IAGzD,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;gBAElB,IAAI,EAAE,uBAAuB;IAqBlC,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,IAAI,CAAC,EAAE,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC;CAuC3E"}
1
+ {"version":3,"file":"anthropic.d.ts","sourceRoot":"","sources":["../../src/llm/anthropic.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAGH,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAErE,MAAM,WAAW,uBAAuB;IACtC,MAAM,EAAE,MAAM,CAAC;IACf;;;;;;;OAOG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,kDAAkD;IAClD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,wEAAwE;IACxE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,+DAA+D;IAC/D,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB;;;;;;;;;;OAUG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,qBAAa,gBAAiB,YAAW,UAAU;IACjD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAY;IACnC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAoC;IAGzD,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;gBAElB,IAAI,EAAE,uBAAuB;IAwBlC,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,IAAI,CAAC,EAAE,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC;CAuC3E"}
@@ -37,11 +37,14 @@ export class AnthropicAdapter {
37
37
  temperature: opts.temperature ?? 0.7,
38
38
  topP: opts.topP ?? undefined,
39
39
  stopSequences: opts.stopSequences ?? [],
40
+ baseUrl: opts.baseUrl ?? '',
40
41
  apiKey: opts.apiKey,
41
42
  };
42
43
  this.systemPrompt = this.opts.systemPrompt;
43
44
  this.client = new Anthropic({
44
45
  apiKey: opts.apiKey,
46
+ // baseUrl 이 비면 키 자체를 넘기지 않는다(공식 엔드포인트 유지).
47
+ ...(this.opts.baseUrl ? { baseURL: this.opts.baseUrl } : {}),
45
48
  defaultHeaders: {
46
49
  'anthropic-version': '2023-06-01',
47
50
  },
@@ -1 +1 @@
1
- {"version":3,"file":"anthropic.js","sourceRoot":"","sources":["../../src/llm/anthropic.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"anthropic.js","sourceRoot":"","sources":["../../src/llm/anthropic.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=baseurl.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"baseurl.test.d.ts","sourceRoot":"","sources":["../../src/llm/baseurl.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,53 @@
1
+ /**
2
+ * baseUrl 오버라이드 배선 테스트 (SDK 1.9.2).
3
+ *
4
+ * 게이트웨이는 `GET /api/v1/llm/resolve` 응답으로 `baseUrl` 을 내려주고 있었으나
5
+ * (server.go:6236,7279 — 주석: "온프렘 로컬 LLM 오버라이드 — SDK 도 같은 엔드포인트
6
+ * 사용") 어댑터에는 그 값을 받는 옵션 자체가 없어 **폐쇄망에서 로컬 LLM 을 가리킬
7
+ * 방법이 없었다.** 이 테스트는 그 배선이 다시 끊기지 않게 못 박는다.
8
+ *
9
+ * 특히 **"빈 문자열 = 미설정"** 규칙을 검증한다 — 게이트웨이는 오버라이드가 없을 때
10
+ * `baseUrl: ""` 를 내려주므로(`omitempty` 는 JSON 태그일 뿐 resolve 핸들러는 map 으로
11
+ * 항상 키를 싣는다), 그 빈 값을 그대로 벤더 SDK 에 넘기면 공식 엔드포인트 해석이
12
+ * 깨질 수 있다. 호출자가 resolve 응답을 그대로 펼쳐 넣는 것이 정상 사용법이므로
13
+ * 어댑터가 빈 값을 흡수해야 한다.
14
+ *
15
+ * 네트워크를 타지 않는다 — 생성자 배선만 확인한다.
16
+ */
17
+ import { AnthropicAdapter } from './anthropic.js';
18
+ import { OpenAILlmAdapter } from './openai-llm.js';
19
+ /** 벤더 SDK 클라이언트의 실효 baseURL (private 필드를 테스트 목적으로만 들여다본다) */
20
+ function clientBaseURL(adapter) {
21
+ return String(adapter.client.baseURL);
22
+ }
23
+ describe('AnthropicAdapter baseUrl', () => {
24
+ it('미지정이면 공식 엔드포인트를 쓴다', () => {
25
+ const a = new AnthropicAdapter({ apiKey: 'k' });
26
+ expect(clientBaseURL(a)).toContain('api.anthropic.com');
27
+ });
28
+ it('빈 문자열은 미설정과 같게 다룬다 (resolve 응답 그대로 전달 대비)', () => {
29
+ const a = new AnthropicAdapter({ apiKey: 'k', baseUrl: '' });
30
+ expect(clientBaseURL(a)).toContain('api.anthropic.com');
31
+ });
32
+ it('지정하면 그 주소로 나간다 (온프렘 프록시)', () => {
33
+ const a = new AnthropicAdapter({ apiKey: 'k', baseUrl: 'http://10.0.0.9:8000' });
34
+ expect(clientBaseURL(a)).toContain('10.0.0.9:8000');
35
+ expect(clientBaseURL(a)).not.toContain('api.anthropic.com');
36
+ });
37
+ });
38
+ describe('OpenAILlmAdapter baseUrl', () => {
39
+ it('미지정이면 공식 엔드포인트를 쓴다', () => {
40
+ const o = new OpenAILlmAdapter({ apiKey: 'k' });
41
+ expect(clientBaseURL(o)).toContain('api.openai.com');
42
+ });
43
+ it('빈 문자열은 미설정과 같게 다룬다', () => {
44
+ const o = new OpenAILlmAdapter({ apiKey: 'k', baseUrl: '' });
45
+ expect(clientBaseURL(o)).toContain('api.openai.com');
46
+ });
47
+ it('지정하면 그 주소로 나간다 (vLLM/Ollama 등 OpenAI 호환 로컬 LLM)', () => {
48
+ const o = new OpenAILlmAdapter({ apiKey: 'k', baseUrl: 'http://127.0.0.1:11434/v1' });
49
+ expect(clientBaseURL(o)).toContain('127.0.0.1:11434');
50
+ expect(clientBaseURL(o)).not.toContain('api.openai.com');
51
+ });
52
+ });
53
+ //# sourceMappingURL=baseurl.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"baseurl.test.js","sourceRoot":"","sources":["../../src/llm/baseurl.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAEnD,6DAA6D;AAC7D,SAAS,aAAa,CAAC,OAAgB;IACrC,OAAO,MAAM,CAAE,OAA2C,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;AAC7E,CAAC;AAED,QAAQ,CAAC,0BAA0B,EAAE,GAAG,EAAE;IACxC,EAAE,CAAC,oBAAoB,EAAE,GAAG,EAAE;QAC5B,MAAM,CAAC,GAAG,IAAI,gBAAgB,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;QAChD,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,mBAAmB,CAAC,CAAC;IAC1D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2CAA2C,EAAE,GAAG,EAAE;QACnD,MAAM,CAAC,GAAG,IAAI,gBAAgB,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;QAC7D,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,mBAAmB,CAAC,CAAC;IAC1D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0BAA0B,EAAE,GAAG,EAAE;QAClC,MAAM,CAAC,GAAG,IAAI,gBAAgB,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,sBAAsB,EAAE,CAAC,CAAC;QACjF,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC;QACpD,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,mBAAmB,CAAC,CAAC;IAC9D,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,0BAA0B,EAAE,GAAG,EAAE;IACxC,EAAE,CAAC,oBAAoB,EAAE,GAAG,EAAE;QAC5B,MAAM,CAAC,GAAG,IAAI,gBAAgB,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;QAChD,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;IACvD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oBAAoB,EAAE,GAAG,EAAE;QAC5B,MAAM,CAAC,GAAG,IAAI,gBAAgB,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;QAC7D,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;IACvD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iDAAiD,EAAE,GAAG,EAAE;QACzD,MAAM,CAAC,GAAG,IAAI,gBAAgB,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,2BAA2B,EAAE,CAAC,CAAC;QACtF,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC;QACtD,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;IAC3D,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -44,6 +44,17 @@ export interface OpenAILlmAdapterOptions {
44
44
  * Positive values reduce verbatim repetition.
45
45
  */
46
46
  frequencyPenalty?: number;
47
+ /**
48
+ * API 엔드포인트 오버라이드 (기본: 공식 https://api.openai.com/v1)
49
+ *
50
+ * 온프렘·폐쇄망의 **OpenAI 호환 로컬 LLM**(vLLM · Ollama · LM Studio 등)을
51
+ * 가리킬 때 쓴다. 게이트웨이 `GET /api/v1/llm/resolve` 응답의 `baseUrl` 을
52
+ * 그대로 넣으면 된다 — 게이트웨이는 이 값을 이미 내려주고 있었으나 어댑터가
53
+ * 받는 자리가 없어 폐쇄망에서 로컬 LLM 을 가리킬 방법이 없었다(SDK 1.9.2 에서 연결).
54
+ *
55
+ * ⚠️ 빈 문자열이면 **전달하지 않는다** — "미설정"과 "빈 문자열"을 같게 다룬다.
56
+ */
57
+ baseUrl?: string;
47
58
  }
48
59
  export declare class OpenAILlmAdapter implements LlmAdapter {
49
60
  private readonly client;
@@ -1 +1 @@
1
- {"version":3,"file":"openai-llm.d.ts","sourceRoot":"","sources":["../../src/llm/openai-llm.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAGH,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAErE,MAAM,WAAW,uBAAuB;IACtC,MAAM,EAAE,MAAM,CAAC;IACf;;;;;OAKG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,oBAAoB;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,wCAAwC;IACxC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iCAAiC;IACjC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,qBAAa,gBAAiB,YAAW,UAAU;IACjD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAoC;IAEzD,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;gBAElB,IAAI,EAAE,uBAAuB;IAelC,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,IAAI,CAAC,EAAE,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC;CA8B3E"}
1
+ {"version":3,"file":"openai-llm.d.ts","sourceRoot":"","sources":["../../src/llm/openai-llm.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAGH,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAErE,MAAM,WAAW,uBAAuB;IACtC,MAAM,EAAE,MAAM,CAAC;IACf;;;;;OAKG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,oBAAoB;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,wCAAwC;IACxC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iCAAiC;IACjC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B;;;;;;;;;OASG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,qBAAa,gBAAiB,YAAW,UAAU;IACjD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAoC;IAEzD,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;gBAElB,IAAI,EAAE,uBAAuB;IAoBlC,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,IAAI,CAAC,EAAE,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC;CA8B3E"}
@@ -31,10 +31,15 @@ export class OpenAILlmAdapter {
31
31
  temperature: opts.temperature ?? 0.7,
32
32
  presencePenalty: opts.presencePenalty ?? 0.0,
33
33
  frequencyPenalty: opts.frequencyPenalty ?? 0.0,
34
+ baseUrl: opts.baseUrl ?? '',
34
35
  apiKey: opts.apiKey,
35
36
  };
36
37
  this.systemPrompt = this.opts.systemPrompt;
37
- this.client = new OpenAI({ apiKey: opts.apiKey });
38
+ // baseUrl 이 비면 키 자체를 넘기지 않는다(공식 엔드포인트 유지).
39
+ this.client = new OpenAI({
40
+ apiKey: opts.apiKey,
41
+ ...(this.opts.baseUrl ? { baseURL: this.opts.baseUrl } : {}),
42
+ });
38
43
  }
39
44
  async *chat(messages, opts) {
40
45
  const model = opts?.model ?? this.opts.model;
@@ -1 +1 @@
1
- {"version":3,"file":"openai-llm.js","sourceRoot":"","sources":["../../src/llm/openai-llm.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,MAAM,MAAM,QAAQ,CAAC;AA8B5B,MAAM,OAAO,gBAAgB;IACV,MAAM,CAAS;IACf,IAAI,CAAoC;IAEhD,YAAY,CAAS;IAE9B,YAAY,IAA6B;QACvC,IAAI,CAAC,IAAI,GAAG;YACV,KAAK,EAAc,IAAI,CAAC,KAAK,IAAgB,aAAa;YAC1D,YAAY,EAAO,IAAI,CAAC,YAAY,IAAS,6EAA6E;YAC1H,SAAS,EAAU,IAAI,CAAC,SAAS,IAAY,IAAI;YACjD,WAAW,EAAQ,IAAI,CAAC,WAAW,IAAU,GAAG;YAChD,eAAe,EAAI,IAAI,CAAC,eAAe,IAAM,GAAG;YAChD,gBAAgB,EAAG,IAAI,CAAC,gBAAgB,IAAK,GAAG;YAChD,MAAM,EAAa,IAAI,CAAC,MAAM;SAC/B,CAAC;QAEF,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC;QAC3C,IAAI,CAAC,MAAM,GAAG,IAAI,MAAM,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;IACpD,CAAC;IAED,KAAK,CAAC,CAAC,IAAI,CAAC,QAAmB,EAAE,IAAiB;QAChD,MAAM,KAAK,GAAS,IAAI,EAAE,KAAK,IAAU,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;QACzD,MAAM,SAAS,GAAK,IAAI,EAAE,SAAS,IAAM,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;QAC7D,MAAM,WAAW,GAAG,IAAI,EAAE,WAAW,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC;QAC/D,MAAM,MAAM,GAAQ,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,EAAE,OAAO;eACjE,IAAI,EAAE,YAAY;eAClB,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC;QAE5B,MAAM,YAAY,GAA6C;YAC7D,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE;YACnC,GAAG,QAAQ;iBACR,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC;iBAClC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAA4B,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;SAC9E,CAAC;QAEF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;YACvD,KAAK;YACL,UAAU,EAAS,SAAS;YAC5B,WAAW;YACX,gBAAgB,EAAG,IAAI,CAAC,IAAI,CAAC,eAAe;YAC5C,iBAAiB,EAAE,IAAI,CAAC,IAAI,CAAC,gBAAgB;YAC7C,QAAQ,EAAW,YAAY;YAC/B,MAAM,EAAa,IAAI;SACxB,CAAC,CAAC;QAEH,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YACjC,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC;YAC/C,IAAI,KAAK;gBAAE,MAAM,KAAK,CAAC;QACzB,CAAC;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"openai-llm.js","sourceRoot":"","sources":["../../src/llm/openai-llm.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,MAAM,MAAM,QAAQ,CAAC;AAyC5B,MAAM,OAAO,gBAAgB;IACV,MAAM,CAAS;IACf,IAAI,CAAoC;IAEhD,YAAY,CAAS;IAE9B,YAAY,IAA6B;QACvC,IAAI,CAAC,IAAI,GAAG;YACV,KAAK,EAAc,IAAI,CAAC,KAAK,IAAgB,aAAa;YAC1D,YAAY,EAAO,IAAI,CAAC,YAAY,IAAS,6EAA6E;YAC1H,SAAS,EAAU,IAAI,CAAC,SAAS,IAAY,IAAI;YACjD,WAAW,EAAQ,IAAI,CAAC,WAAW,IAAU,GAAG;YAChD,eAAe,EAAI,IAAI,CAAC,eAAe,IAAM,GAAG;YAChD,gBAAgB,EAAG,IAAI,CAAC,gBAAgB,IAAK,GAAG;YAChD,OAAO,EAAY,IAAI,CAAC,OAAO,IAAc,EAAE;YAC/C,MAAM,EAAa,IAAI,CAAC,MAAM;SAC/B,CAAC;QAEF,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC;QAC3C,2CAA2C;QAC3C,IAAI,CAAC,MAAM,GAAG,IAAI,MAAM,CAAC;YACvB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC7D,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,CAAC,IAAI,CAAC,QAAmB,EAAE,IAAiB;QAChD,MAAM,KAAK,GAAS,IAAI,EAAE,KAAK,IAAU,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;QACzD,MAAM,SAAS,GAAK,IAAI,EAAE,SAAS,IAAM,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;QAC7D,MAAM,WAAW,GAAG,IAAI,EAAE,WAAW,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC;QAC/D,MAAM,MAAM,GAAQ,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,EAAE,OAAO;eACjE,IAAI,EAAE,YAAY;eAClB,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC;QAE5B,MAAM,YAAY,GAA6C;YAC7D,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE;YACnC,GAAG,QAAQ;iBACR,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC;iBAClC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAA4B,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;SAC9E,CAAC;QAEF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;YACvD,KAAK;YACL,UAAU,EAAS,SAAS;YAC5B,WAAW;YACX,gBAAgB,EAAG,IAAI,CAAC,IAAI,CAAC,eAAe;YAC5C,iBAAiB,EAAE,IAAI,CAAC,IAAI,CAAC,gBAAgB;YAC7C,QAAQ,EAAW,YAAY;YAC/B,MAAM,EAAa,IAAI;SACxB,CAAC,CAAC;QAEH,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YACjC,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC;YAC/C,IAAI,KAAK;gBAAE,MAAM,KAAK,CAAC;QACzB,CAAC;IACH,CAAC;CACF"}
@@ -81,6 +81,24 @@ export interface DeepgramAdapterOptions {
81
81
  * Docs: https://developers.deepgram.com/docs/sentiment-analysis
82
82
  */
83
83
  sentiment?: boolean;
84
+ /**
85
+ * Emit the pre-formatting transcript alongside the formatted one
86
+ * (`TranscriptResult.rawText` / `TranscriptWord.rawWord`). Default: `true`.
87
+ *
88
+ * Deepgram already returns both forms in the same response, so keeping the
89
+ * raw one costs **no extra request and no extra billing** — which is why this
90
+ * defaults to on.
91
+ *
92
+ * Set to `false` when you do not want the spoken content duplicated in the
93
+ * transcript payload (e.g. sensitive-content deployments, or to trim payload
94
+ * size). Turning it off skips the reconstruction entirely rather than
95
+ * building and discarding it.
96
+ *
97
+ * ⚠️ Even when `true`, the fields are absent whenever no formatting was
98
+ * applied (`smartFormat: false` + `punctuate: false`) — raw and formatted are
99
+ * identical then, so emitting both would just duplicate `text`.
100
+ */
101
+ rawTranscript?: boolean;
84
102
  }
85
103
  export declare class DeepgramAdapter implements SttAdapter {
86
104
  private readonly opts;
@@ -1 +1 @@
1
- {"version":3,"file":"deepgram.d.ts","sourceRoot":"","sources":["../../src/stt/deepgram.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAIH,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,gBAAgB,EAAmB,MAAM,eAAe,CAAC;AAG/F,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,MAAM,CAAC;IACf,iEAAiE;IACjE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,+EAA+E;IAC/E,OAAO,CAAC,EAAE,OAAO,CAAC;IAMlB;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;;;OAKG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;;;OAKG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IAKxB,iEAAiE;IACjE,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,kFAAkF;IAClF,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;OAEG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B;;;;OAIG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAkED,qBAAa,eAAgB,YAAW,UAAU;IAChD,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAmC;IACxD,OAAO,CAAC,iBAAiB,CAAqD;IAC9E,OAAO,CAAC,EAAE,CAA0B;IACpC,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,SAAS,CAA+C;gBAEpD,IAAI,EAAE,sBAAsB;IAoBxC,YAAY,CAAC,OAAO,EAAE,CAAC,MAAM,EAAE,gBAAgB,KAAK,IAAI,GAAG,IAAI;IAIzD,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,aAAa,CAAC,UAAU,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAsBpF,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAY3B,OAAO,CAAC,cAAc;YAqCR,eAAe;YAmCf,aAAa;YA8Cb,SAAS;IAUvB,OAAO,CAAC,gBAAgB;CA2DzB"}
1
+ {"version":3,"file":"deepgram.d.ts","sourceRoot":"","sources":["../../src/stt/deepgram.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAIH,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,gBAAgB,EAAmB,MAAM,eAAe,CAAC;AAG/F,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,MAAM,CAAC;IACf,iEAAiE;IACjE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,+EAA+E;IAC/E,OAAO,CAAC,EAAE,OAAO,CAAC;IAMlB;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;;;OAKG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;;;OAKG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IAKxB,iEAAiE;IACjE,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,kFAAkF;IAClF,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;OAEG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B;;;;OAIG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;;;;;;;;;;;;;;OAgBG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAkED,qBAAa,eAAgB,YAAW,UAAU;IAChD,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAmC;IACxD,OAAO,CAAC,iBAAiB,CAAqD;IAC9E,OAAO,CAAC,EAAE,CAA0B;IACpC,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,SAAS,CAA+C;gBAEpD,IAAI,EAAE,sBAAsB;IAqBxC,YAAY,CAAC,OAAO,EAAE,CAAC,MAAM,EAAE,gBAAgB,KAAK,IAAI,GAAG,IAAI;IAIzD,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,aAAa,CAAC,UAAU,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAsBpF,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAY3B,OAAO,CAAC,cAAc;YAqCR,eAAe;YAmCf,aAAa;YA8Cb,SAAS;IAUvB,OAAO,CAAC,gBAAgB;CAwFzB"}
@@ -76,6 +76,7 @@ export class DeepgramAdapter {
76
76
  punctuate: opts.punctuate ?? true,
77
77
  profanityFilter: opts.profanityFilter ?? false,
78
78
  sentiment: opts.sentiment ?? false,
79
+ rawTranscript: opts.rawTranscript ?? true, // no extra call/billing → on by default
79
80
  apiKey: opts.apiKey,
80
81
  };
81
82
  }
@@ -264,6 +265,27 @@ export class DeepgramAdapter {
264
265
  }
265
266
  }
266
267
  }
268
+ // Pre-formatting transcript, reconstructed from the raw word tokens that
269
+ // Deepgram already ships alongside the formatted ones.
270
+ //
271
+ // Built only when formatting actually happened (at least one word differs
272
+ // from its punctuated form). Otherwise raw === formatted and emitting it
273
+ // would just duplicate `text` while falsely signalling "a raw form exists".
274
+ //
275
+ // ⚠️ Space-joining is an approximation: Korean word spacing is itself part
276
+ // of what the formatter adjusts, so this must not replace `text`.
277
+ //
278
+ // Skipped entirely when `rawTranscript: false` — not built and thrown away.
279
+ let rawText;
280
+ const wantRaw = this.opts.rawTranscript;
281
+ if (wantRaw && alt.words?.some((w) => w.punctuated_word && w.punctuated_word !== w.word)) {
282
+ const raw = alt.words
283
+ .map((w) => w.word)
284
+ .filter((w) => w.length > 0)
285
+ .join(' ');
286
+ if (raw && raw !== alt.transcript)
287
+ rawText = raw;
288
+ }
267
289
  const result = {
268
290
  linkedId: '', // Set by caller context
269
291
  text: alt.transcript,
@@ -271,12 +293,20 @@ export class DeepgramAdapter {
271
293
  confidence: alt.confidence,
272
294
  language: this.opts.language,
273
295
  timestampMs: Date.now(),
296
+ // `word` stays the display form (punctuated when available); the
297
+ // pre-formatting token is preserved in `rawWord` instead of being
298
+ // discarded. Deepgram sends both in the same response — keeping the raw
299
+ // one costs no extra request and no extra billing.
274
300
  words: alt.words?.map((w) => ({
275
301
  word: w.punctuated_word ?? w.word,
302
+ ...(wantRaw && w.punctuated_word && w.punctuated_word !== w.word
303
+ ? { rawWord: w.word }
304
+ : {}),
276
305
  startMs: Math.round(w.start * 1000),
277
306
  endMs: Math.round(w.end * 1000),
278
307
  confidence: w.confidence,
279
308
  })),
309
+ ...(rawText ? { rawText } : {}),
280
310
  ...(this.opts.diarize && alt.words?.[0]?.speaker !== undefined
281
311
  ? { speaker: `speaker_${alt.words[0].speaker}` }
282
312
  : {}),
@@ -1 +1 @@
1
- {"version":3,"file":"deepgram.js","sourceRoot":"","sources":["../../src/stt/deepgram.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"deepgram.js","sourceRoot":"","sources":["../../src/stt/deepgram.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dvgateway-adapters",
3
- "version": "1.9.1",
3
+ "version": "1.9.3",
4
4
  "description": "AI service adapters for DVGateway SDK (Deepgram, ElevenLabs, Anthropic, OpenAI, OpenAI Realtime)",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -85,6 +85,7 @@
85
85
  "@types/ws": "^8.5.10",
86
86
  "jest": "^30.3.0",
87
87
  "ts-jest": "^29.4.9",
88
+ "ts-node": "^10.9.2",
88
89
  "typescript": "^5.4.0"
89
90
  },
90
91
  "peerDependencies": {