@holokai/holo-provider-openai 0.1.0 → 0.1.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/openai.auditor.d.ts +12 -4
- package/dist/openai.auditor.d.ts.map +1 -1
- package/dist/openai.auditor.js +36 -61
- package/dist/openai.auditor.js.map +1 -1
- package/dist/openai.response.factory.d.ts +3 -2
- package/dist/openai.response.factory.d.ts.map +1 -1
- package/dist/openai.response.factory.js +10 -2
- package/dist/openai.response.factory.js.map +1 -1
- package/package.json +2 -2
package/dist/openai.auditor.d.ts
CHANGED
|
@@ -1,13 +1,21 @@
|
|
|
1
|
-
import { BaseAuditor, HoloWorkerRequest,
|
|
1
|
+
import { BaseAuditor, HoloWorkerRequest, ProviderEnvelope, ProviderEvent } from "@holokai/sdk";
|
|
2
2
|
import { ChatCompletionCreateParamsBase } from "openai/resources/chat/completions";
|
|
3
3
|
import { ResponseCreateParamsBase } from "openai/resources/responses/responses";
|
|
4
|
-
import { LlmRequest,
|
|
4
|
+
import { LlmRequest, LlmStatus } from "@holokai/sdk/core/entities";
|
|
5
5
|
export declare class OpenAIAuditor extends BaseAuditor {
|
|
6
6
|
readonly provider = "openai";
|
|
7
7
|
protected toHoloRequest(workerRequest: HoloWorkerRequest, llmRequest: Omit<LlmRequest, 'id'>): void;
|
|
8
8
|
protected mapProviderPayload(workerRequest: HoloWorkerRequest, llmRequest: Omit<LlmRequest, 'id'>): void;
|
|
9
|
-
protected
|
|
10
|
-
|
|
9
|
+
protected mapResponseMetrics(providerEvent: Extract<ProviderEvent, {
|
|
10
|
+
type: 'done' | 'error';
|
|
11
|
+
}>): Promise<Partial<{
|
|
12
|
+
usage_raw: any;
|
|
13
|
+
input_tokens: any;
|
|
14
|
+
output_tokens: any;
|
|
15
|
+
time_to_first_token: any;
|
|
16
|
+
total_processing_time: any;
|
|
17
|
+
}>>;
|
|
18
|
+
protected mapResponseStatus(providerEvent: ProviderEvent): Promise<LlmStatus>;
|
|
11
19
|
private extractUserPromptFromMessages;
|
|
12
20
|
private extractSystemPromptFromMessages;
|
|
13
21
|
protected createProviderEnvelope(payload: ResponseCreateParamsBase | ChatCompletionCreateParamsBase): Promise<ProviderEnvelope>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openai.auditor.d.ts","sourceRoot":"","sources":["../src/openai.auditor.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,WAAW,EAAE,iBAAiB,
|
|
1
|
+
{"version":3,"file":"openai.auditor.d.ts","sourceRoot":"","sources":["../src/openai.auditor.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,WAAW,EAAE,iBAAiB,EAAe,gBAAgB,EAAE,aAAa,EAAC,MAAM,cAAc,CAAC;AAC1G,OAAO,EAAC,8BAA8B,EAAC,MAAM,mCAAmC,CAAC;AACjF,OAAO,EAAC,wBAAwB,EAAgB,MAAM,sCAAsC,CAAC;AAC7F,OAAO,EAAC,UAAU,EAAE,SAAS,EAAC,MAAM,4BAA4B,CAAC;AAGjE,qBACa,aAAc,SAAQ,WAAW;IAC1C,QAAQ,CAAC,QAAQ,YAAY;IAE7B,SAAS,CAAC,aAAa,CAAC,aAAa,EAAE,iBAAiB,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,GAAG,IAAI;IAmBnG,SAAS,CAAC,kBAAkB,CAAC,aAAa,EAAE,iBAAiB,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,GAAG,IAAI;cAsBxF,kBAAkB,CAAC,aAAa,EAAE,OAAO,CAAC,aAAa,EAAE;QAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,CAAC;;;;;;;cAiCpF,iBAAiB,CAAC,aAAa,EAAE,aAAa,GAAG,OAAO,CAAC,SAAS,CAAC;IAenF,OAAO,CAAC,6BAA6B;IAqBrC,OAAO,CAAC,+BAA+B;cAOvB,sBAAsB,CAAC,OAAO,EAAE,wBAAwB,GAAG,8BAA8B,GAAG,OAAO,CAAC,gBAAgB,CAAC;CAKxI"}
|
package/dist/openai.auditor.js
CHANGED
|
@@ -56,74 +56,49 @@ let OpenAIAuditor = class OpenAIAuditor extends BaseAuditor {
|
|
|
56
56
|
llmRequest.options = options;
|
|
57
57
|
}
|
|
58
58
|
}
|
|
59
|
-
|
|
60
|
-
const
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
// Extract response text from final response
|
|
64
|
-
if (workerResponse.fullResponse !== undefined) {
|
|
65
|
-
llmResponse.response = workerResponse.fullResponse;
|
|
59
|
+
async mapResponseMetrics(providerEvent) {
|
|
60
|
+
const metrics = await super.mapResponseMetrics(providerEvent);
|
|
61
|
+
if (providerEvent.type === 'error') {
|
|
62
|
+
return metrics;
|
|
66
63
|
}
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
llmResponse.response = choice.message.content;
|
|
72
|
-
}
|
|
64
|
+
const payload = providerEvent.message;
|
|
65
|
+
let usage = payload.response ? payload.response.usage : payload.usage;
|
|
66
|
+
if (!usage) {
|
|
67
|
+
return metrics;
|
|
73
68
|
}
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
69
|
+
let input_tokens;
|
|
70
|
+
let output_tokens;
|
|
71
|
+
if (payload.response) {
|
|
72
|
+
usage = usage;
|
|
73
|
+
input_tokens = usage.input_tokens;
|
|
74
|
+
output_tokens = usage.output_tokens;
|
|
80
75
|
}
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
76
|
+
else {
|
|
77
|
+
usage = usage;
|
|
78
|
+
input_tokens = usage.prompt_tokens;
|
|
79
|
+
output_tokens = usage.completion_tokens;
|
|
84
80
|
}
|
|
81
|
+
return pickDefined({
|
|
82
|
+
...metrics,
|
|
83
|
+
usage_raw: usage,
|
|
84
|
+
input_tokens,
|
|
85
|
+
output_tokens
|
|
86
|
+
});
|
|
85
87
|
}
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
llmResponse.usage_raw = payload.usage;
|
|
98
|
-
llmResponse.input_tokens = payload.usage.prompt_tokens;
|
|
99
|
-
llmResponse.output_tokens = payload.usage.completion_tokens;
|
|
100
|
-
llmResponse.time_to_first_token = payload.usage.timeToFirstToken;
|
|
101
|
-
llmResponse.total_processing_time = payload.usage.totalProcessingTime;
|
|
102
|
-
}
|
|
103
|
-
// Set status based on completion and finish reason
|
|
104
|
-
const choice = payload.choices?.[0];
|
|
105
|
-
if (choice?.finish_reason) {
|
|
106
|
-
if (choice.finish_reason === 'length') {
|
|
107
|
-
llmResponse.status = LlmStatus.PARTIAL;
|
|
108
|
-
}
|
|
109
|
-
else if (choice.finish_reason === 'stop' || choice.finish_reason === 'end_turn') {
|
|
110
|
-
llmResponse.status = LlmStatus.SUCCESS;
|
|
111
|
-
}
|
|
112
|
-
else if (choice.finish_reason === 'content_filter') {
|
|
113
|
-
llmResponse.status = LlmStatus.ERROR;
|
|
114
|
-
llmResponse.error_message = 'Content filtered by OpenAI';
|
|
115
|
-
}
|
|
116
|
-
else {
|
|
117
|
-
llmResponse.status = LlmStatus.SUCCESS;
|
|
88
|
+
async mapResponseStatus(providerEvent) {
|
|
89
|
+
if (providerEvent.type === 'done') {
|
|
90
|
+
const payload = providerEvent.message;
|
|
91
|
+
const choice = payload.choices?.[0];
|
|
92
|
+
if (choice?.finish_reason) {
|
|
93
|
+
if (choice.finish_reason === 'length') {
|
|
94
|
+
return LlmStatus.PARTIAL;
|
|
95
|
+
}
|
|
96
|
+
else if (choice.finish_reason === 'content_filter') {
|
|
97
|
+
return LlmStatus.ERROR;
|
|
98
|
+
}
|
|
118
99
|
}
|
|
119
100
|
}
|
|
120
|
-
|
|
121
|
-
llmResponse.status = LlmStatus.ERROR;
|
|
122
|
-
llmResponse.error_message = payload.error.message || 'OpenAI API error';
|
|
123
|
-
}
|
|
124
|
-
else {
|
|
125
|
-
llmResponse.status = LlmStatus.SUCCESS;
|
|
126
|
-
}
|
|
101
|
+
return super.mapResponseStatus(providerEvent);
|
|
127
102
|
}
|
|
128
103
|
extractUserPromptFromMessages(messages) {
|
|
129
104
|
if (!messages || !Array.isArray(messages))
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openai.auditor.js","sourceRoot":"","sources":["../src/openai.auditor.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,UAAU,CAAC;AACpC,OAAO,EAAC,WAAW,
|
|
1
|
+
{"version":3,"file":"openai.auditor.js","sourceRoot":"","sources":["../src/openai.auditor.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,UAAU,CAAC;AACpC,OAAO,EAAC,WAAW,EAAqB,WAAW,EAAkC,MAAM,cAAc,CAAC;AAG1G,OAAO,EAAa,SAAS,EAAC,MAAM,4BAA4B,CAAC;AAI1D,IAAM,aAAa,GAAnB,MAAM,aAAc,SAAQ,WAAW;IACjC,QAAQ,GAAG,QAAQ,CAAC;IAEnB,aAAa,CAAC,aAAgC,EAAE,UAAkC;QACxF,MAAM,OAAO,GAAG,aAAa,CAAC,OAAyC,CAAC;QAExE,YAAY;QACZ,UAAU,CAAC,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC;QAEtC,oCAAoC;QACpC,MAAM,UAAU,GAAG,IAAI,CAAC,6BAA6B,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACxE,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;YAC3B,UAAU,CAAC,WAAW,GAAG,UAAU,CAAC;QACxC,CAAC;QAED,sCAAsC;QACtC,MAAM,YAAY,GAAG,IAAI,CAAC,+BAA+B,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAC5E,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;YAC7B,UAAU,CAAC,aAAa,GAAG,YAAY,CAAC;QAC5C,CAAC;IACL,CAAC;IAES,kBAAkB,CAAC,aAAgC,EAAE,UAAkC;QAC7F,MAAM,OAAO,GAAG,aAAa,CAAC,OAAyC,CAAC;QACxE,2CAA2C;QAC3C,MAAM,OAAO,GAAwB,EAAE,CAAC;QACxC,IAAI,OAAO,CAAC,UAAU,KAAK,SAAS;YAAE,OAAO,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;QAC9E,IAAI,OAAO,CAAC,WAAW,KAAK,SAAS;YAAE,OAAO,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;QACjF,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS;YAAE,OAAO,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;QAC/D,IAAI,OAAO,CAAC,iBAAiB,KAAK,SAAS;YAAE,OAAO,CAAC,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAC;QACnG,IAAI,OAAO,CAAC,gBAAgB,KAAK,SAAS;YAAE,OAAO,CAAC,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC;QAChG,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS;YAAE,OAAO,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QAC5D,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS;YAAE,OAAO,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAClE,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS;YAAE,OAAO,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;QAC/D,IAAI,OAAO,CAAC,WAAW,KAAK,SAAS;YAAE,OAAO,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;QACjF,IAAI,OAAO,CAAC,eAAe,KAAK,SAAS;YAAE,OAAO,CAAC,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC;QAC7F,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS;YAAE,OAAO,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QAC5D,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS;YAAE,OAAO,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QAE5D,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAClC,UAAU,CAAC,OAAO,GAAG,OAAO,CAAC;QACjC,CAAC;IACL,CAAC;IAES,KAAK,CAAC,kBAAkB,CAAC,aAAiE;QAChG,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,kBAAkB,CAAC,aAAa,CAAC,CAAC;QAC9D,IAAI,aAAa,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YACjC,OAAO,OAAO,CAAC;QACnB,CAAC;QAED,MAAM,OAAO,GAAG,aAAa,CAAC,OAAO,CAAC;QACtC,IAAI,KAAK,GAAoC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;QAEvG,IAAI,CAAC,KAAK,EAAE,CAAC;YACT,OAAO,OAAO,CAAC;QACnB,CAAC;QAED,IAAI,YAAY,CAAC;QACjB,IAAI,aAAa,CAAC;QAClB,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;YACnB,KAAK,GAAG,KAAsB,CAAC;YAC/B,YAAY,GAAG,KAAK,CAAC,YAAY,CAAC;YAClC,aAAa,GAAG,KAAK,CAAC,aAAa,CAAC;QACxC,CAAC;aAAM,CAAC;YACJ,KAAK,GAAG,KAAwB,CAAC;YACjC,YAAY,GAAG,KAAK,CAAC,aAAa,CAAC;YACnC,aAAa,GAAG,KAAK,CAAC,iBAAiB,CAAC;QAC5C,CAAC;QAED,OAAO,WAAW,CAAC;YACf,GAAG,OAAO;YACV,SAAS,EAAE,KAAK;YAChB,YAAY;YACZ,aAAa;SAChB,CAAC,CAAC;IACP,CAAC;IAES,KAAK,CAAC,iBAAiB,CAAC,aAA4B;QAC1D,IAAI,aAAa,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YAChC,MAAM,OAAO,GAAG,aAAa,CAAC,OAAO,CAAC;YACtC,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;YACpC,IAAI,MAAM,EAAE,aAAa,EAAE,CAAC;gBACxB,IAAI,MAAM,CAAC,aAAa,KAAK,QAAQ,EAAE,CAAC;oBACpC,OAAO,SAAS,CAAC,OAAO,CAAC;gBAC7B,CAAC;qBAAM,IAAI,MAAM,CAAC,aAAa,KAAK,gBAAgB,EAAE,CAAC;oBACnD,OAAO,SAAS,CAAC,KAAK,CAAC;gBAC3B,CAAC;YACL,CAAC;QACL,CAAC;QACD,OAAO,KAAK,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAAC;IAClD,CAAC;IAEO,6BAA6B,CAAC,QAAgB;QAClD,IAAI,CAAC,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC;YAAE,OAAO,SAAS,CAAC;QAE5D,MAAM,YAAY,GAAG,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC;QACjE,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,SAAS,CAAC;QAEhD,uCAAuC;QACvC,MAAM,eAAe,GAAG,YAAY,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC9D,IAAI,OAAO,eAAe,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;YAC9C,OAAO,eAAe,CAAC,OAAO,CAAC;QACnC,CAAC;aAAM,IAAI,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,OAAO,CAAC,EAAE,CAAC;YAChD,8CAA8C;YAC9C,MAAM,SAAS,GAAG,eAAe,CAAC,OAAO;iBACpC,MAAM,CAAC,CAAC,IAAS,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC;iBAC3C,GAAG,CAAC,CAAC,IAAS,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACnC,OAAO,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACnE,CAAC;QAED,OAAO,SAAS,CAAC;IACrB,CAAC;IAEO,+BAA+B,CAAC,QAAgB;QACpD,IAAI,CAAC,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC;YAAE,OAAO,SAAS,CAAC;QAE5D,MAAM,aAAa,GAAG,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;QAClE,OAAO,aAAa,IAAI,OAAO,aAAa,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;IAC1G,CAAC;IAES,KAAK,CAAC,sBAAsB,CAAC,OAAkE;QACrG,OAAO,WAAW,CAAC;YACf,UAAU,EAAE,OAAO,CAAC,KAAK;SAC5B,CAAqB,CAAA;IAC1B,CAAC;CACJ,CAAA;AA7HY,aAAa;IADzB,UAAU,EAAE;GACA,aAAa,CA6HzB"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import { IResponseFactory } from "@holokai/sdk";
|
|
1
|
+
import { HoloErrorCode, IResponseFactory } from "@holokai/sdk";
|
|
2
2
|
import { ResponseErrorEvent } from "openai/resources/responses/responses";
|
|
3
3
|
export type OpenAIResponseCode = 'server_error' | 'rate_limit_exceeded' | 'invalid_prompt' | 'vector_store_timeout' | 'invalid_image' | 'invalid_image_format' | 'invalid_base64_image' | 'invalid_image_url' | 'image_too_large' | 'image_too_small' | 'image_parse_error' | 'image_content_policy_violation' | 'invalid_image_mode' | 'image_file_too_large' | 'unsupported_image_media_type' | 'empty_image_file' | 'failed_to_download_image' | 'image_file_not_found';
|
|
4
4
|
export declare class OpenAIResponseFactory implements IResponseFactory {
|
|
5
|
-
|
|
5
|
+
mapHoloCode(code: HoloErrorCode): OpenAIResponseCode;
|
|
6
|
+
createError(message: string, code: HoloErrorCode): ResponseErrorEvent;
|
|
6
7
|
static instance(): OpenAIResponseFactory;
|
|
7
8
|
}
|
|
8
9
|
//# sourceMappingURL=openai.response.factory.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openai.response.factory.d.ts","sourceRoot":"","sources":["../src/openai.response.factory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,gBAAgB,EAAC,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"openai.response.factory.d.ts","sourceRoot":"","sources":["../src/openai.response.factory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,aAAa,EAAE,gBAAgB,EAAC,MAAM,cAAc,CAAC;AAC7D,OAAO,EAAC,kBAAkB,EAAC,MAAM,sCAAsC,CAAC;AAExE,MAAM,MAAM,kBAAkB,GAAK,cAAc,GAC3C,qBAAqB,GACrB,gBAAgB,GAChB,sBAAsB,GACtB,eAAe,GACf,sBAAsB,GACtB,sBAAsB,GACtB,mBAAmB,GACnB,iBAAiB,GACjB,iBAAiB,GACjB,mBAAmB,GACnB,gCAAgC,GAChC,oBAAoB,GACpB,sBAAsB,GACtB,8BAA8B,GAC9B,kBAAkB,GAClB,0BAA0B,GAC1B,sBAAsB,CAAC;AAE7B,qBAAa,qBAAsB,YAAW,gBAAgB;IAC1D,WAAW,CAAC,IAAI,EAAE,aAAa,GAAG,kBAAkB;IASpD,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,GAAG,kBAAkB;IAUrE,MAAM,CAAC,QAAQ,IAAI,qBAAqB;CAG3C"}
|
|
@@ -1,10 +1,18 @@
|
|
|
1
1
|
export class OpenAIResponseFactory {
|
|
2
|
-
|
|
2
|
+
mapHoloCode(code) {
|
|
3
|
+
switch (code) {
|
|
4
|
+
case 'guard_failure':
|
|
5
|
+
return 'invalid_prompt';
|
|
6
|
+
default:
|
|
7
|
+
return 'invalid_prompt';
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
createError(message, code) {
|
|
3
11
|
return {
|
|
4
12
|
type: 'error',
|
|
5
13
|
message,
|
|
6
14
|
param: null,
|
|
7
|
-
code,
|
|
15
|
+
code: this.mapHoloCode(code),
|
|
8
16
|
sequence_number: 0
|
|
9
17
|
};
|
|
10
18
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openai.response.factory.js","sourceRoot":"","sources":["../src/openai.response.factory.ts"],"names":[],"mappings":"AAsBA,MAAM,OAAO,qBAAqB;IAC9B,WAAW,CAAC,
|
|
1
|
+
{"version":3,"file":"openai.response.factory.js","sourceRoot":"","sources":["../src/openai.response.factory.ts"],"names":[],"mappings":"AAsBA,MAAM,OAAO,qBAAqB;IAC9B,WAAW,CAAC,IAAmB;QAC3B,QAAQ,IAAI,EAAE,CAAC;YACX,KAAK,eAAe;gBAChB,OAAO,gBAAgB,CAAC;YAC5B;gBACI,OAAO,gBAAgB,CAAC;QAChC,CAAC;IACL,CAAC;IAED,WAAW,CAAC,OAAe,EAAE,IAAmB;QAC5C,OAAO;YACH,IAAI,EAAE,OAAO;YACb,OAAO;YACP,KAAK,EAAE,IAAI;YACX,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;YAC5B,eAAe,EAAE,CAAC;SACrB,CAAC;IACN,CAAC;IAED,MAAM,CAAC,QAAQ;QACX,OAAO,IAAI,qBAAqB,EAAE,CAAC;IACvC,CAAC;CACJ"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@holokai/holo-provider-openai",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.3",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "OpenAI provider plugin for Holo LLM Gateway",
|
|
6
6
|
"author": "Holokai",
|
|
@@ -58,7 +58,7 @@
|
|
|
58
58
|
"prepublishOnly": "npm run clean && npm run build"
|
|
59
59
|
},
|
|
60
60
|
"peerDependencies": {
|
|
61
|
-
"@holokai/sdk": "^0.1.
|
|
61
|
+
"@holokai/sdk": "^0.1.3"
|
|
62
62
|
},
|
|
63
63
|
"dependencies": {
|
|
64
64
|
"openai": "^6.17.0"
|