@revenium/perplexity 1.0.0 → 1.0.2

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.
@@ -3,7 +3,7 @@ import type { ChatCompletionMessageParam } from "openai/resources/chat/completio
3
3
  import "./middleware";
4
4
  export declare class PerplexityClient {
5
5
  private client;
6
- constructor(apiKey?: string);
6
+ constructor(apiKey?: string, baseUrl?: string);
7
7
  createChatCompletion(params: {
8
8
  model: string;
9
9
  messages: ChatCompletionMessageParam[];
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/perplexity-ai/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,mCAAmC,CAAC;AAWpF,OAAO,cAAc,CAAC;AAItB,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,MAAM,CAAS;gBAEX,MAAM,CAAC,EAAE,MAAM;IAgBrB,oBAAoB,CAAC,MAAM,EAAE;QACjC,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,EAAE,0BAA0B,EAAE,CAAC;QACvC,MAAM,CAAC,EAAE,KAAK,CAAC;QACf,aAAa,CAAC,EAAE,GAAG,CAAC;QACpB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;KACpB;;;IAaK,6BAA6B,CAAC,MAAM,EAAE;QAC1C,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,EAAE,0BAA0B,EAAE,CAAC;QACvC,aAAa,CAAC,EAAE,GAAG,CAAC;QACpB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;KACpB;;;IAkBK,SAAS;CAShB;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,gBAAgB,CAExE;AAGD,OAAO,EAAE,MAAM,EAAE,CAAC"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/perplexity-ai/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,mCAAmC,CAAC;AAWpF,OAAO,cAAc,CAAC;AAItB,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,MAAM,CAAS;gBAEX,MAAM,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM;IAgBvC,oBAAoB,CAAC,MAAM,EAAE;QACjC,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,EAAE,0BAA0B,EAAE,CAAC;QACvC,MAAM,CAAC,EAAE,KAAK,CAAC;QACf,aAAa,CAAC,EAAE,GAAG,CAAC;QACpB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;KACpB;;;IAaK,6BAA6B,CAAC,MAAM,EAAE;QAC1C,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,EAAE,0BAA0B,EAAE,CAAC;QACvC,aAAa,CAAC,EAAE,GAAG,CAAC;QACpB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;KACpB;;;IAkBK,SAAS;CAShB;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,gBAAgB,CAExE;AAGD,OAAO,EAAE,MAAM,EAAE,CAAC"}
@@ -11,14 +11,14 @@ require("./middleware");
11
11
  const constants_1 = require("../utils/constants/constants");
12
12
  //Perplexity AI Client with middleware integration
13
13
  class PerplexityClient {
14
- constructor(apiKey) {
14
+ constructor(apiKey, baseUrl) {
15
15
  const perplexityApiKey = apiKey || process.env.PERPLEXITY_API_KEY;
16
16
  if (!perplexityApiKey) {
17
17
  throw new Error(messages_1.PERPLEXITY_REQUIRED_API_KEY_MESSAGE);
18
18
  }
19
19
  this.client = new openai_1.OpenAI({
20
20
  apiKey: perplexityApiKey,
21
- baseURL: constants_1.CURRENT_PERPLEXITY_BASE_URL,
21
+ baseURL: baseUrl ?? constants_1.CURRENT_PERPLEXITY_BASE_URL,
22
22
  });
23
23
  models_1.Logger.info(messages_1.PERPLEXITY_CLIENT_INITIALIZED_MESSAGE);
24
24
  }
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/perplexity-ai/client.ts"],"names":[],"mappings":";;;AA2FA,wDAEC;AA7FD,mCAAgC;AAgGvB,uFAhGA,eAAM,OAgGA;AA9Ff,sCAAmC;AACnC,0DAMqC;AAErC,mDAAmD;AACnD,wBAAsB;AACtB,4DAA2E;AAE3E,kDAAkD;AAClD,MAAa,gBAAgB;IAG3B,YAAY,MAAe;QACzB,MAAM,gBAAgB,GAAG,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC;QAElE,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,8CAAmC,CAAC,CAAC;QACvD,CAAC;QAED,IAAI,CAAC,MAAM,GAAG,IAAI,eAAM,CAAC;YACvB,MAAM,EAAE,gBAAgB;YACxB,OAAO,EAAE,uCAA2B;SACrC,CAAC,CAAC;QAEH,eAAM,CAAC,IAAI,CAAC,gDAAqC,CAAC,CAAC;IACrD,CAAC;IAED,0BAA0B;IAC1B,KAAK,CAAC,oBAAoB,CAAC,MAM1B;QACC,IAAI,CAAC;YACH,kEAAkE;YAClE,MAAM,EAAE,aAAa,EAAE,GAAG,YAAY,EAAE,GAAG,MAAM,CAAC;YAClD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;YACzE,OAAO,QAAQ,CAAC;QAClB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,eAAM,CAAC,KAAK,CAAC,oDAAyC,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;YACnE,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED,oCAAoC;IACpC,KAAK,CAAC,6BAA6B,CAAC,MAKnC;QACC,IAAI,CAAC;YACH,kEAAkE;YAClE,MAAM,EAAE,aAAa,EAAE,GAAG,YAAY,EAAE,GAAG,MAAM,CAAC;YAClD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;gBACvD,GAAG,YAAY;gBACf,MAAM,EAAE,IAAI;aACb,CAAC,CAAC;YACH,OAAO,MAAM,CAAC;QAChB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,eAAM,CAAC,KAAK,CAAC,8DAAmD,EAAE;gBAChE,KAAK;aACN,CAAC,CAAC;YACH,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED,sBAAsB;IACtB,KAAK,CAAC,SAAS;QACb,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YAC/C,OAAO,MAAM,CAAC;QAChB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,eAAM,CAAC,KAAK,CAAC,+CAAoC,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;YAC9D,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;CACF;AAtED,4CAsEC;AAED;;GAEG;AACH,SAAgB,sBAAsB,CAAC,MAAe;IACpD,OAAO,IAAI,gBAAgB,CAAC,MAAM,CAAC,CAAC;AACtC,CAAC"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/perplexity-ai/client.ts"],"names":[],"mappings":";;;AA2FA,wDAEC;AA7FD,mCAAgC;AAgGvB,uFAhGA,eAAM,OAgGA;AA9Ff,sCAAmC;AACnC,0DAMqC;AAErC,mDAAmD;AACnD,wBAAsB;AACtB,4DAA2E;AAE3E,kDAAkD;AAClD,MAAa,gBAAgB;IAG3B,YAAY,MAAe,EAAE,OAAgB;QAC3C,MAAM,gBAAgB,GAAG,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC;QAElE,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,8CAAmC,CAAC,CAAC;QACvD,CAAC;QAED,IAAI,CAAC,MAAM,GAAG,IAAI,eAAM,CAAC;YACvB,MAAM,EAAE,gBAAgB;YACxB,OAAO,EAAE,OAAO,IAAI,uCAA2B;SAChD,CAAC,CAAC;QAEH,eAAM,CAAC,IAAI,CAAC,gDAAqC,CAAC,CAAC;IACrD,CAAC;IAED,0BAA0B;IAC1B,KAAK,CAAC,oBAAoB,CAAC,MAM1B;QACC,IAAI,CAAC;YACH,kEAAkE;YAClE,MAAM,EAAE,aAAa,EAAE,GAAG,YAAY,EAAE,GAAG,MAAM,CAAC;YAClD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;YACzE,OAAO,QAAQ,CAAC;QAClB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,eAAM,CAAC,KAAK,CAAC,oDAAyC,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;YACnE,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED,oCAAoC;IACpC,KAAK,CAAC,6BAA6B,CAAC,MAKnC;QACC,IAAI,CAAC;YACH,kEAAkE;YAClE,MAAM,EAAE,aAAa,EAAE,GAAG,YAAY,EAAE,GAAG,MAAM,CAAC;YAClD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;gBACvD,GAAG,YAAY;gBACf,MAAM,EAAE,IAAI;aACb,CAAC,CAAC;YACH,OAAO,MAAM,CAAC;QAChB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,eAAM,CAAC,KAAK,CAAC,8DAAmD,EAAE;gBAChE,KAAK;aACN,CAAC,CAAC;YACH,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED,sBAAsB;IACtB,KAAK,CAAC,SAAS;QACb,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YAC/C,OAAO,MAAM,CAAC;QAChB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,eAAM,CAAC,KAAK,CAAC,+CAAoC,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;YAC9D,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;CACF;AAtED,4CAsEC;AAED;;GAEG;AACH,SAAgB,sBAAsB,CAAC,MAAe;IACpD,OAAO,IAAI,gBAAgB,CAAC,MAAM,CAAC,CAAC;AACtC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@revenium/perplexity",
3
- "version": "1.0.0",
3
+ "version": "1.0.2",
4
4
  "description": "NodeJS middleware for perplexity's AI API",
5
5
  "homepage": "https://github.com/revenium/revenium-middleware-perplexity-node#readme",
6
6
  "bugs": {
@@ -12,7 +12,7 @@
12
12
  },
13
13
  "license": "ISC",
14
14
  "author": "",
15
- "type": "commonjs",
15
+ "type": "module",
16
16
  "main": "dist/index.js",
17
17
  "scripts": {
18
18
  "build": "tsc",
@@ -41,6 +41,7 @@
41
41
  "typescript"
42
42
  ],
43
43
  "dependencies": {
44
+ "@revenium/perplexity": "^1.0.0",
44
45
  "axios": "^1.11.0",
45
46
  "dotenv": "^17.2.1",
46
47
  "openai": "^5.15.0",
@@ -0,0 +1,22 @@
1
+ import { createPerplexityClient } from "@revenium/perplexity";
2
+
3
+ async function basicExample() {
4
+ const client = createPerplexityClient();
5
+
6
+ const response = await client.createChatCompletion({
7
+ model: "sonar-pro",
8
+ messages: [
9
+ {
10
+ role: "user",
11
+ content: "What is the meaning of life, the universe and everything?",
12
+ },
13
+ ],
14
+ });
15
+
16
+ console.log("āœ… Response received:");
17
+ console.log(response.choices[0].message.content);
18
+ console.log("\nšŸ“Š Token usage automatically tracked by middleware");
19
+ console.log("šŸŽ‰ Basic client example successful!");
20
+ }
21
+
22
+ basicExample();
@@ -17,7 +17,7 @@ import { CURRENT_PERPLEXITY_BASE_URL } from "../utils/constants/constants";
17
17
  export class PerplexityClient {
18
18
  private client: OpenAI;
19
19
 
20
- constructor(apiKey?: string) {
20
+ constructor(apiKey?: string, baseUrl?: string) {
21
21
  const perplexityApiKey = apiKey || process.env.PERPLEXITY_API_KEY;
22
22
 
23
23
  if (!perplexityApiKey) {
@@ -26,7 +26,7 @@ export class PerplexityClient {
26
26
 
27
27
  this.client = new OpenAI({
28
28
  apiKey: perplexityApiKey,
29
- baseURL: CURRENT_PERPLEXITY_BASE_URL,
29
+ baseURL: baseUrl ?? CURRENT_PERPLEXITY_BASE_URL,
30
30
  });
31
31
 
32
32
  Logger.info(PERPLEXITY_CLIENT_INITIALIZED_MESSAGE);