@holokai/holo-provider-openai 1.4.4 → 1.5.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 +15 -15
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/openai.provider.d.ts +0 -1
- package/dist/openai.provider.d.ts.map +1 -1
- package/dist/openai.provider.js +2 -17
- package/dist/openai.provider.js.map +1 -1
- package/dist/openai.translator.d.ts +19 -8
- package/dist/openai.translator.d.ts.map +1 -1
- package/dist/openai.translator.js +100 -8
- package/dist/openai.translator.js.map +1 -1
- package/dist/plugin.d.ts +12 -3
- package/dist/plugin.d.ts.map +1 -1
- package/dist/plugin.js +50 -2
- package/dist/plugin.js.map +1 -1
- package/dist/translators/index.d.ts +2 -1
- package/dist/translators/index.d.ts.map +1 -1
- package/dist/translators/index.js +2 -1
- package/dist/translators/index.js.map +1 -1
- package/dist/translators/{openai.response.message.translators.d.ts → openai.chatcompletion.message.translators.d.ts} +2 -2
- package/dist/translators/openai.chatcompletion.message.translators.d.ts.map +1 -0
- package/dist/translators/{openai.response.message.translators.js → openai.chatcompletion.message.translators.js} +35 -15
- package/dist/translators/openai.chatcompletion.message.translators.js.map +1 -0
- package/dist/translators/openai.chatcompletion.request.translators.d.ts.map +1 -1
- package/dist/translators/openai.chatcompletion.request.translators.js +13 -14
- package/dist/translators/openai.chatcompletion.request.translators.js.map +1 -1
- package/dist/translators/openai.chatcompletion.response.translators.d.ts +2 -2
- package/dist/translators/openai.chatcompletion.response.translators.d.ts.map +1 -1
- package/dist/translators/openai.chatcompletion.response.translators.js +37 -27
- package/dist/translators/openai.chatcompletion.response.translators.js.map +1 -1
- package/dist/translators/openai.message.translators.d.ts.map +1 -1
- package/dist/translators/openai.message.translators.js +54 -26
- package/dist/translators/openai.message.translators.js.map +1 -1
- package/dist/translators/openai.responses.request.translators.d.ts.map +1 -1
- package/dist/translators/openai.responses.request.translators.js +362 -118
- package/dist/translators/openai.responses.request.translators.js.map +1 -1
- package/dist/translators/openai.responses.response.translators.d.ts +12 -0
- package/dist/translators/openai.responses.response.translators.d.ts.map +1 -0
- package/dist/translators/openai.responses.response.translators.js +264 -0
- package/dist/translators/openai.responses.response.translators.js.map +1 -0
- package/dist/translators/openai.tool.translators.d.ts +3 -6
- package/dist/translators/openai.tool.translators.d.ts.map +1 -1
- package/dist/translators/openai.tool.translators.js +25 -16
- package/dist/translators/openai.tool.translators.js.map +1 -1
- package/dist/translators/openai.usage.translators.d.ts.map +1 -1
- package/dist/translators/openai.usage.translators.js +5 -2
- package/dist/translators/openai.usage.translators.js.map +1 -1
- package/dist/translators/streaming/index.d.ts +1 -0
- package/dist/translators/streaming/index.d.ts.map +1 -1
- package/dist/translators/streaming/index.js +1 -0
- package/dist/translators/streaming/index.js.map +1 -1
- package/dist/translators/streaming/openai.content.delta.translator.d.ts.map +1 -1
- package/dist/translators/streaming/openai.content.delta.translator.js +56 -10
- package/dist/translators/streaming/openai.content.delta.translator.js.map +1 -1
- package/dist/translators/streaming/openai.message.delta.translator.d.ts.map +1 -1
- package/dist/translators/streaming/openai.message.delta.translator.js +92 -34
- package/dist/translators/streaming/openai.message.delta.translator.js.map +1 -1
- package/dist/translators/streaming/openai.responses.stream.translator.d.ts +44 -0
- package/dist/translators/streaming/openai.responses.stream.translator.d.ts.map +1 -0
- package/dist/translators/streaming/openai.responses.stream.translator.js +267 -0
- package/dist/translators/streaming/openai.responses.stream.translator.js.map +1 -0
- package/dist/translators/streaming/openai.stream.translator.d.ts.map +1 -1
- package/dist/translators/streaming/openai.stream.translator.js +7 -2
- package/dist/translators/streaming/openai.stream.translator.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +4 -1
- package/dist/translators/openai.response.message.translators.d.ts.map +0 -1
- package/dist/translators/openai.response.message.translators.js.map +0 -1
package/README.md
CHANGED
|
@@ -485,25 +485,25 @@ The plugin translates OpenAI chunks to Holo streaming events:
|
|
|
485
485
|
### Streaming Example
|
|
486
486
|
|
|
487
487
|
```typescript
|
|
488
|
-
import {
|
|
488
|
+
import {HoloStreamChunk} from '@holokai/holo-sdk';
|
|
489
489
|
|
|
490
490
|
const stream = await openaiProvider.streamChat(request);
|
|
491
491
|
|
|
492
492
|
for await (const chunk: HoloStreamChunk of stream) {
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
493
|
+
switch (chunk.delta?.type) {
|
|
494
|
+
case 'message_start':
|
|
495
|
+
console.log('Message started:', chunk.id);
|
|
496
|
+
break;
|
|
497
|
+
case 'content_delta':
|
|
498
|
+
process.stdout.write(chunk.delta.delta.content ?? '');
|
|
499
|
+
break;
|
|
500
|
+
case 'message_delta':
|
|
501
|
+
console.log('Usage:', chunk.usage);
|
|
502
|
+
break;
|
|
503
|
+
case 'message_stop':
|
|
504
|
+
console.log('Complete. Reason:', chunk.finish_reason);
|
|
505
|
+
break;
|
|
506
|
+
}
|
|
507
507
|
}
|
|
508
508
|
```
|
|
509
509
|
|
package/dist/index.d.ts
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* Entry point for the OpenAI provider plugin.
|
|
5
5
|
* Exports the plugin instance as default export per Holo plugin contract.
|
|
6
6
|
*/
|
|
7
|
-
import { OpenAIProviderPlugin } from './plugin
|
|
7
|
+
import { OpenAIProviderPlugin } from './plugin';
|
|
8
8
|
export * from './translators';
|
|
9
9
|
export * from './manifest';
|
|
10
10
|
export * from './openai.auditor';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAC,oBAAoB,EAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAC,oBAAoB,EAAC,MAAM,UAAU,CAAC;AAE9C,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAE3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,UAAU,CAAC;;AAGzB,wBAA0C"}
|
package/dist/index.js
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* Entry point for the OpenAI provider plugin.
|
|
5
5
|
* Exports the plugin instance as default export per Holo plugin contract.
|
|
6
6
|
*/
|
|
7
|
-
import { OpenAIProviderPlugin } from './plugin
|
|
7
|
+
import { OpenAIProviderPlugin } from './plugin';
|
|
8
8
|
export * from './translators';
|
|
9
9
|
export * from './manifest';
|
|
10
10
|
export * from './openai.auditor';
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAC,oBAAoB,EAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAC,oBAAoB,EAAC,MAAM,UAAU,CAAC;AAE9C,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAE3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,UAAU,CAAC;AAEzB,0DAA0D;AAC1D,eAAe,IAAI,oBAAoB,EAAE,CAAC"}
|
|
@@ -17,7 +17,6 @@ export declare class OpenAIProvider extends BaseProvider<OpenAI, EmbeddingCreate
|
|
|
17
17
|
data: Model[];
|
|
18
18
|
}>;
|
|
19
19
|
discoverModels(): Promise<DiscoveredModel[]>;
|
|
20
|
-
getModelNameFromRequest(payload: EmbeddingCreateParams | ResponseCreateParamsBase | ChatCompletionCreateParamsBase): Promise<string | undefined>;
|
|
21
20
|
runEmbed(payload: EmbeddingCreateParams): Promise<{
|
|
22
21
|
start: () => Promise<OpenAI.Embeddings.CreateEmbeddingResponse & {
|
|
23
22
|
_request_id?: string | null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openai.provider.d.ts","sourceRoot":"","sources":["../src/openai.provider.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAC,YAAY,EAAC,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"openai.provider.d.ts","sourceRoot":"","sources":["../src/openai.provider.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAC,YAAY,EAAC,MAAM,4BAA4B,CAAC;AACxD,OAAO,KAAK,EAAC,eAAe,EAAE,QAAQ,EAAE,mBAAmB,EAAE,gBAAgB,EAAC,MAAM,8BAA8B,CAAC;AACnH,OAAO,EAAC,eAAe,EAAE,SAAS,EAAC,MAAM,8BAA8B,CAAC;AACxE,OAAO,EAAC,wBAAwB,EAAE,kBAAkB,EAAsB,MAAM,sCAAsC,CAAC;AACvH,OAAO,EAAC,8BAA8B,EAAC,MAAM,mCAAmC,CAAC;AAEjF,OAAO,EAAC,KAAK,EAAa,MAAM,yBAAyB,CAAC;AAG1D,OAAO,EAAC,QAAQ,EAAC,MAAM,mBAAmB,CAAC;AAG3C,OAAO,EAAC,qBAAqB,EAAC,MAAM,kBAAkB,CAAC;AAEvD,OAAO,EAAC,kBAAkB,EAAC,MAAM,8BAA8B,CAAC;AAEhE;;GAEG;AACH,qBAAa,cAAe,SAAQ,YAAY,CAAC,MAAM,EAAE,qBAAqB,GAAG,wBAAwB,GAAG,8BAA8B,CAAC;IAEjI,SAAS,CAAC,aAAa,EAAE,MAAM,EAAE,GAAG,IAAI,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,KAAK,EAAE,CAAA;KAAE,CAAC;IAarF,cAAc,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;IAc5C,QAAQ,CAAC,OAAO,EAAE,qBAAqB;;;;;IAM7C,eAAe,CAAC,OAAO,EAAE,GAAG,GAAG,IAAI;IAiCnC,SAAS,CAAC,aAAa,IAAI,QAAQ;IAInC,SAAS,CAAC,YAAY,IAAI,MAAM;IAIhC,SAAS,CAAC,gBAAgB,IAAI,mBAAmB;IAIjD,SAAS,CAAC,qBAAqB,IAAI,gBAAgB;cAInC,gBAAgB,CAAC,UAAU,EAAE,kBAAkB,GAAG,SAAS,EAAE,OAAO,EAAE,GAAG,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;cAO/G,WAAW,CAAC,KAAK,EAAE,QAAQ,GAAG,OAAO,CAAC,kBAAkB,CAAC;cASzD,mBAAmB,CAC/B,MAAM,EAAE,wBAAwB,GAAG,8BAA8B,GAAG,qBAAqB,EACzF,GAAG,EAAE,eAAe,GACrB,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;YAcZ,YAAY;YA+CZ,kBAAkB;CAsDnC"}
|
package/dist/openai.provider.js
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import OpenAI from 'openai';
|
|
2
2
|
import { BaseProvider } from '@holokai/holo-sdk/provider';
|
|
3
|
-
import { pickDefined } from '@holokai/holo-sdk';
|
|
4
3
|
import { OpenAIAuditor } from './openai.auditor';
|
|
5
4
|
import { OpenAITranslator } from './openai.translator';
|
|
6
5
|
import { OpenAIResponseFactory } from './openai.response.factory';
|
|
@@ -33,9 +32,6 @@ export class OpenAIProvider extends BaseProvider {
|
|
|
33
32
|
metadata: m,
|
|
34
33
|
}));
|
|
35
34
|
}
|
|
36
|
-
async getModelNameFromRequest(payload) {
|
|
37
|
-
return payload.model;
|
|
38
|
-
}
|
|
39
35
|
async runEmbed(payload) {
|
|
40
36
|
return {
|
|
41
37
|
start: async () => this.client.embeddings.create(payload)
|
|
@@ -73,7 +69,6 @@ export class OpenAIProvider extends BaseProvider {
|
|
|
73
69
|
return new OpenAIAuditor();
|
|
74
70
|
}
|
|
75
71
|
createClient() {
|
|
76
|
-
this.log.info(JSON.stringify(this._config));
|
|
77
72
|
return new OpenAI(this._config);
|
|
78
73
|
}
|
|
79
74
|
createTranslator() {
|
|
@@ -83,20 +78,10 @@ export class OpenAIProvider extends BaseProvider {
|
|
|
83
78
|
return OpenAIResponseFactory.instance();
|
|
84
79
|
}
|
|
85
80
|
async translatePayload(capability, payload, protocolName) {
|
|
86
|
-
const translated = await super.translatePayload(capability, payload, protocolName);
|
|
87
81
|
if (protocolName === OpenAIProtocols.RESPONSES) {
|
|
88
|
-
|
|
89
|
-
const maxTokens = translated.max_completion_tokens ?? translated.max_tokens;
|
|
90
|
-
return pickDefined({
|
|
91
|
-
model: translated.model,
|
|
92
|
-
input: lastUserMsg?.content ?? '',
|
|
93
|
-
max_output_tokens: maxTokens != null ? Math.max(maxTokens, 16) : undefined,
|
|
94
|
-
stream: translated.stream,
|
|
95
|
-
temperature: translated.temperature,
|
|
96
|
-
top_p: translated.top_p,
|
|
97
|
-
});
|
|
82
|
+
return this.translator.fromHoloResponsesRequest(payload);
|
|
98
83
|
}
|
|
99
|
-
return
|
|
84
|
+
return super.translatePayload(capability, payload, protocolName);
|
|
100
85
|
}
|
|
101
86
|
async handleError(error) {
|
|
102
87
|
if (error.error) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openai.provider.js","sourceRoot":"","sources":["../src/openai.provider.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAC,YAAY,EAAC,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"openai.provider.js","sourceRoot":"","sources":["../src/openai.provider.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,23 +1,34 @@
|
|
|
1
1
|
import 'reflect-metadata';
|
|
2
2
|
import type { IProviderTranslator } from "@holokai/holo-types/provider";
|
|
3
|
-
import { OpenAIMessageTranslator, OpenAIRequestTranslator, OpenAIResponseTranslator, OpenAIStreamTranslator } from "./translators";
|
|
3
|
+
import { OpenAIMessageTranslator, OpenAIRequestTranslator, OpenAIResponseRequestTranslator, OpenAIResponsesResponseTranslator, OpenAIResponseTranslator, OpenAIStreamTranslator } from "./translators";
|
|
4
4
|
import { HoloEmbedParams, HoloMessage, HoloRequest, HoloResponse, HoloStreamChunk } from "@holokai/holo-types/holo";
|
|
5
5
|
import { ChatCompletion, ChatCompletionChunk, ChatCompletionMessageParam } from "openai/resources/chat/completions/completions";
|
|
6
6
|
import { ChatCompletionCreateParamsBase } from "openai/resources/chat/completions";
|
|
7
|
+
import type { ResponseStreamEvent } from "openai/resources/responses/responses";
|
|
8
|
+
import { Response, ResponseCreateParams } from "openai/resources/responses/responses";
|
|
9
|
+
import { OpenAIResponsesStreamTranslator } from "./translators/streaming";
|
|
7
10
|
export declare class OpenAITranslator implements IProviderTranslator {
|
|
8
11
|
private readonly responseTranslator;
|
|
12
|
+
private readonly responsesResponseTranslator;
|
|
9
13
|
private readonly requestTranslator;
|
|
14
|
+
private readonly responsesRequestTranslator;
|
|
10
15
|
private readonly messageTranslator;
|
|
11
16
|
private readonly streamTranslator;
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
17
|
+
private readonly responsesStreamTranslator;
|
|
18
|
+
constructor(responseTranslator: OpenAIResponseTranslator, responsesResponseTranslator: OpenAIResponsesResponseTranslator, requestTranslator: OpenAIRequestTranslator, responsesRequestTranslator: OpenAIResponseRequestTranslator, messageTranslator: OpenAIMessageTranslator, streamTranslator: OpenAIStreamTranslator, responsesStreamTranslator: OpenAIResponsesStreamTranslator);
|
|
19
|
+
static instance(): OpenAITranslator;
|
|
20
|
+
fromHoloResponsesRequest(request: HoloRequest): Promise<Partial<ResponseCreateParams>>;
|
|
21
|
+
toHoloResponsesRequest(request: ResponseCreateParams): Promise<Partial<HoloRequest>>;
|
|
22
|
+
fromHoloResponse(response: HoloResponse): Promise<Partial<ChatCompletion | ChatCompletionChunk | Response>>;
|
|
23
|
+
toHoloResponse(response: ChatCompletion | ChatCompletionChunk | Response): Promise<Partial<HoloResponse>>;
|
|
24
|
+
fromHoloResponsesResponse(response: HoloResponse): Promise<Partial<Response>>;
|
|
25
|
+
toHoloResponsesResponse(response: Response): Promise<Partial<HoloResponse>>;
|
|
26
|
+
fromHoloRequest(request: HoloRequest): Promise<Partial<ChatCompletionCreateParamsBase | ResponseCreateParams>>;
|
|
27
|
+
toHoloRequest(request: ChatCompletionCreateParamsBase | ResponseCreateParams): Promise<Partial<HoloRequest>>;
|
|
18
28
|
fromHoloMessages(messages: HoloMessage[]): Promise<Partial<ChatCompletionMessageParam>[]>;
|
|
19
29
|
toHoloMessages(messages: ChatCompletionMessageParam[]): Promise<Partial<HoloMessage>[]>;
|
|
20
|
-
|
|
30
|
+
fromHoloStream(source: AsyncIterable<HoloStreamChunk>): AsyncIterable<unknown>;
|
|
31
|
+
toHoloStream(source: AsyncIterable<ChatCompletionChunk | ResponseStreamEvent>): AsyncIterable<HoloStreamChunk>;
|
|
21
32
|
fromHoloEmbedRequest(request: HoloEmbedParams): Promise<any>;
|
|
22
33
|
toHoloEmbedResponse(response: any): Promise<{
|
|
23
34
|
model: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openai.translator.d.ts","sourceRoot":"","sources":["../src/openai.translator.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAC;AAE1B,OAAO,KAAK,EAAC,mBAAmB,EAAC,MAAM,8BAA8B,CAAC;AACtE,OAAO,
|
|
1
|
+
{"version":3,"file":"openai.translator.d.ts","sourceRoot":"","sources":["../src/openai.translator.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,18 +10,24 @@ var __metadata = (this && this.__metadata) || function (k, v) {
|
|
|
10
10
|
var OpenAITranslator_1;
|
|
11
11
|
import 'reflect-metadata';
|
|
12
12
|
import { injectable } from "tsyringe";
|
|
13
|
-
import { OpenAIContentTranslator, OpenAIImageContentTranslator, OpenAIMessageTranslator, OpenAIRequestTranslator,
|
|
14
|
-
import { OpenAIContentDeltaTranslator, OpenAIMessageDeltaTranslator, OpenAIMessageStartTranslator, OpenAIMessageStopTranslator } from "./translators/streaming";
|
|
13
|
+
import { OpenAIChatCompletionMessageTranslator, OpenAIContentTranslator, OpenAIImageContentTranslator, OpenAIMessageTranslator, OpenAIRequestTranslator, OpenAIResponseRequestTranslator, OpenAIResponsesResponseTranslator, OpenAIResponseTranslator, OpenAIStreamTranslator, OpenAITextContentTranslator, OpenAIToolChoiceTranslator, OpenAIToolTranslator, OpenAIUsageTranslator } from "./translators";
|
|
14
|
+
import { OpenAIContentDeltaTranslator, OpenAIMessageDeltaTranslator, OpenAIMessageStartTranslator, OpenAIMessageStopTranslator, OpenAIResponsesStreamTranslator } from "./translators/streaming";
|
|
15
15
|
let OpenAITranslator = OpenAITranslator_1 = class OpenAITranslator {
|
|
16
16
|
responseTranslator;
|
|
17
|
+
responsesResponseTranslator;
|
|
17
18
|
requestTranslator;
|
|
19
|
+
responsesRequestTranslator;
|
|
18
20
|
messageTranslator;
|
|
19
21
|
streamTranslator;
|
|
20
|
-
|
|
22
|
+
responsesStreamTranslator;
|
|
23
|
+
constructor(responseTranslator, responsesResponseTranslator, requestTranslator, responsesRequestTranslator, messageTranslator, streamTranslator, responsesStreamTranslator) {
|
|
21
24
|
this.responseTranslator = responseTranslator;
|
|
25
|
+
this.responsesResponseTranslator = responsesResponseTranslator;
|
|
22
26
|
this.requestTranslator = requestTranslator;
|
|
27
|
+
this.responsesRequestTranslator = responsesRequestTranslator;
|
|
23
28
|
this.messageTranslator = messageTranslator;
|
|
24
29
|
this.streamTranslator = streamTranslator;
|
|
30
|
+
this.responsesStreamTranslator = responsesStreamTranslator;
|
|
25
31
|
}
|
|
26
32
|
static instance() {
|
|
27
33
|
const textContentTranslator = new OpenAITextContentTranslator();
|
|
@@ -31,26 +37,53 @@ let OpenAITranslator = OpenAITranslator_1 = class OpenAITranslator {
|
|
|
31
37
|
const toolTranslator = new OpenAIToolTranslator();
|
|
32
38
|
const toolChoiceTranslator = new OpenAIToolChoiceTranslator();
|
|
33
39
|
const requestTranslator = new OpenAIRequestTranslator(messageTranslator, toolTranslator, toolChoiceTranslator);
|
|
40
|
+
const responsesRequestTranslator = new OpenAIResponseRequestTranslator();
|
|
34
41
|
const usageTranslator = new OpenAIUsageTranslator();
|
|
35
|
-
const responseMessageTranslator = new
|
|
42
|
+
const responseMessageTranslator = new OpenAIChatCompletionMessageTranslator();
|
|
36
43
|
const responseTranslator = new OpenAIResponseTranslator(responseMessageTranslator, usageTranslator);
|
|
44
|
+
const responsesResponseTranslator = new OpenAIResponsesResponseTranslator();
|
|
37
45
|
const messageStartTranslator = new OpenAIMessageStartTranslator();
|
|
38
46
|
const contentDeltaTranslator = new OpenAIContentDeltaTranslator();
|
|
39
47
|
const messageDeltaTranslator = new OpenAIMessageDeltaTranslator();
|
|
40
48
|
const messageStopTranslator = new OpenAIMessageStopTranslator();
|
|
41
49
|
const streamTranslator = new OpenAIStreamTranslator(messageStartTranslator, contentDeltaTranslator, messageDeltaTranslator, messageStopTranslator);
|
|
42
|
-
|
|
50
|
+
const responsesStreamTranslator = new OpenAIResponsesStreamTranslator();
|
|
51
|
+
return new OpenAITranslator_1(responseTranslator, responsesResponseTranslator, requestTranslator, responsesRequestTranslator, messageTranslator, streamTranslator, responsesStreamTranslator);
|
|
52
|
+
}
|
|
53
|
+
async fromHoloResponsesRequest(request) {
|
|
54
|
+
return this.responsesRequestTranslator.fromHolo(request);
|
|
55
|
+
}
|
|
56
|
+
async toHoloResponsesRequest(request) {
|
|
57
|
+
return this.responsesRequestTranslator.toHolo(request);
|
|
43
58
|
}
|
|
44
59
|
async fromHoloResponse(response) {
|
|
60
|
+
if (response.protocol === 'openai.responses') {
|
|
61
|
+
return this.responsesResponseTranslator.fromHolo(response);
|
|
62
|
+
}
|
|
45
63
|
return this.responseTranslator.fromHolo(response);
|
|
46
64
|
}
|
|
47
65
|
async toHoloResponse(response) {
|
|
66
|
+
if (isResponsesResponse(response)) {
|
|
67
|
+
return this.responsesResponseTranslator.toHolo(response);
|
|
68
|
+
}
|
|
48
69
|
return this.responseTranslator.toHolo(response);
|
|
49
70
|
}
|
|
71
|
+
async fromHoloResponsesResponse(response) {
|
|
72
|
+
return this.responsesResponseTranslator.fromHolo(response);
|
|
73
|
+
}
|
|
74
|
+
async toHoloResponsesResponse(response) {
|
|
75
|
+
return this.responsesResponseTranslator.toHolo(response);
|
|
76
|
+
}
|
|
50
77
|
async fromHoloRequest(request) {
|
|
78
|
+
if (request.protocol === 'openai.responses') {
|
|
79
|
+
return this.responsesRequestTranslator.fromHolo(request);
|
|
80
|
+
}
|
|
51
81
|
return this.requestTranslator.fromHolo(request);
|
|
52
82
|
}
|
|
53
83
|
async toHoloRequest(request) {
|
|
84
|
+
if (isResponsesRequest(request)) {
|
|
85
|
+
return this.responsesRequestTranslator.toHolo(request);
|
|
86
|
+
}
|
|
54
87
|
return this.requestTranslator.toHolo(request);
|
|
55
88
|
}
|
|
56
89
|
async fromHoloMessages(messages) {
|
|
@@ -59,8 +92,42 @@ let OpenAITranslator = OpenAITranslator_1 = class OpenAITranslator {
|
|
|
59
92
|
async toHoloMessages(messages) {
|
|
60
93
|
return this.messageTranslator.toHoloArray(messages);
|
|
61
94
|
}
|
|
62
|
-
async
|
|
63
|
-
|
|
95
|
+
async *fromHoloStream(source) {
|
|
96
|
+
const iter = source[Symbol.asyncIterator]();
|
|
97
|
+
const first = await iter.next();
|
|
98
|
+
if (first.done)
|
|
99
|
+
return;
|
|
100
|
+
const useResponses = first.value?.delta?.provider === 'openai'
|
|
101
|
+
&& isResponseStreamEvent(first.value.delta.provider_delta);
|
|
102
|
+
const translator = useResponses ? this.responsesStreamTranslator : this.streamTranslator;
|
|
103
|
+
async function* prepended() {
|
|
104
|
+
yield first.value;
|
|
105
|
+
while (true) {
|
|
106
|
+
const r = await iter.next();
|
|
107
|
+
if (r.done)
|
|
108
|
+
return;
|
|
109
|
+
yield r.value;
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
yield* translator.fromHoloStream(prepended());
|
|
113
|
+
}
|
|
114
|
+
async *toHoloStream(source) {
|
|
115
|
+
const iter = source[Symbol.asyncIterator]();
|
|
116
|
+
const first = await iter.next();
|
|
117
|
+
if (first.done)
|
|
118
|
+
return;
|
|
119
|
+
const useResponses = isResponseStreamEvent(first.value);
|
|
120
|
+
const translator = useResponses ? this.responsesStreamTranslator : this.streamTranslator;
|
|
121
|
+
async function* prepended() {
|
|
122
|
+
yield first.value;
|
|
123
|
+
while (true) {
|
|
124
|
+
const r = await iter.next();
|
|
125
|
+
if (r.done)
|
|
126
|
+
return;
|
|
127
|
+
yield r.value;
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
yield* translator.toHoloStream(prepended());
|
|
64
131
|
}
|
|
65
132
|
async fromHoloEmbedRequest(request) {
|
|
66
133
|
return {
|
|
@@ -81,9 +148,34 @@ let OpenAITranslator = OpenAITranslator_1 = class OpenAITranslator {
|
|
|
81
148
|
OpenAITranslator = OpenAITranslator_1 = __decorate([
|
|
82
149
|
injectable(),
|
|
83
150
|
__metadata("design:paramtypes", [OpenAIResponseTranslator,
|
|
151
|
+
OpenAIResponsesResponseTranslator,
|
|
84
152
|
OpenAIRequestTranslator,
|
|
153
|
+
OpenAIResponseRequestTranslator,
|
|
85
154
|
OpenAIMessageTranslator,
|
|
86
|
-
OpenAIStreamTranslator
|
|
155
|
+
OpenAIStreamTranslator,
|
|
156
|
+
OpenAIResponsesStreamTranslator])
|
|
87
157
|
], OpenAITranslator);
|
|
88
158
|
export { OpenAITranslator };
|
|
159
|
+
function isResponsesRequest(req) {
|
|
160
|
+
return 'input' in req || 'instructions' in req || 'max_output_tokens' in req;
|
|
161
|
+
}
|
|
162
|
+
function isResponseStreamEvent(value) {
|
|
163
|
+
if (!value || typeof value !== 'object')
|
|
164
|
+
return false;
|
|
165
|
+
const t = value.type;
|
|
166
|
+
return typeof t === 'string' && (t.startsWith('response.') || t === 'error');
|
|
167
|
+
}
|
|
168
|
+
function isResponsesResponse(res) {
|
|
169
|
+
if (!res || typeof res !== 'object')
|
|
170
|
+
return false;
|
|
171
|
+
if (res.object === 'response')
|
|
172
|
+
return true;
|
|
173
|
+
if (res.object === 'chat.completion' || res.object === 'chat.completion.chunk')
|
|
174
|
+
return false;
|
|
175
|
+
if ('choices' in res)
|
|
176
|
+
return false;
|
|
177
|
+
if ('output' in res && Array.isArray(res.output))
|
|
178
|
+
return true;
|
|
179
|
+
return false;
|
|
180
|
+
}
|
|
89
181
|
//# sourceMappingURL=openai.translator.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openai.translator.js","sourceRoot":"","sources":["../src/openai.translator.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,OAAO,kBAAkB,CAAC;AAC1B,OAAO,EAAC,UAAU,EAAC,MAAM,UAAU,CAAC;AAEpC,OAAO,EACH,uBAAuB,EACvB,4BAA4B,EAC5B,uBAAuB,EACvB,uBAAuB,EACvB,+BAA+B,EAC/B,wBAAwB,EACxB,sBAAsB,EACtB,2BAA2B,EAC3B,0BAA0B,EAC1B,oBAAoB,EACpB,qBAAqB,EACxB,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"openai.translator.js","sourceRoot":"","sources":["../src/openai.translator.ts"],"names":[],"mappings":"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"}
|
package/dist/plugin.d.ts
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { BasePlugin } from '@holokai/holo-sdk/plugin';
|
|
2
|
-
import type { IProviderPlugin, PluginContext, PluginPricingSheet } from '@holokai/holo-types/plugin';
|
|
2
|
+
import type { IProviderPlugin, PluginContext, PluginPricingSheet, PluginSchema } from '@holokai/holo-types/plugin';
|
|
3
3
|
import type { PricingSheetModel } from '@holokai/holo-types/entities';
|
|
4
4
|
import { ProtocolCapability } from "@holokai/holo-types/entities";
|
|
5
|
-
import type { IProvider, IWireAdapter, ProviderCapabilities, WireAdapterParams } from "@holokai/holo-types/provider";
|
|
5
|
+
import type { DiscoveredModel, IProvider, IWireAdapter, ProviderCapabilities, WireAdapterParams } from "@holokai/holo-types/provider";
|
|
6
6
|
import { RouteDefinition } from "@holokai/holo-types/routing";
|
|
7
|
+
import { OpenAITranslator } from "./openai.translator";
|
|
7
8
|
export declare const OpenAIProtocols: {
|
|
8
9
|
readonly EMBED: "openai.embeddings";
|
|
9
10
|
readonly CHAT_COMPLETIONS: "openai.chatCompletions";
|
|
@@ -13,7 +14,8 @@ export declare const OpenAIProtocols: {
|
|
|
13
14
|
export type OpenAIProtocols = typeof OpenAIProtocols[keyof typeof OpenAIProtocols];
|
|
14
15
|
export declare class OpenAIProviderPlugin extends BasePlugin implements IProviderPlugin {
|
|
15
16
|
manifest: import("@holokai/holo-types/plugin").PluginManifest;
|
|
16
|
-
translator:
|
|
17
|
+
translator: OpenAITranslator;
|
|
18
|
+
defaultRouteHandler: "request";
|
|
17
19
|
protocols: {
|
|
18
20
|
readonly EMBED: "openai.embeddings";
|
|
19
21
|
readonly CHAT_COMPLETIONS: "openai.chatCompletions";
|
|
@@ -24,6 +26,13 @@ export declare class OpenAIProviderPlugin extends BasePlugin implements IProvide
|
|
|
24
26
|
createProvider(id: string, name: string, config: any): Promise<IProvider>;
|
|
25
27
|
createWireAdapter(params: WireAdapterParams): Promise<IWireAdapter>;
|
|
26
28
|
getProtocolByCapability(capability: ProtocolCapability): string | undefined;
|
|
29
|
+
getModelNameFromRequest(payload: any): string | undefined;
|
|
30
|
+
formatModelsResponse(models: DiscoveredModel[]): unknown;
|
|
31
|
+
getSchema(): PluginSchema;
|
|
32
|
+
getTestModels(): {
|
|
33
|
+
chat: string;
|
|
34
|
+
embed: string;
|
|
35
|
+
};
|
|
27
36
|
getCapabilities(): ProviderCapabilities;
|
|
28
37
|
getRoutes(): RouteDefinition[];
|
|
29
38
|
getPricingSheets(): Map<string, PluginPricingSheet>;
|
package/dist/plugin.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAA0B,MAAM,0BAA0B,CAAC;AAC7E,OAAO,KAAK,EAAC,eAAe,EAAE,aAAa,EAAE,kBAAkB,EAAC,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAA0B,MAAM,0BAA0B,CAAC;AAC7E,OAAO,KAAK,EAAC,eAAe,EAAE,aAAa,EAAE,kBAAkB,EAAE,YAAY,EAAC,MAAM,4BAA4B,CAAC;AACjH,OAAO,KAAK,EAAC,iBAAiB,EAAC,MAAM,8BAA8B,CAAC;AACpE,OAAO,EAAC,kBAAkB,EAAC,MAAM,8BAA8B,CAAC;AAEhE,OAAO,KAAK,EACR,eAAe,EACf,SAAS,EACT,YAAY,EACZ,oBAAoB,EACpB,iBAAiB,EACpB,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EAAC,eAAe,EAAe,MAAM,6BAA6B,CAAC;AAC1E,OAAO,EAAC,gBAAgB,EAAC,MAAM,qBAAqB,CAAC;AAIrD,eAAO,MAAM,eAAe;;;;;CAKlB,CAAC;AAEX,MAAM,MAAM,eAAe,GAAG,OAAO,eAAe,CAAC,MAAM,OAAO,eAAe,CAAC,CAAC;AAEnF,qBAAa,oBAAqB,SAAQ,UAAW,YAAW,eAAe;IAC3E,QAAQ,sDAAY;IACpB,UAAU,mBAA+B;IACzC,mBAAmB,YAAwB;IAC3C,SAAS;;;;;MAAmB;IAC5B,eAAe,qBAA6B;IAEtC,cAAc,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,GAAG,OAAO,CAAC,SAAS,CAAC;IASzE,iBAAiB,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,YAAY,CAAC;IAOzE,uBAAuB,CAAC,UAAU,EAAE,kBAAkB,GAAG,MAAM,GAAG,SAAS;IAK3E,uBAAuB,CAAC,OAAO,EAAE,GAAG,GAAG,MAAM,GAAG,SAAS;IAIzD,oBAAoB,CAAC,MAAM,EAAE,eAAe,EAAE,GAAG,OAAO;IAYxD,SAAS,IAAI,YAAY;IA+BzB,aAAa;;;;IAIb,eAAe,IAAI,oBAAoB;IAUvC,SAAS,IAAI,eAAe,EAAE;IAkD9B,gBAAgB,IAAI,GAAG,CAAC,MAAM,EAAE,kBAAkB,CAAC;IAInD,kBAAkB;IAIlB,iBAAiB,IAAI,kBAAkB;IAQvC,SAAS,CAAC,mBAAmB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,iBAAiB;;;;;;;;;IAWxF,SAAS,CAAC,YAAY,CAAC,QAAQ,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAI9D,SAAS,CAAC,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;CAIvC"}
|
package/dist/plugin.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { BasePlugin, normalizePricingDataset } from '@holokai/holo-sdk/plugin';
|
|
2
2
|
import { ProtocolCapability } from "@holokai/holo-types/entities";
|
|
3
|
-
import { manifest } from "./manifest
|
|
3
|
+
import { manifest } from "./manifest";
|
|
4
4
|
import { OpenAIProvider } from "./openai.provider";
|
|
5
5
|
import { RouteHandler } from "@holokai/holo-types/routing";
|
|
6
6
|
import { OpenAITranslator } from "./openai.translator";
|
|
7
7
|
import { OpenAICompletionsWireAdapter, OpenAIResponsesWireAdapter } from "./openai.wire.adapter";
|
|
8
|
-
import { OPENAI_PRICING_DATASET } from "./openai.pricing
|
|
8
|
+
import { OPENAI_PRICING_DATASET } from "./openai.pricing";
|
|
9
9
|
export const OpenAIProtocols = {
|
|
10
10
|
EMBED: 'openai.embeddings',
|
|
11
11
|
CHAT_COMPLETIONS: 'openai.chatCompletions',
|
|
@@ -15,6 +15,7 @@ export const OpenAIProtocols = {
|
|
|
15
15
|
export class OpenAIProviderPlugin extends BasePlugin {
|
|
16
16
|
manifest = manifest;
|
|
17
17
|
translator = OpenAITranslator.instance();
|
|
18
|
+
defaultRouteHandler = RouteHandler.REQUEST;
|
|
18
19
|
protocols = OpenAIProtocols;
|
|
19
20
|
defaultProtocol = OpenAIProtocols.RESPONSES;
|
|
20
21
|
async createProvider(id, name, config) {
|
|
@@ -30,6 +31,53 @@ export class OpenAIProviderPlugin extends BasePlugin {
|
|
|
30
31
|
const route = this.getRoutes().find(r => r.protocol.capability === capability);
|
|
31
32
|
return route?.protocol.name;
|
|
32
33
|
}
|
|
34
|
+
getModelNameFromRequest(payload) {
|
|
35
|
+
return payload?.model;
|
|
36
|
+
}
|
|
37
|
+
formatModelsResponse(models) {
|
|
38
|
+
return {
|
|
39
|
+
object: 'list',
|
|
40
|
+
data: models.map(m => ({
|
|
41
|
+
id: m.accessModel || m.name,
|
|
42
|
+
object: 'model',
|
|
43
|
+
created: 0,
|
|
44
|
+
owned_by: 'holokai',
|
|
45
|
+
})),
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
getSchema() {
|
|
49
|
+
return {
|
|
50
|
+
connection: {
|
|
51
|
+
type: 'object',
|
|
52
|
+
properties: {
|
|
53
|
+
apiKey: { type: 'string', title: 'API Key', format: 'password', default: 'blank' },
|
|
54
|
+
baseURL: { type: 'string', title: 'Base URL', format: 'uri' },
|
|
55
|
+
organizationId: { type: 'string', title: 'Organization ID' },
|
|
56
|
+
},
|
|
57
|
+
required: ['apiKey'],
|
|
58
|
+
encrypted: ['apiKey'],
|
|
59
|
+
},
|
|
60
|
+
parameters: {
|
|
61
|
+
type: 'object',
|
|
62
|
+
properties: {
|
|
63
|
+
temperature: { type: 'number', title: 'Temperature', minimum: 0, maximum: 2, default: 1 },
|
|
64
|
+
max_tokens: { type: 'integer', title: 'Max Tokens', minimum: 1 },
|
|
65
|
+
top_p: { type: 'number', title: 'Top P', minimum: 0, maximum: 1 },
|
|
66
|
+
frequency_penalty: {
|
|
67
|
+
type: 'number',
|
|
68
|
+
title: 'Frequency Penalty',
|
|
69
|
+
minimum: -2,
|
|
70
|
+
maximum: 2,
|
|
71
|
+
default: 0
|
|
72
|
+
},
|
|
73
|
+
presence_penalty: { type: 'number', title: 'Presence Penalty', minimum: -2, maximum: 2, default: 0 },
|
|
74
|
+
},
|
|
75
|
+
},
|
|
76
|
+
};
|
|
77
|
+
}
|
|
78
|
+
getTestModels() {
|
|
79
|
+
return { chat: 'gpt-4o-mini', embed: 'text-embedding-3-small' };
|
|
80
|
+
}
|
|
33
81
|
getCapabilities() {
|
|
34
82
|
return {
|
|
35
83
|
streaming: true,
|
package/dist/plugin.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.js","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAE,uBAAuB,EAAC,MAAM,0BAA0B,CAAC;AAG7E,OAAO,EAAC,kBAAkB,EAAC,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAC,QAAQ,EAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"plugin.js","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,8 +2,9 @@ export * from './openai.chatcompletion.request.translators';
|
|
|
2
2
|
export * from './openai.chatcompletion.response.translators';
|
|
3
3
|
export * from './openai.content.translators';
|
|
4
4
|
export * from './openai.message.translators';
|
|
5
|
-
export * from './openai.
|
|
5
|
+
export * from './openai.chatcompletion.message.translators';
|
|
6
6
|
export * from './openai.responses.request.translators';
|
|
7
|
+
export * from './openai.responses.response.translators';
|
|
7
8
|
export * from './openai.tool.translators';
|
|
8
9
|
export * from './openai.usage.translators';
|
|
9
10
|
export * from './streaming/openai.stream.translator';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/translators/index.ts"],"names":[],"mappings":"AAAA,cAAc,6CAA6C,CAAC;AAC5D,cAAc,8CAA8C,CAAC;AAC7D,cAAc,8BAA8B,CAAC;AAC7C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/translators/index.ts"],"names":[],"mappings":"AAAA,cAAc,6CAA6C,CAAC;AAC5D,cAAc,8CAA8C,CAAC;AAC7D,cAAc,8BAA8B,CAAC;AAC7C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,6CAA6C,CAAC;AAC5D,cAAc,wCAAwC,CAAC;AACvD,cAAc,yCAAyC,CAAC;AACxD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,sCAAsC,CAAC"}
|
|
@@ -2,8 +2,9 @@ export * from './openai.chatcompletion.request.translators';
|
|
|
2
2
|
export * from './openai.chatcompletion.response.translators';
|
|
3
3
|
export * from './openai.content.translators';
|
|
4
4
|
export * from './openai.message.translators';
|
|
5
|
-
export * from './openai.
|
|
5
|
+
export * from './openai.chatcompletion.message.translators';
|
|
6
6
|
export * from './openai.responses.request.translators';
|
|
7
|
+
export * from './openai.responses.response.translators';
|
|
7
8
|
export * from './openai.tool.translators';
|
|
8
9
|
export * from './openai.usage.translators';
|
|
9
10
|
export * from './streaming/openai.stream.translator';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/translators/index.ts"],"names":[],"mappings":"AAAA,cAAc,6CAA6C,CAAC;AAC5D,cAAc,8CAA8C,CAAC;AAC7D,cAAc,8BAA8B,CAAC;AAC7C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/translators/index.ts"],"names":[],"mappings":"AAAA,cAAc,6CAA6C,CAAC;AAC5D,cAAc,8CAA8C,CAAC;AAC7D,cAAc,8BAA8B,CAAC;AAC7C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,6CAA6C,CAAC;AAC5D,cAAc,wCAAwC,CAAC;AACvD,cAAc,yCAAyC,CAAC;AACxD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,sCAAsC,CAAC"}
|
|
@@ -2,11 +2,11 @@ import 'reflect-metadata';
|
|
|
2
2
|
import { HoloMessage } from "@holokai/holo-types/holo";
|
|
3
3
|
import { BaseTranslator } from "@holokai/holo-sdk/provider";
|
|
4
4
|
import { ChatCompletionMessage } from "openai/resources/chat/completions/completions";
|
|
5
|
-
export declare class
|
|
5
|
+
export declare class OpenAIChatCompletionMessageTranslator extends BaseTranslator<HoloMessage, ChatCompletionMessage> {
|
|
6
6
|
protected holoDefaults: Partial<HoloMessage>;
|
|
7
7
|
protected providerDefaults: Partial<ChatCompletionMessage>;
|
|
8
8
|
constructor();
|
|
9
9
|
protected fromHoloImpl(source: HoloMessage): Promise<Partial<ChatCompletionMessage>>;
|
|
10
10
|
protected toHoloImpl(source: ChatCompletionMessage): Promise<Partial<HoloMessage>>;
|
|
11
11
|
}
|
|
12
|
-
//# sourceMappingURL=openai.
|
|
12
|
+
//# sourceMappingURL=openai.chatcompletion.message.translators.d.ts.map
|