@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.
@@ -1,13 +1,21 @@
1
- import { BaseAuditor, HoloWorkerRequest, HoloWorkerResponse, ProviderEnvelope } from "@holokai/sdk";
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, LlmResponse } from "@holokai/sdk/core/entities";
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 mapResponseToHolo(workerResponse: HoloWorkerResponse, llmResponse: Omit<LlmResponse, 'id'>): void;
10
- protected collectResponseMetrics(workerResponse: HoloWorkerResponse, llmResponse: Omit<LlmResponse, 'id'>): void;
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,EAAE,kBAAkB,EAAe,gBAAgB,EAAC,MAAM,cAAc,CAAC;AAC/G,OAAO,EAAC,8BAA8B,EAAC,MAAM,mCAAmC,CAAC;AACjF,OAAO,EAAC,wBAAwB,EAAC,MAAM,sCAAsC,CAAC;AAC9E,OAAO,EAAC,UAAU,EAAE,WAAW,EAAY,MAAM,4BAA4B,CAAC;AAE9E,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;IAsBxG,SAAS,CAAC,iBAAiB,CACvB,cAAc,EAAE,kBAAkB,EAClC,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,GACrC,IAAI;IA4BP,SAAS,CAAC,sBAAsB,CAC5B,cAAc,EAAE,kBAAkB,EAClC,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,GACrC,IAAI;IAyCP,OAAO,CAAC,6BAA6B;IAqBrC,OAAO,CAAC,+BAA+B;cAOvB,sBAAsB,CAAC,OAAO,EAAE,wBAAwB,GAAG,8BAA8B,GAAG,OAAO,CAAC,gBAAgB,CAAC;CAKxI"}
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"}
@@ -56,74 +56,49 @@ let OpenAIAuditor = class OpenAIAuditor extends BaseAuditor {
56
56
  llmRequest.options = options;
57
57
  }
58
58
  }
59
- mapResponseToHolo(workerResponse, llmResponse) {
60
- const payload = workerResponse.payload;
61
- // Extract model from payload
62
- llmResponse.model_slug = payload.model || 'unknown';
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
- else if (payload.object === 'chat.completion') {
68
- // Non-streaming completion
69
- const choice = payload.choices?.[0];
70
- if (choice?.message?.content !== undefined) {
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
- else if (payload.object === 'chat.completion.chunk') {
75
- // Streaming chunk
76
- const choice = payload.choices?.[0];
77
- if (choice?.delta?.content !== undefined) {
78
- llmResponse.response = choice.delta.content;
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
- // Ensure response is never undefined for successful completions
82
- if (llmResponse.response === undefined) {
83
- llmResponse.response = '';
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
- collectResponseMetrics(workerResponse, llmResponse) {
87
- const payload = workerResponse.payload;
88
- // Extract token usage from metrics or payload
89
- if (workerResponse.metrics) {
90
- llmResponse.usage_raw = workerResponse.metrics;
91
- llmResponse.input_tokens = workerResponse.metrics.inputTokens;
92
- llmResponse.output_tokens = workerResponse.metrics.outputTokens;
93
- llmResponse.time_to_first_token = workerResponse.metrics.timeToFirstToken;
94
- llmResponse.total_processing_time = workerResponse.metrics.totalProcessingTime;
95
- }
96
- else if (payload.usage) {
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
- else if (payload.error) {
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":"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"}
1
+ {"version":3,"file":"openai.auditor.js","sourceRoot":"","sources":["../src/openai.auditor.ts"],"names":[],"mappings":"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"}
@@ -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
- createError(message: string, code?: OpenAIResponseCode): ResponseErrorEvent;
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;AAC9C,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,OAAO,EAAE,MAAM,EAAE,IAAI,GAAE,kBAAqC,GAAG,kBAAkB;IAU7F,MAAM,CAAC,QAAQ,IAAI,qBAAqB;CAG3C"}
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
- createError(message, code = 'invalid_prompt') {
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,OAAe,EAAE,OAA2B,gBAAgB;QACpE,OAAO;YACH,IAAI,EAAE,OAAO;YACb,OAAO;YACP,KAAK,EAAE,IAAI;YACX,IAAI;YACJ,eAAe,EAAE,CAAC;SACrB,CAAC;IACN,CAAC;IAED,MAAM,CAAC,QAAQ;QACX,OAAO,IAAI,qBAAqB,EAAE,CAAC;IACvC,CAAC;CACJ"}
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.0",
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.0"
61
+ "@holokai/sdk": "^0.1.3"
62
62
  },
63
63
  "dependencies": {
64
64
  "openai": "^6.17.0"