@01.software/sdk 0.31.0 → 0.33.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.
Files changed (52) hide show
  1. package/README.md +128 -47
  2. package/dist/analytics/react.cjs.map +1 -1
  3. package/dist/analytics/react.js.map +1 -1
  4. package/dist/analytics.cjs.map +1 -1
  5. package/dist/analytics.js.map +1 -1
  6. package/dist/client.cjs +41 -48
  7. package/dist/client.cjs.map +1 -1
  8. package/dist/client.d.cts +6 -6
  9. package/dist/client.d.ts +6 -6
  10. package/dist/client.js +41 -48
  11. package/dist/client.js.map +1 -1
  12. package/dist/{collection-client-ByzY3hWK.d.ts → collection-client-B6SlhzIP.d.ts} +3 -3
  13. package/dist/{collection-client-DFXXz0vk.d.cts → collection-client-De6eKW1J.d.cts} +3 -3
  14. package/dist/{const-AytzliEu.d.cts → const-DwmSDeWq.d.ts} +2 -2
  15. package/dist/{const-BGCP-OJL.d.ts → const-sPR2IkCe.d.cts} +2 -2
  16. package/dist/index.cjs +310 -133
  17. package/dist/index.cjs.map +1 -1
  18. package/dist/index.d.cts +7 -7
  19. package/dist/index.d.ts +7 -7
  20. package/dist/index.js +310 -133
  21. package/dist/index.js.map +1 -1
  22. package/dist/{payload-types-Wa4-eC6x.d.cts → payload-types-dkeQyrDC.d.cts} +1572 -1440
  23. package/dist/{payload-types-Wa4-eC6x.d.ts → payload-types-dkeQyrDC.d.ts} +1572 -1440
  24. package/dist/query.cjs.map +1 -1
  25. package/dist/query.d.cts +20 -20
  26. package/dist/query.d.ts +20 -20
  27. package/dist/query.js.map +1 -1
  28. package/dist/realtime.cjs.map +1 -1
  29. package/dist/realtime.d.cts +2 -2
  30. package/dist/realtime.d.ts +2 -2
  31. package/dist/realtime.js.map +1 -1
  32. package/dist/server.cjs +70 -6
  33. package/dist/server.cjs.map +1 -1
  34. package/dist/server.d.cts +100 -8
  35. package/dist/server.d.ts +100 -8
  36. package/dist/server.js +70 -6
  37. package/dist/server.js.map +1 -1
  38. package/dist/{types-CmLG-7RL.d.cts → types-B3YT092I.d.cts} +1 -1
  39. package/dist/{types-BX2mqDf6.d.ts → types-BHh0YLmq.d.ts} +63 -13
  40. package/dist/{types-DChFjQGz.d.cts → types-BZKxss8Y.d.cts} +63 -13
  41. package/dist/{types-CVA10VC-.d.ts → types-Cel_4L9t.d.ts} +1 -1
  42. package/dist/ui/form.d.cts +1 -1
  43. package/dist/ui/form.d.ts +1 -1
  44. package/dist/ui/video.d.cts +1 -1
  45. package/dist/ui/video.d.ts +1 -1
  46. package/dist/webhook.cjs +142 -1
  47. package/dist/webhook.cjs.map +1 -1
  48. package/dist/webhook.d.cts +149 -5
  49. package/dist/webhook.d.ts +149 -5
  50. package/dist/webhook.js +142 -1
  51. package/dist/webhook.js.map +1 -1
  52. package/package.json +3 -3
package/dist/client.d.cts CHANGED
@@ -1,10 +1,10 @@
1
- import { R as ReadOnlyCollectionClient } from './collection-client-DFXXz0vk.cjs';
2
- import { C as CommerceClient, a as CommunityClient, b as CustomerNamespace, c as ClientState, d as ClientConfig } from './types-DChFjQGz.cjs';
3
- export { A as ApiQueryOptions, e as ClientMetadata, D as DebugConfig, f as DeepPartial, E as ExtractArrayType, P as PayloadFindResponse, g as PayloadMutationResponse, R as RetryConfig, h as RootClient, h as RootClientType, i as RootCollectionClient, j as RootReadOnlyQueryBuilder, S as Sort, W as Where } from './types-DChFjQGz.cjs';
4
- export { C as Collection, P as PublicCollection } from './const-AytzliEu.cjs';
1
+ import { R as ReadOnlyCollectionClient } from './collection-client-De6eKW1J.cjs';
2
+ import { C as CommerceClient, a as CommunityClient, b as CustomerNamespace, c as ClientState, d as ClientConfig } from './types-BZKxss8Y.cjs';
3
+ export { A as ApiQueryOptions, e as ClientMetadata, D as DebugConfig, f as DeepPartial, E as ExtractArrayType, P as PayloadFindResponse, g as PayloadMutationResponse, R as RetryConfig, h as RootClient, h as RootClientType, i as RootCollectionClient, j as RootReadOnlyQueryBuilder, S as Sort, W as Where } from './types-BZKxss8Y.cjs';
4
+ export { C as Collection, P as PublicCollection } from './const-sPR2IkCe.cjs';
5
5
  import './metadata.cjs';
6
- import './types-CmLG-7RL.cjs';
7
- import './payload-types-Wa4-eC6x.cjs';
6
+ import './types-B3YT092I.cjs';
7
+ import './payload-types-dkeQyrDC.cjs';
8
8
 
9
9
  declare class Client {
10
10
  commerce: CommerceClient;
package/dist/client.d.ts CHANGED
@@ -1,10 +1,10 @@
1
- import { R as ReadOnlyCollectionClient } from './collection-client-ByzY3hWK.js';
2
- import { C as CommerceClient, a as CommunityClient, b as CustomerNamespace, c as ClientState, d as ClientConfig } from './types-BX2mqDf6.js';
3
- export { A as ApiQueryOptions, e as ClientMetadata, D as DebugConfig, f as DeepPartial, E as ExtractArrayType, P as PayloadFindResponse, g as PayloadMutationResponse, R as RetryConfig, h as RootClient, h as RootClientType, i as RootCollectionClient, j as RootReadOnlyQueryBuilder, S as Sort, W as Where } from './types-BX2mqDf6.js';
4
- export { C as Collection, P as PublicCollection } from './const-BGCP-OJL.js';
1
+ import { R as ReadOnlyCollectionClient } from './collection-client-B6SlhzIP.js';
2
+ import { C as CommerceClient, a as CommunityClient, b as CustomerNamespace, c as ClientState, d as ClientConfig } from './types-BHh0YLmq.js';
3
+ export { A as ApiQueryOptions, e as ClientMetadata, D as DebugConfig, f as DeepPartial, E as ExtractArrayType, P as PayloadFindResponse, g as PayloadMutationResponse, R as RetryConfig, h as RootClient, h as RootClientType, i as RootCollectionClient, j as RootReadOnlyQueryBuilder, S as Sort, W as Where } from './types-BHh0YLmq.js';
4
+ export { C as Collection, P as PublicCollection } from './const-DwmSDeWq.js';
5
5
  import './metadata.js';
6
- import './types-CVA10VC-.js';
7
- import './payload-types-Wa4-eC6x.js';
6
+ import './types-Cel_4L9t.js';
7
+ import './payload-types-dkeQyrDC.js';
8
8
 
9
9
  declare class Client {
10
10
  commerce: CommerceClient;
package/dist/client.js CHANGED
@@ -1164,7 +1164,7 @@ var CustomerAuth = class {
1164
1164
  );
1165
1165
  return data.customer ?? null;
1166
1166
  } catch (error) {
1167
- if (error instanceof ApiError && error.status === 401) {
1167
+ if (error instanceof SDKError && error.status === 401) {
1168
1168
  this.setToken(null);
1169
1169
  return null;
1170
1170
  }
@@ -1259,51 +1259,15 @@ var CustomerAuth = class {
1259
1259
  if (!headers.has("Content-Type") && init.body) {
1260
1260
  headers.set("Content-Type", "application/json");
1261
1261
  }
1262
- const controller = new AbortController();
1263
- const timeoutId = setTimeout(() => controller.abort(), DEFAULT_TIMEOUT2);
1264
- let res;
1265
- try {
1266
- res = await fetch(`${this.baseUrl}${path}`, {
1267
- ...init,
1268
- headers,
1269
- signal: controller.signal
1270
- });
1271
- } catch (error) {
1272
- clearTimeout(timeoutId);
1273
- if (error instanceof Error && error.name === "AbortError") {
1274
- throw new TimeoutError(`Request timed out after ${DEFAULT_TIMEOUT2}ms`, {
1275
- url: path,
1276
- timeout: DEFAULT_TIMEOUT2
1277
- });
1278
- }
1279
- throw new NetworkError(
1280
- error instanceof Error ? error.message : "Network request failed",
1281
- void 0,
1282
- { url: path },
1283
- "Network connection failed.",
1284
- "Please check your internet connection and try again."
1285
- );
1286
- }
1287
- clearTimeout(timeoutId);
1288
- if (!res.ok) {
1289
- const body = await res.json().catch(() => ({}));
1290
- throw new ApiError(
1291
- body.error || `HTTP ${res.status}`,
1292
- res.status,
1293
- body.details,
1294
- body.error
1295
- );
1296
- }
1297
- try {
1298
- return await res.json();
1299
- } catch {
1300
- throw new ApiError(
1301
- "Invalid JSON response from server",
1302
- res.status,
1303
- void 0,
1304
- "INVALID_RESPONSE"
1305
- );
1306
- }
1262
+ const response = await httpFetch(path, {
1263
+ ...init,
1264
+ apiUrl: this.baseUrl,
1265
+ publishableKey: this.publishableKey,
1266
+ headers,
1267
+ timeout: DEFAULT_TIMEOUT2,
1268
+ retry: { maxRetries: 0 }
1269
+ });
1270
+ return parseApiResponse(response, path);
1307
1271
  }
1308
1272
  };
1309
1273
 
@@ -1384,6 +1348,30 @@ var CartApi = class {
1384
1348
  }
1385
1349
  };
1386
1350
 
1351
+ // src/core/api/product-api.ts
1352
+ var PRODUCT_DETAIL_UNAVAILABLE_REASONS = /* @__PURE__ */ new Set([
1353
+ "not_found",
1354
+ "not_published",
1355
+ "feature_disabled"
1356
+ ]);
1357
+ function isRecord(value) {
1358
+ return typeof value === "object" && value !== null;
1359
+ }
1360
+ function readProductDetailUnavailableReason(value) {
1361
+ if (!isRecord(value)) return void 0;
1362
+ const directReason = value.reason ?? value.code;
1363
+ if (typeof directReason === "string" && PRODUCT_DETAIL_UNAVAILABLE_REASONS.has(directReason)) {
1364
+ return directReason;
1365
+ }
1366
+ return readProductDetailUnavailableReason(value.body);
1367
+ }
1368
+ function productDetailResultFromError(error) {
1369
+ if (!(error instanceof SDKError) || error.status !== 404) return void 0;
1370
+ const reason = readProductDetailUnavailableReason(error.details);
1371
+ if (!reason) return void 0;
1372
+ return { found: false, reason };
1373
+ }
1374
+
1387
1375
  // src/core/commerce/commerce-client.ts
1388
1376
  var CommerceClient = class {
1389
1377
  constructor(options) {
@@ -1418,9 +1406,14 @@ var CommerceClient = class {
1418
1406
  listingGroups: (params) => execute("/api/products/listing-groups", params),
1419
1407
  detail: async (params) => {
1420
1408
  try {
1421
- return await execute("/api/products/detail", params);
1409
+ const product = await execute(
1410
+ "/api/products/detail",
1411
+ params
1412
+ );
1413
+ return { found: true, product };
1422
1414
  } catch (err) {
1423
- if (err instanceof NotFoundError) return null;
1415
+ const notFoundResult = productDetailResultFromError(err);
1416
+ if (notFoundResult) return notFoundResult;
1424
1417
  throw err;
1425
1418
  }
1426
1419
  }