geniebox-shared-lib 2.0.2 → 2.1.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.
@@ -1,131 +1,184 @@
1
1
  import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire";
2
- import type { handleServerStreamingCall, handleUnaryCall, Metadata, UntypedServiceImplementation } from "@grpc/grpc-js";
2
+ import type { handleUnaryCall, Metadata, UntypedServiceImplementation } from "@grpc/grpc-js";
3
3
  import { Observable } from "rxjs";
4
4
  export declare const protobufPackage = "ai";
5
- export interface AICallResponse {
6
- requestId: string;
5
+ export interface Provider {
6
+ id: string;
7
+ name: string;
8
+ displayName: string;
9
+ description: string;
10
+ baseUrl: string;
11
+ isActive: boolean;
12
+ /** JSON string */
13
+ metadata: string;
14
+ createdAt: string;
15
+ updatedAt: string;
7
16
  }
8
- export interface AIStatusResponse {
9
- requestId: string;
10
- status: string;
17
+ export interface Model {
18
+ id: string;
19
+ providerId: string;
20
+ providerName: string;
21
+ name: string;
22
+ displayName: string;
23
+ description: string;
24
+ contextWindow: number;
25
+ maxTokens: number;
26
+ supportStreaming: boolean;
27
+ isActive: boolean;
28
+ /** JSON string */
29
+ metadata: string;
30
+ createdAt: string;
31
+ updatedAt: string;
11
32
  }
12
- export interface AIResultResponse {
13
- requestId: string;
14
- result: string;
33
+ export interface Pricing {
34
+ id: string;
35
+ modelId: string;
36
+ modelName: string;
37
+ /** price per 1000 input tokens */
38
+ inputTokenPrice: number;
39
+ /** price per 1000 output tokens */
40
+ outputTokenPrice: number;
41
+ currency: string;
42
+ effectiveFrom: string;
43
+ effectiveTo: string;
44
+ createdAt: string;
45
+ updatedAt: string;
15
46
  }
16
- export interface AICancelResponse {
17
- requestId: string;
18
- cancelled: boolean;
47
+ export interface EndpointConfig {
48
+ id: string;
49
+ path: string;
50
+ providerId: string;
51
+ providerName: string;
52
+ queueName: string;
53
+ methods: string[];
54
+ description: string;
55
+ isActive: boolean;
56
+ /** JSON string */
57
+ metadata: string;
19
58
  }
20
- export interface AICallRequest {
21
- endpoint: string;
22
- payload: string;
59
+ export interface EndpointRequest {
60
+ /** e.g.: /openai/create */
61
+ path: string;
23
62
  }
24
- export interface AIStatusRequest {
25
- endpoint: string;
26
- uuid: string;
63
+ export interface ProvidersRequest {
64
+ /** only active providers */
65
+ activeOnly: boolean;
27
66
  }
28
- export interface AIResultRequest {
29
- endpoint: string;
30
- uuid: string;
67
+ export interface ModelsRequest {
68
+ /** filter by provider */
69
+ providerId: string;
70
+ /** only active models */
71
+ activeOnly: boolean;
31
72
  }
32
- export interface AICancelRequest {
33
- endpoint: string;
34
- uuid: string;
73
+ export interface PricingRequest {
74
+ /** filter by model */
75
+ modelId: string;
76
+ /** currency (USD, EUR, etc.) */
77
+ currency: string;
35
78
  }
36
- export interface AIStreamRequest {
37
- endpoint: string;
38
- payload: string;
79
+ export interface ValidateEndpointRequest {
80
+ path: string;
81
+ /** GET, POST, etc. */
82
+ method: string;
39
83
  }
40
- export interface AIStreamResponse {
41
- requestId: string;
42
- /** "start", "data", "log", "done", "error" */
43
- type: string;
44
- data: string;
45
- chunk: number;
46
- timestamp: string;
84
+ export interface ProvidersResponse {
85
+ providers: Provider[];
86
+ }
87
+ export interface ModelsResponse {
88
+ models: Model[];
89
+ }
90
+ export interface PricingResponse {
91
+ pricing: Pricing[];
92
+ }
93
+ export interface ValidateEndpointResponse {
94
+ isValid: boolean;
95
+ error: string;
96
+ config?: EndpointConfig | undefined;
47
97
  }
48
98
  export declare const AI_PACKAGE_NAME = "ai";
49
- export declare const AICallResponse: MessageFns<AICallResponse>;
50
- export declare const AIStatusResponse: MessageFns<AIStatusResponse>;
51
- export declare const AIResultResponse: MessageFns<AIResultResponse>;
52
- export declare const AICancelResponse: MessageFns<AICancelResponse>;
53
- export declare const AICallRequest: MessageFns<AICallRequest>;
54
- export declare const AIStatusRequest: MessageFns<AIStatusRequest>;
55
- export declare const AIResultRequest: MessageFns<AIResultRequest>;
56
- export declare const AICancelRequest: MessageFns<AICancelRequest>;
57
- export declare const AIStreamRequest: MessageFns<AIStreamRequest>;
58
- export declare const AIStreamResponse: MessageFns<AIStreamResponse>;
99
+ export declare const Provider: MessageFns<Provider>;
100
+ export declare const Model: MessageFns<Model>;
101
+ export declare const Pricing: MessageFns<Pricing>;
102
+ export declare const EndpointConfig: MessageFns<EndpointConfig>;
103
+ export declare const EndpointRequest: MessageFns<EndpointRequest>;
104
+ export declare const ProvidersRequest: MessageFns<ProvidersRequest>;
105
+ export declare const ModelsRequest: MessageFns<ModelsRequest>;
106
+ export declare const PricingRequest: MessageFns<PricingRequest>;
107
+ export declare const ValidateEndpointRequest: MessageFns<ValidateEndpointRequest>;
108
+ export declare const ProvidersResponse: MessageFns<ProvidersResponse>;
109
+ export declare const ModelsResponse: MessageFns<ModelsResponse>;
110
+ export declare const PricingResponse: MessageFns<PricingResponse>;
111
+ export declare const ValidateEndpointResponse: MessageFns<ValidateEndpointResponse>;
59
112
  export interface AIServiceClient {
60
- call(request: AICallRequest, metadata?: Metadata): Observable<AICallResponse>;
61
- status(request: AIStatusRequest, metadata?: Metadata): Observable<AIStatusResponse>;
62
- result(request: AIResultRequest, metadata?: Metadata): Observable<AIResultResponse>;
63
- cancel(request: AICancelRequest, metadata?: Metadata): Observable<AICancelResponse>;
64
- stream(request: AIStreamRequest, metadata?: Metadata): Observable<AIStreamResponse>;
113
+ getEndpointConfig(request: EndpointRequest, metadata?: Metadata): Observable<EndpointConfig>;
114
+ getProviders(request: ProvidersRequest, metadata?: Metadata): Observable<ProvidersResponse>;
115
+ getModels(request: ModelsRequest, metadata?: Metadata): Observable<ModelsResponse>;
116
+ getPricing(request: PricingRequest, metadata?: Metadata): Observable<PricingResponse>;
117
+ validateEndpoint(request: ValidateEndpointRequest, metadata?: Metadata): Observable<ValidateEndpointResponse>;
65
118
  }
66
119
  export interface AIServiceController {
67
- call(request: AICallRequest, metadata?: Metadata): Promise<AICallResponse> | Observable<AICallResponse> | AICallResponse;
68
- status(request: AIStatusRequest, metadata?: Metadata): Promise<AIStatusResponse> | Observable<AIStatusResponse> | AIStatusResponse;
69
- result(request: AIResultRequest, metadata?: Metadata): Promise<AIResultResponse> | Observable<AIResultResponse> | AIResultResponse;
70
- cancel(request: AICancelRequest, metadata?: Metadata): Promise<AICancelResponse> | Observable<AICancelResponse> | AICancelResponse;
71
- stream(request: AIStreamRequest, metadata?: Metadata): Observable<AIStreamResponse>;
120
+ getEndpointConfig(request: EndpointRequest, metadata?: Metadata): Promise<EndpointConfig> | Observable<EndpointConfig> | EndpointConfig;
121
+ getProviders(request: ProvidersRequest, metadata?: Metadata): Promise<ProvidersResponse> | Observable<ProvidersResponse> | ProvidersResponse;
122
+ getModels(request: ModelsRequest, metadata?: Metadata): Promise<ModelsResponse> | Observable<ModelsResponse> | ModelsResponse;
123
+ getPricing(request: PricingRequest, metadata?: Metadata): Promise<PricingResponse> | Observable<PricingResponse> | PricingResponse;
124
+ validateEndpoint(request: ValidateEndpointRequest, metadata?: Metadata): Promise<ValidateEndpointResponse> | Observable<ValidateEndpointResponse> | ValidateEndpointResponse;
72
125
  }
73
126
  export declare function AIServiceControllerMethods(): (constructor: Function) => void;
74
127
  export declare const AI_SERVICE_NAME = "AIService";
75
128
  export type AIServiceService = typeof AIServiceService;
76
129
  export declare const AIServiceService: {
77
- readonly call: {
78
- readonly path: "/ai.AIService/call";
130
+ readonly getEndpointConfig: {
131
+ readonly path: "/ai.AIService/GetEndpointConfig";
79
132
  readonly requestStream: false;
80
133
  readonly responseStream: false;
81
- readonly requestSerialize: (value: AICallRequest) => Buffer;
82
- readonly requestDeserialize: (value: Buffer) => AICallRequest;
83
- readonly responseSerialize: (value: AICallResponse) => Buffer;
84
- readonly responseDeserialize: (value: Buffer) => AICallResponse;
134
+ readonly requestSerialize: (value: EndpointRequest) => Buffer;
135
+ readonly requestDeserialize: (value: Buffer) => EndpointRequest;
136
+ readonly responseSerialize: (value: EndpointConfig) => Buffer;
137
+ readonly responseDeserialize: (value: Buffer) => EndpointConfig;
85
138
  };
86
- readonly status: {
87
- readonly path: "/ai.AIService/status";
139
+ readonly getProviders: {
140
+ readonly path: "/ai.AIService/GetProviders";
88
141
  readonly requestStream: false;
89
142
  readonly responseStream: false;
90
- readonly requestSerialize: (value: AIStatusRequest) => Buffer;
91
- readonly requestDeserialize: (value: Buffer) => AIStatusRequest;
92
- readonly responseSerialize: (value: AIStatusResponse) => Buffer;
93
- readonly responseDeserialize: (value: Buffer) => AIStatusResponse;
143
+ readonly requestSerialize: (value: ProvidersRequest) => Buffer;
144
+ readonly requestDeserialize: (value: Buffer) => ProvidersRequest;
145
+ readonly responseSerialize: (value: ProvidersResponse) => Buffer;
146
+ readonly responseDeserialize: (value: Buffer) => ProvidersResponse;
94
147
  };
95
- readonly result: {
96
- readonly path: "/ai.AIService/result";
148
+ readonly getModels: {
149
+ readonly path: "/ai.AIService/GetModels";
97
150
  readonly requestStream: false;
98
151
  readonly responseStream: false;
99
- readonly requestSerialize: (value: AIResultRequest) => Buffer;
100
- readonly requestDeserialize: (value: Buffer) => AIResultRequest;
101
- readonly responseSerialize: (value: AIResultResponse) => Buffer;
102
- readonly responseDeserialize: (value: Buffer) => AIResultResponse;
152
+ readonly requestSerialize: (value: ModelsRequest) => Buffer;
153
+ readonly requestDeserialize: (value: Buffer) => ModelsRequest;
154
+ readonly responseSerialize: (value: ModelsResponse) => Buffer;
155
+ readonly responseDeserialize: (value: Buffer) => ModelsResponse;
103
156
  };
104
- readonly cancel: {
105
- readonly path: "/ai.AIService/cancel";
157
+ readonly getPricing: {
158
+ readonly path: "/ai.AIService/GetPricing";
106
159
  readonly requestStream: false;
107
160
  readonly responseStream: false;
108
- readonly requestSerialize: (value: AICancelRequest) => Buffer;
109
- readonly requestDeserialize: (value: Buffer) => AICancelRequest;
110
- readonly responseSerialize: (value: AICancelResponse) => Buffer;
111
- readonly responseDeserialize: (value: Buffer) => AICancelResponse;
161
+ readonly requestSerialize: (value: PricingRequest) => Buffer;
162
+ readonly requestDeserialize: (value: Buffer) => PricingRequest;
163
+ readonly responseSerialize: (value: PricingResponse) => Buffer;
164
+ readonly responseDeserialize: (value: Buffer) => PricingResponse;
112
165
  };
113
- readonly stream: {
114
- readonly path: "/ai.AIService/stream";
166
+ readonly validateEndpoint: {
167
+ readonly path: "/ai.AIService/ValidateEndpoint";
115
168
  readonly requestStream: false;
116
- readonly responseStream: true;
117
- readonly requestSerialize: (value: AIStreamRequest) => Buffer;
118
- readonly requestDeserialize: (value: Buffer) => AIStreamRequest;
119
- readonly responseSerialize: (value: AIStreamResponse) => Buffer;
120
- readonly responseDeserialize: (value: Buffer) => AIStreamResponse;
169
+ readonly responseStream: false;
170
+ readonly requestSerialize: (value: ValidateEndpointRequest) => Buffer;
171
+ readonly requestDeserialize: (value: Buffer) => ValidateEndpointRequest;
172
+ readonly responseSerialize: (value: ValidateEndpointResponse) => Buffer;
173
+ readonly responseDeserialize: (value: Buffer) => ValidateEndpointResponse;
121
174
  };
122
175
  };
123
176
  export interface AIServiceServer extends UntypedServiceImplementation {
124
- call: handleUnaryCall<AICallRequest, AICallResponse>;
125
- status: handleUnaryCall<AIStatusRequest, AIStatusResponse>;
126
- result: handleUnaryCall<AIResultRequest, AIResultResponse>;
127
- cancel: handleUnaryCall<AICancelRequest, AICancelResponse>;
128
- stream: handleServerStreamingCall<AIStreamRequest, AIStreamResponse>;
177
+ getEndpointConfig: handleUnaryCall<EndpointRequest, EndpointConfig>;
178
+ getProviders: handleUnaryCall<ProvidersRequest, ProvidersResponse>;
179
+ getModels: handleUnaryCall<ModelsRequest, ModelsResponse>;
180
+ getPricing: handleUnaryCall<PricingRequest, PricingResponse>;
181
+ validateEndpoint: handleUnaryCall<ValidateEndpointRequest, ValidateEndpointResponse>;
129
182
  }
130
183
  export interface MessageFns<T> {
131
184
  encode(message: T, writer?: BinaryWriter): BinaryWriter;