@ancatag/n-r 0.2.18 → 0.2.20

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.
Files changed (35) hide show
  1. package/dist/chat.d.ts +5 -5
  2. package/dist/chat.d.ts.map +1 -1
  3. package/dist/chat.js +19 -9
  4. package/dist/chat.js.map +1 -1
  5. package/dist/client.d.ts +0 -2
  6. package/dist/client.d.ts.map +1 -1
  7. package/dist/client.js +2 -10
  8. package/dist/client.js.map +1 -1
  9. package/dist/index.d.ts +1 -1
  10. package/dist/index.d.ts.map +1 -1
  11. package/dist/index.js +0 -1
  12. package/dist/index.js.map +1 -1
  13. package/dist/models.d.ts +5 -5
  14. package/dist/models.d.ts.map +1 -1
  15. package/dist/models.js +16 -7
  16. package/dist/models.js.map +1 -1
  17. package/dist/proto/engine.proto +431 -0
  18. package/dist/proto/generated/engine.d.ts +440 -0
  19. package/dist/proto/generated/engine.d.ts.map +1 -0
  20. package/dist/proto/generated/engine.js +39 -0
  21. package/dist/proto/generated/engine.js.map +1 -0
  22. package/dist/proto/generated/google/protobuf/duration.d.ts +80 -0
  23. package/dist/proto/generated/google/protobuf/duration.d.ts.map +1 -0
  24. package/dist/proto/generated/google/protobuf/duration.js +9 -0
  25. package/dist/proto/generated/google/protobuf/duration.js.map +1 -0
  26. package/dist/proto/generated/google/protobuf/timestamp.d.ts +110 -0
  27. package/dist/proto/generated/google/protobuf/timestamp.d.ts.map +1 -0
  28. package/dist/proto/generated/google/protobuf/timestamp.js +9 -0
  29. package/dist/proto/generated/google/protobuf/timestamp.js.map +1 -0
  30. package/dist/proto/generated/nova-service.d.ts +478 -0
  31. package/dist/proto/generated/nova-service.d.ts.map +1 -0
  32. package/dist/proto/generated/nova-service.js +122 -0
  33. package/dist/proto/generated/nova-service.js.map +1 -0
  34. package/dist/proto/nova-service.proto +472 -0
  35. package/package.json +17 -7
package/dist/chat.d.ts CHANGED
@@ -2,14 +2,14 @@
2
2
  * Chat Completions API
3
3
  * Handles chat completion requests (streaming and non-streaming)
4
4
  */
5
- import { GrpcClient } from "./grpc-client.js";
6
5
  import { HttpClient } from "./http-client.js";
7
- import type { ChatCompletionChunk, ChatCompletionRequest, ChatCompletionResponse } from "./types.js";
6
+ import type { ChatCompletionChunk, ChatCompletionRequest, ChatCompletionResponse, NovaClientConfig } from "./types.js";
8
7
  export declare class ChatCompletions {
9
8
  private readonly httpClient;
10
- private readonly grpcClient?;
11
- constructor(httpClient: HttpClient, grpcClient?: GrpcClient | undefined);
12
- private isGrpc;
9
+ private readonly config;
10
+ private grpcClientInstance?;
11
+ constructor(httpClient: HttpClient, config: NovaClientConfig);
12
+ private getGrpcClient;
13
13
  /**
14
14
  * Create a chat completion (non-streaming)
15
15
  */
@@ -1 +1 @@
1
- {"version":3,"file":"chat.d.ts","sourceRoot":"","sources":["../src/chat.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,KAAK,EACX,mBAAmB,EACnB,qBAAqB,EACrB,sBAAsB,EACtB,MAAM,YAAY,CAAC;AAEpB,qBAAa,eAAe;IAE1B,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC;gBADX,UAAU,EAAE,UAAU,EACtB,UAAU,CAAC,EAAE,UAAU,YAAA;IAGzC,OAAO,CAAC,MAAM;IAId;;OAEG;IACG,MAAM,CACX,OAAO,EAAE,qBAAqB,GAC5B,OAAO,CAAC,sBAAsB,CAAC;IAqBlC;;;OAGG;IACI,YAAY,CAClB,OAAO,EAAE,qBAAqB,EAC9B,MAAM,CAAC,EAAE,WAAW,GAClB,cAAc,CAAC,mBAAmB,EAAE,IAAI,EAAE,OAAO,CAAC;CA2DrD"}
1
+ {"version":3,"file":"chat.d.ts","sourceRoot":"","sources":["../src/chat.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,KAAK,EACX,mBAAmB,EACnB,qBAAqB,EACrB,sBAAsB,EACtB,gBAAgB,EAChB,MAAM,YAAY,CAAC;AAEpB,qBAAa,eAAe;IAG1B,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,MAAM;IAHxB,OAAO,CAAC,kBAAkB,CAAC,CAAa;gBAEtB,UAAU,EAAE,UAAU,EACtB,MAAM,EAAE,gBAAgB;YAG5B,aAAa;IAW3B;;OAEG;IACG,MAAM,CACX,OAAO,EAAE,qBAAqB,GAC5B,OAAO,CAAC,sBAAsB,CAAC;IAsBlC;;;OAGG;IACI,YAAY,CAClB,OAAO,EAAE,qBAAqB,EAC9B,MAAM,CAAC,EAAE,WAAW,GAClB,cAAc,CAAC,mBAAmB,EAAE,IAAI,EAAE,OAAO,CAAC;CA4DrD"}
package/dist/chat.js CHANGED
@@ -4,20 +4,29 @@
4
4
  */
5
5
  export class ChatCompletions {
6
6
  httpClient;
7
- grpcClient;
8
- constructor(httpClient, grpcClient) {
7
+ config;
8
+ grpcClientInstance;
9
+ constructor(httpClient, config) {
9
10
  this.httpClient = httpClient;
10
- this.grpcClient = grpcClient;
11
+ this.config = config;
11
12
  }
12
- isGrpc() {
13
- return Boolean(this.grpcClient);
13
+ async getGrpcClient() {
14
+ if (this.config.transport !== "grpc") {
15
+ return undefined;
16
+ }
17
+ if (!this.grpcClientInstance) {
18
+ const { GrpcClient } = await import("./grpc-client.js");
19
+ this.grpcClientInstance = new GrpcClient(this.config);
20
+ }
21
+ return this.grpcClientInstance;
14
22
  }
15
23
  /**
16
24
  * Create a chat completion (non-streaming)
17
25
  */
18
26
  async create(request) {
19
- if (this.isGrpc() && this.grpcClient) {
20
- return this.grpcClient.createChatCompletion(request);
27
+ const grpcClient = await this.getGrpcClient();
28
+ if (grpcClient) {
29
+ return grpcClient.createChatCompletion(request);
21
30
  }
22
31
  // Filter out undefined values to avoid sending them to the API
23
32
  const filteredRequest = Object.fromEntries(Object.entries(request).filter(([_, value]) => value !== undefined));
@@ -32,8 +41,9 @@ export class ChatCompletions {
32
41
  * Returns an async iterator over chunks
33
42
  */
34
43
  async *createStream(request, signal) {
35
- if (this.isGrpc() && this.grpcClient) {
36
- for await (const chunk of this.grpcClient.createChatCompletionStream(request)) {
44
+ const grpcClient = await this.getGrpcClient();
45
+ if (grpcClient) {
46
+ for await (const chunk of grpcClient.createChatCompletionStream(request)) {
37
47
  yield chunk;
38
48
  }
39
49
  return;
package/dist/chat.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"chat.js","sourceRoot":"","sources":["../src/chat.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chat.js","sourceRoot":"","sources":["../src/chat.ts"],"names":[],"mappings":"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"}
package/dist/client.d.ts CHANGED
@@ -9,9 +9,7 @@ export declare class NovaClient {
9
9
  readonly chat: ChatCompletions;
10
10
  readonly models: Models;
11
11
  private readonly httpClient;
12
- private readonly grpcClient?;
13
12
  constructor(config: NovaClientConfig);
14
- private shouldUseGrpc;
15
13
  /**
16
14
  * Get the API key (masked for security)
17
15
  */
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAG5C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,KAAK,EAAE,gBAAgB,EAAiB,MAAM,YAAY,CAAC;AAElE,qBAAa,UAAU;IACtB,SAAgB,IAAI,EAAE,eAAe,CAAC;IACtC,SAAgB,MAAM,EAAE,MAAM,CAAC;IAC/B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAa;IACxC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAa;gBAE7B,MAAM,EAAE,gBAAgB;IASpC,OAAO,CAAC,aAAa;IAIrB;;OAEG;IACH,SAAS,IAAI,MAAM;CAMnB"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAE5C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAEnD,qBAAa,UAAU;IACtB,SAAgB,IAAI,EAAE,eAAe,CAAC;IACtC,SAAgB,MAAM,EAAE,MAAM,CAAC;IAC/B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAa;gBAE5B,MAAM,EAAE,gBAAgB;IAMpC;;OAEG;IACH,SAAS,IAAI,MAAM;CAMnB"}
package/dist/client.js CHANGED
@@ -3,24 +3,16 @@
3
3
  * Main client class for interacting with Nova AI API
4
4
  */
5
5
  import { ChatCompletions } from "./chat.js";
6
- import { GrpcClient } from "./grpc-client.js";
7
6
  import { HttpClient } from "./http-client.js";
8
7
  import { Models } from "./models.js";
9
8
  export class NovaClient {
10
9
  chat;
11
10
  models;
12
11
  httpClient;
13
- grpcClient;
14
12
  constructor(config) {
15
13
  this.httpClient = new HttpClient(config);
16
- if (this.shouldUseGrpc(config.transport)) {
17
- this.grpcClient = new GrpcClient(config);
18
- }
19
- this.chat = new ChatCompletions(this.httpClient, this.grpcClient);
20
- this.models = new Models(this.httpClient, this.grpcClient);
21
- }
22
- shouldUseGrpc(transport) {
23
- return transport === "grpc";
14
+ this.chat = new ChatCompletions(this.httpClient, config);
15
+ this.models = new Models(this.httpClient, config);
24
16
  }
25
17
  /**
26
18
  * Get the API key (masked for security)
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAGrC,MAAM,OAAO,UAAU;IACN,IAAI,CAAkB;IACtB,MAAM,CAAS;IACd,UAAU,CAAa;IACvB,UAAU,CAAc;IAEzC,YAAY,MAAwB;QACnC,IAAI,CAAC,UAAU,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC;QACzC,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;YAC1C,IAAI,CAAC,UAAU,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC;QAC1C,CAAC;QACD,IAAI,CAAC,IAAI,GAAG,IAAI,eAAe,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QAClE,IAAI,CAAC,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;IAC5D,CAAC;IAEO,aAAa,CAAC,SAAyB;QAC9C,OAAO,SAAS,KAAK,MAAM,CAAC;IAC7B,CAAC;IAED;;OAEG;IACH,SAAS;QACR,oEAAoE;QACpE,MAAM,GAAG,GAAI,IAAI,CAAC,UAAkB,CAAC,MAAgB,CAAC;QACtD,IAAI,GAAG,CAAC,MAAM,IAAI,EAAE;YAAE,OAAO,GAAG,CAAC;QACjC,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAChD,CAAC;CACD"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAGrC,MAAM,OAAO,UAAU;IACN,IAAI,CAAkB;IACtB,MAAM,CAAS;IACd,UAAU,CAAa;IAExC,YAAY,MAAwB;QACnC,IAAI,CAAC,UAAU,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC;QACzC,IAAI,CAAC,IAAI,GAAG,IAAI,eAAe,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;QACzD,IAAI,CAAC,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IACnD,CAAC;IAED;;OAEG;IACH,SAAS;QACR,oEAAoE;QACpE,MAAM,GAAG,GAAI,IAAI,CAAC,UAAkB,CAAC,MAAgB,CAAC;QACtD,IAAI,GAAG,CAAC,MAAM,IAAI,EAAE;YAAE,OAAO,GAAG,CAAC;QACjC,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAChD,CAAC;CACD"}
package/dist/index.d.ts CHANGED
@@ -37,7 +37,7 @@ export declare const NOVA_SERVICE_PROTO: string;
37
37
  export declare const ENGINE_PROTO: string;
38
38
  export { ChatCompletions } from "./chat.js";
39
39
  export { NovaClient } from "./client.js";
40
- export { GrpcClient } from "./grpc-client.js";
40
+ export type { GrpcClient } from "./grpc-client.js";
41
41
  export { HttpClient } from "./http-client.js";
42
42
  export { Models } from "./models.js";
43
43
  export type { ChatCompletionChoice, ChatCompletionChunk, ChatCompletionChunkChoice, ChatCompletionError, ChatCompletionRequest, ChatCompletionResponse, ChatCompletionUsage, ChatMessage, Model, NovaClientConfig, NovaTransport, } from "./types.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AAOH,eAAO,MAAM,kBAAkB,QAI9B,CAAC;AACF,eAAO,MAAM,YAAY,QAA2C,CAAC;AAErE,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,YAAY,EACX,oBAAoB,EACpB,mBAAmB,EACnB,yBAAyB,EACzB,mBAAmB,EACnB,qBAAqB,EACrB,sBAAsB,EACtB,mBAAmB,EACnB,WAAW,EACX,KAAK,EACL,gBAAgB,EAChB,aAAa,GACb,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AAOH,eAAO,MAAM,kBAAkB,QAI9B,CAAC;AACF,eAAO,MAAM,YAAY,QAA2C,CAAC;AAErE,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,YAAY,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,YAAY,EACX,oBAAoB,EACpB,mBAAmB,EACnB,yBAAyB,EACzB,mBAAmB,EACnB,qBAAqB,EACrB,sBAAsB,EACtB,mBAAmB,EACnB,WAAW,EACX,KAAK,EACL,gBAAgB,EAChB,aAAa,GACb,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC"}
package/dist/index.js CHANGED
@@ -40,7 +40,6 @@ export const NOVA_SERVICE_PROTO = join(__dirname, "proto", "nova-service.proto")
40
40
  export const ENGINE_PROTO = join(__dirname, "proto", "engine.proto");
41
41
  export { ChatCompletions } from "./chat.js";
42
42
  export { NovaClient } from "./client.js";
43
- export { GrpcClient } from "./grpc-client.js";
44
43
  export { HttpClient } from "./http-client.js";
45
44
  export { Models } from "./models.js";
46
45
  export { NovaError } from "./types.js";
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,MAAM,SAAS,GAAG,aAAa,CAAC,IAAI,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAE/D,MAAM,CAAC,MAAM,kBAAkB,GAAG,IAAI,CACrC,SAAS,EACT,OAAO,EACP,oBAAoB,CACpB,CAAC;AACF,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC;AAErE,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAcrC,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,MAAM,SAAS,GAAG,aAAa,CAAC,IAAI,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAE/D,MAAM,CAAC,MAAM,kBAAkB,GAAG,IAAI,CACrC,SAAS,EACT,OAAO,EACP,oBAAoB,CACpB,CAAC;AACF,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC;AAErE,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAcrC,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC"}
package/dist/models.d.ts CHANGED
@@ -2,14 +2,14 @@
2
2
  * Models API
3
3
  * Handles model listing and retrieval
4
4
  */
5
- import { GrpcClient } from "./grpc-client.js";
6
5
  import { HttpClient } from "./http-client.js";
7
- import type { Model } from "./types.js";
6
+ import type { Model, NovaClientConfig } from "./types.js";
8
7
  export declare class Models {
9
8
  private readonly httpClient;
10
- private readonly grpcClient?;
11
- constructor(httpClient: HttpClient, grpcClient?: GrpcClient | undefined);
12
- private isGrpc;
9
+ private readonly config;
10
+ private grpcClientInstance?;
11
+ constructor(httpClient: HttpClient, config: NovaClientConfig);
12
+ private getGrpcClient;
13
13
  /**
14
14
  * List all available models for the API key
15
15
  */
@@ -1 +1 @@
1
- {"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../src/models.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAExC,qBAAa,MAAM;IAEjB,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC;gBADX,UAAU,EAAE,UAAU,EACtB,UAAU,CAAC,EAAE,UAAU,YAAA;IAGzC,OAAO,CAAC,MAAM;IAId;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;IAS9B;;OAEG;IACG,GAAG,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC;CAI1C"}
1
+ {"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../src/models.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,KAAK,EAAE,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAE1D,qBAAa,MAAM;IAIjB,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,MAAM;IAJxB,OAAO,CAAC,kBAAkB,CAAC,CAAa;gBAGtB,UAAU,EAAE,UAAU,EACtB,MAAM,EAAE,gBAAgB;YAG5B,aAAa;IAW3B;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;IAU9B;;OAEG;IACG,GAAG,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC;CAI1C"}
package/dist/models.js CHANGED
@@ -4,20 +4,29 @@
4
4
  */
5
5
  export class Models {
6
6
  httpClient;
7
- grpcClient;
8
- constructor(httpClient, grpcClient) {
7
+ config;
8
+ grpcClientInstance;
9
+ constructor(httpClient, config) {
9
10
  this.httpClient = httpClient;
10
- this.grpcClient = grpcClient;
11
+ this.config = config;
11
12
  }
12
- isGrpc() {
13
- return Boolean(this.grpcClient);
13
+ async getGrpcClient() {
14
+ if (this.config.transport !== "grpc") {
15
+ return undefined;
16
+ }
17
+ if (!this.grpcClientInstance) {
18
+ const { GrpcClient } = await import("./grpc-client.js");
19
+ this.grpcClientInstance = new GrpcClient(this.config);
20
+ }
21
+ return this.grpcClientInstance;
14
22
  }
15
23
  /**
16
24
  * List all available models for the API key
17
25
  */
18
26
  async list() {
19
- if (this.isGrpc() && this.grpcClient) {
20
- return this.grpcClient.listModels();
27
+ const grpcClient = await this.getGrpcClient();
28
+ if (grpcClient) {
29
+ return grpcClient.listModels();
21
30
  }
22
31
  const response = await this.httpClient.get("v1/models");
23
32
  return response.data || [];
@@ -1 +1 @@
1
- {"version":3,"file":"models.js","sourceRoot":"","sources":["../src/models.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH,MAAM,OAAO,MAAM;IAEA;IACA;IAFlB,YACkB,UAAsB,EACtB,UAAuB;QADvB,eAAU,GAAV,UAAU,CAAY;QACtB,eAAU,GAAV,UAAU,CAAa;IACtC,CAAC;IAEI,MAAM;QACb,OAAO,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACjC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,IAAI;QACT,IAAI,IAAI,CAAC,MAAM,EAAE,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACtC,OAAO,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,CAAC;QACrC,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CAAoB,WAAW,CAAC,CAAC;QAC3E,OAAO,QAAQ,CAAC,IAAI,IAAI,EAAE,CAAC;IAC5B,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,GAAG,CAAC,OAAe;QACxB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CAAQ,aAAa,OAAO,EAAE,CAAC,CAAC;QAC1E,OAAO,QAAQ,CAAC;IACjB,CAAC;CACD"}
1
+ {"version":3,"file":"models.js","sourceRoot":"","sources":["../src/models.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH,MAAM,OAAO,MAAM;IAIA;IACA;IAJV,kBAAkB,CAAc;IAExC,YACkB,UAAsB,EACtB,MAAwB;QADxB,eAAU,GAAV,UAAU,CAAY;QACtB,WAAM,GAAN,MAAM,CAAkB;IACvC,CAAC;IAEI,KAAK,CAAC,aAAa;QAC1B,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,KAAK,MAAM,EAAE,CAAC;YACtC,OAAO,SAAS,CAAC;QAClB,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC9B,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;YACxD,IAAI,CAAC,kBAAkB,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACvD,CAAC;QACD,OAAO,IAAI,CAAC,kBAAkB,CAAC;IAChC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,IAAI;QACT,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;QAC9C,IAAI,UAAU,EAAE,CAAC;YAChB,OAAO,UAAU,CAAC,UAAU,EAAE,CAAC;QAChC,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CAAoB,WAAW,CAAC,CAAC;QAC3E,OAAO,QAAQ,CAAC,IAAI,IAAI,EAAE,CAAC;IAC5B,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,GAAG,CAAC,OAAe;QACxB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CAAQ,aAAa,OAAO,EAAE,CAAC,CAAC;QAC1E,OAAO,QAAQ,CAAC;IACjB,CAAC;CACD"}