@pagesolver/sdk 2.0.0 → 2.0.1

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/README.md CHANGED
@@ -15,10 +15,9 @@ npm install @pagesolver/sdk
15
15
  ## Usage
16
16
 
17
17
  ```ts
18
- import { createPageSolverSdk } from "@pagesolver/sdk";
18
+ import { createClient } from "@pagesolver/sdk";
19
19
 
20
- const sdk = createPageSolverSdk({
21
- baseUrl: "https://your-project.supabase.co/functions/v1/websites",
20
+ const sdk = createClient({
22
21
  businessKey: process.env.PAGESOLVER_BUSINESS_KEY!,
23
22
  });
24
23
 
@@ -26,17 +25,28 @@ const modules = await sdk.getModules();
26
25
  const showcases = await sdk.getShowcases({ collection: "Bathrooms" });
27
26
  ```
28
27
 
28
+ The SDK targets the production PageSolver `websites` Edge Function by default.
29
+
30
+ Pass `baseUrl` only when you explicitly want a non-production backend, such as local or preview:
31
+
32
+ ```ts
33
+ const sdk = createClient({
34
+ businessKey: process.env.PAGESOLVER_BUSINESS_KEY!,
35
+ baseUrl: "https://your-preview-project.supabase.co/functions/v1/websites",
36
+ });
37
+ ```
38
+
29
39
  ## Regenerate
30
40
 
31
41
  ```bash
32
42
  bun run sdk:generate
33
43
  ```
34
44
 
35
- The SDK package version is synced from:
45
+ The SDK contract version is synced from:
36
46
 
37
47
  - [infra/supabase/functions/websites/openapi.json](/Users/zekepari/Documents/GitHub/pagesolver/infra/supabase/functions/websites/openapi.json)
38
48
 
39
- So when the OpenAPI `info.version` changes, the package version should change with it.
49
+ The npm package version may advance independently for SDK ergonomics and runtime improvements.
40
50
 
41
51
  ## Verify
42
52
 
package/dist/index.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  import type { components, paths } from "./generated/schema.js";
2
+ export declare const PAGESOLVER_PRODUCTION_BASE_URL = "https://nojpnistalabissmttgw.supabase.co/functions/v1/websites";
2
3
  type HttpMethod = "get" | "post";
3
4
  type Operation<Path extends keyof paths, Method extends keyof paths[Path] & HttpMethod> = NonNullable<paths[Path][Method]>;
4
5
  type JsonRequestBody<Path extends keyof paths, Method extends keyof paths[Path] & HttpMethod> = Operation<Path, Method> extends {
@@ -23,12 +24,14 @@ export type ShowcasesResponse = JsonResponse<"/v2/showcases", "get", 200>;
23
24
  export type ComparisonsResponse = JsonResponse<"/v2/comparisons", "get", 200>;
24
25
  export type ReviewsResponse = JsonResponse<"/v2/reviews", "get", 200>;
25
26
  export type FacebookResponse = JsonResponse<"/v2/facebook", "get", 200>;
26
- export interface PageSolverSdkConfig {
27
- baseUrl: string;
27
+ export interface PageSolverClientConfig {
28
28
  businessKey: string;
29
+ baseUrl?: string;
29
30
  fetch?: typeof globalThis.fetch;
30
31
  headers?: HeadersInit;
31
32
  }
33
+ export interface PageSolverSdkConfig extends PageSolverClientConfig {
34
+ }
32
35
  export interface RequestOptions {
33
36
  headers?: HeadersInit;
34
37
  signal?: AbortSignal;
@@ -49,12 +52,12 @@ export declare class PageSolverApiError<TData = PageSolverApiErrorResponse> exte
49
52
  readonly url: string;
50
53
  constructor(message: string, options: PageSolverApiErrorOptions<TData>);
51
54
  }
52
- export declare class PageSolverSdk {
55
+ export declare class PageSolverClient {
53
56
  private readonly baseUrl;
54
57
  private readonly businessKey;
55
58
  private readonly fetchImpl;
56
59
  private readonly defaultHeaders?;
57
- constructor(config: PageSolverSdkConfig);
60
+ constructor(config: PageSolverClientConfig);
58
61
  getModules(options?: RequestOptions): Promise<ModulesResponse>;
59
62
  getShowcases(options?: CollectionFilterOptions): Promise<ShowcasesResponse>;
60
63
  getComparisons(options?: CollectionFilterOptions): Promise<ComparisonsResponse>;
@@ -63,6 +66,11 @@ export declare class PageSolverSdk {
63
66
  submitContact(payload: ContactPayload, options?: RequestOptions): Promise<ContactResponse>;
64
67
  private request;
65
68
  }
66
- export declare function createPageSolverSdk(config: PageSolverSdkConfig): PageSolverSdk;
69
+ export declare function createClient(config: PageSolverClientConfig): PageSolverClient;
70
+ /**
71
+ * @deprecated Use createClient instead.
72
+ */
73
+ export declare function createPageSolverSdk(config: PageSolverSdkConfig): PageSolverClient;
74
+ export { PageSolverClient as PageSolverSdk };
67
75
  export type { components, paths } from "./generated/schema.js";
68
76
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAE/D,KAAK,UAAU,GAAG,KAAK,GAAG,MAAM,CAAC;AACjC,KAAK,SAAS,CACZ,IAAI,SAAS,MAAM,KAAK,EACxB,MAAM,SAAS,MAAM,KAAK,CAAC,IAAI,CAAC,GAAG,UAAU,IAC3C,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;AAErC,KAAK,eAAe,CAClB,IAAI,SAAS,MAAM,KAAK,EACxB,MAAM,SAAS,MAAM,KAAK,CAAC,IAAI,CAAC,GAAG,UAAU,IAC3C,SAAS,CAAC,IAAI,EAAE,MAAM,CAAC,SAAS;IAClC,WAAW,EAAE;QACX,OAAO,EAAE;YACP,kBAAkB,EAAE,MAAM,IAAI,CAAC;SAChC,CAAC;KACH,CAAC;CACH,GACG,IAAI,GACJ,KAAK,CAAC;AAEV,KAAK,YAAY,CACf,IAAI,SAAS,MAAM,KAAK,EACxB,MAAM,SAAS,MAAM,KAAK,CAAC,IAAI,CAAC,GAAG,UAAU,EAC7C,MAAM,SAAS,MAAM,SAAS,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,WAAW,CAAC,IACvD,SAAS,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,SAAS;IACvD,OAAO,EAAE;QACP,kBAAkB,EAAE,MAAM,IAAI,CAAC;KAChC,CAAC;CACH,GACG,IAAI,GACJ,KAAK,CAAC;AAEV,MAAM,MAAM,kBAAkB,GAAG,KAAK,CAAC;AACvC,MAAM,MAAM,uBAAuB,GAAG,UAAU,CAAC;AACjD,MAAM,MAAM,0BAA0B,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,eAAe,CAAC,CAAC;AAChF,MAAM,MAAM,cAAc,GAAG,eAAe,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;AACpE,MAAM,MAAM,eAAe,GAAG,YAAY,CAAC,aAAa,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;AACvE,MAAM,MAAM,eAAe,GAAG,YAAY,CAAC,aAAa,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;AACtE,MAAM,MAAM,iBAAiB,GAAG,YAAY,CAAC,eAAe,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;AAC1E,MAAM,MAAM,mBAAmB,GAAG,YAAY,CAAC,iBAAiB,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;AAC9E,MAAM,MAAM,eAAe,GAAG,YAAY,CAAC,aAAa,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;AACtE,MAAM,MAAM,gBAAgB,GAAG,YAAY,CAAC,cAAc,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;AAExE,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,OAAO,UAAU,CAAC,KAAK,CAAC;IAChC,OAAO,CAAC,EAAE,WAAW,CAAC;CACvB;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAED,MAAM,WAAW,uBAAwB,SAAQ,cAAc;IAC7D,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,yBAAyB,CAAC,KAAK;IAC9C,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,KAAK,GAAG,IAAI,CAAC;IACnB,QAAQ,EAAE,QAAQ,CAAC;IACnB,GAAG,EAAE,MAAM,CAAC;CACb;AAED,qBAAa,kBAAkB,CAAC,KAAK,GAAG,0BAA0B,CAAE,SAAQ,KAAK;IAC/E,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,KAAK,GAAG,IAAI,CAAC;IAC5B,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;gBAET,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,yBAAyB,CAAC,KAAK,CAAC;CAQvE;AAED,qBAAa,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;IACrC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA0B;IACpD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAc;gBAElC,MAAM,EAAE,mBAAmB;IAqBvC,UAAU,CAAC,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,eAAe,CAAC;IAO9D,YAAY,CAAC,OAAO,GAAE,uBAA4B,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAS/E,cAAc,CACZ,OAAO,GAAE,uBAA4B,GACpC,OAAO,CAAC,mBAAmB,CAAC;IAS/B,UAAU,CAAC,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,eAAe,CAAC;IAO9D,WAAW,CAAC,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAOhE,aAAa,CACX,OAAO,EAAE,cAAc,EACvB,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,eAAe,CAAC;YAQb,OAAO;CA6CtB;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,mBAAmB,GAAG,aAAa,CAE9E;AAyDD,YAAY,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -1,3 +1,4 @@
1
+ export const PAGESOLVER_PRODUCTION_BASE_URL = "https://nojpnistalabissmttgw.supabase.co/functions/v1/websites";
1
2
  export class PageSolverApiError extends Error {
2
3
  status;
3
4
  data;
@@ -12,22 +13,19 @@ export class PageSolverApiError extends Error {
12
13
  this.url = options.url;
13
14
  }
14
15
  }
15
- export class PageSolverSdk {
16
+ export class PageSolverClient {
16
17
  baseUrl;
17
18
  businessKey;
18
19
  fetchImpl;
19
20
  defaultHeaders;
20
21
  constructor(config) {
21
- if (!config.baseUrl) {
22
- throw new Error("PageSolver SDK requires a baseUrl.");
23
- }
24
22
  if (!config.businessKey) {
25
23
  throw new Error("PageSolver SDK requires a businessKey.");
26
24
  }
27
25
  if (!config.fetch && typeof globalThis.fetch !== "function") {
28
26
  throw new Error("PageSolver SDK requires a fetch implementation in this runtime.");
29
27
  }
30
- this.baseUrl = normalizeBaseUrl(config.baseUrl);
28
+ this.baseUrl = normalizeBaseUrl(config.baseUrl ?? PAGESOLVER_PRODUCTION_BASE_URL);
31
29
  this.businessKey = config.businessKey;
32
30
  this.fetchImpl = config.fetch ?? globalThis.fetch;
33
31
  this.defaultHeaders = config.headers;
@@ -104,9 +102,16 @@ export class PageSolverSdk {
104
102
  return payload;
105
103
  }
106
104
  }
105
+ export function createClient(config) {
106
+ return new PageSolverClient(config);
107
+ }
108
+ /**
109
+ * @deprecated Use createClient instead.
110
+ */
107
111
  export function createPageSolverSdk(config) {
108
- return new PageSolverSdk(config);
112
+ return createClient(config);
109
113
  }
114
+ export { PageSolverClient as PageSolverSdk };
110
115
  function normalizeBaseUrl(baseUrl) {
111
116
  return baseUrl.replace(/\/+$/, "");
112
117
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pagesolver/sdk",
3
- "version": "2.0.0",
3
+ "version": "2.0.1",
4
4
  "description": "Typed TypeScript SDK for the public PageSolver websites API.",
5
5
  "author": {
6
6
  "name": "Prompt Solutions"
@@ -17,6 +17,9 @@
17
17
  "bugs": {
18
18
  "url": "https://github.com/zekepari/pagesolver/issues"
19
19
  },
20
+ "pagesolver": {
21
+ "apiVersion": "2.0.0"
22
+ },
20
23
  "keywords": [
21
24
  "pagesolver",
22
25
  "sdk",