@blux.ai/web-sdk 0.0.3 → 0.0.5

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 (115) hide show
  1. package/.prettierrc +0 -1
  2. package/.sentryclirc +3 -0
  3. package/README.md +147 -11
  4. package/demo/README.md +46 -0
  5. package/demo/craco.config.js +27 -0
  6. package/demo/package.json +48 -0
  7. package/demo/public/favicon.ico +0 -0
  8. package/demo/public/index.html +43 -0
  9. package/demo/public/logo192.png +0 -0
  10. package/demo/public/logo512.png +0 -0
  11. package/demo/public/manifest.json +25 -0
  12. package/demo/public/robots.txt +3 -0
  13. package/demo/src/App.test.tsx +9 -0
  14. package/demo/src/App.tsx +158 -0
  15. package/demo/src/index.css +16 -0
  16. package/demo/src/index.tsx +19 -0
  17. package/demo/src/react-app-env.d.ts +1 -0
  18. package/demo/src/reportWebVitals.ts +15 -0
  19. package/demo/src/setupTests.ts +5 -0
  20. package/demo/tailwind.config.js +8 -0
  21. package/demo/yarn.lock +10120 -0
  22. package/dist/BluxClient.d.ts +40 -15
  23. package/dist/BluxClient.js +317 -87
  24. package/dist/BluxClient.js.map +1 -0
  25. package/dist/constants/URLS.d.ts +12 -0
  26. package/dist/constants/URLS.js +19 -0
  27. package/dist/constants/URLS.js.map +1 -0
  28. package/dist/core/LocalStorage.d.ts +0 -9
  29. package/dist/core/LocalStorage.js +4 -26
  30. package/dist/core/LocalStorage.js.map +1 -0
  31. package/dist/core/Logger.d.ts +11 -12
  32. package/dist/core/Logger.js +61 -63
  33. package/dist/core/Logger.js.map +1 -0
  34. package/dist/events/AddCartaddEvent.d.ts +5 -0
  35. package/dist/{requests/Events → events}/AddCartaddEvent.js +13 -10
  36. package/dist/events/AddCartaddEvent.js.map +1 -0
  37. package/dist/events/AddCustomEvent.d.ts +5 -0
  38. package/dist/{requests/Events → events}/AddCustomEvent.js +14 -11
  39. package/dist/events/AddCustomEvent.js.map +1 -0
  40. package/dist/events/AddLikeEvent.d.ts +5 -0
  41. package/dist/{requests/Events → events}/AddLikeEvent.js +13 -10
  42. package/dist/events/AddLikeEvent.js.map +1 -0
  43. package/dist/events/AddPageViewEvent.d.ts +5 -0
  44. package/dist/{requests/Events → events}/AddPageViewEvent.js +11 -8
  45. package/dist/events/AddPageViewEvent.js.map +1 -0
  46. package/dist/events/AddProductDetailViewEvent.d.ts +5 -0
  47. package/dist/{requests/Events → events}/AddProductDetailViewEvent.js +13 -10
  48. package/dist/events/AddProductDetailViewEvent.js.map +1 -0
  49. package/dist/events/AddPurchaseEvent.d.ts +5 -0
  50. package/dist/{requests/Events → events}/AddPurchaseEvent.js +13 -10
  51. package/dist/events/AddPurchaseEvent.js.map +1 -0
  52. package/dist/events/AddRateEvent.d.ts +5 -0
  53. package/dist/{requests/Events → events}/AddRateEvent.js +14 -11
  54. package/dist/events/AddRateEvent.js.map +1 -0
  55. package/dist/events/AddRecommendationViewEvent.d.ts +5 -0
  56. package/dist/{requests/Events → events}/AddRecommendationViewEvent.js +12 -9
  57. package/dist/events/AddRecommendationViewEvent.js.map +1 -0
  58. package/dist/events/Event.d.ts +5 -0
  59. package/dist/events/Event.js +26 -0
  60. package/dist/events/Event.js.map +1 -0
  61. package/dist/{requests/Events → events}/index.js +4 -0
  62. package/dist/events/index.js.map +1 -0
  63. package/dist/events/types.d.ts +42 -0
  64. package/dist/events/types.js +6 -0
  65. package/dist/events/types.js.map +1 -0
  66. package/dist/index.d.ts +3 -4
  67. package/dist/index.js +20 -15
  68. package/dist/index.js.map +1 -0
  69. package/dist/utils/helper.js +4 -0
  70. package/dist/utils/helper.js.map +1 -0
  71. package/dist/utils/operators.d.ts +2 -0
  72. package/dist/utils/operators.js +12 -0
  73. package/dist/utils/operators.js.map +1 -0
  74. package/dist/utils/sentry.d.ts +2 -0
  75. package/dist/utils/sentry.js +50 -0
  76. package/dist/utils/sentry.js.map +1 -0
  77. package/package.json +13 -3
  78. package/.vscode/settings.json +0 -7
  79. package/dist/core/BaseErrorHandler.d.ts +0 -3
  80. package/dist/core/BaseErrorHandler.js +0 -13
  81. package/dist/core/HTTPClient.d.ts +0 -10
  82. package/dist/core/HTTPClient.js +0 -122
  83. package/dist/requests/Devices/ActivateDevice.d.ts +0 -8
  84. package/dist/requests/Devices/ActivateDevice.js +0 -39
  85. package/dist/requests/Devices/CreateDevice.d.ts +0 -14
  86. package/dist/requests/Devices/CreateDevice.js +0 -54
  87. package/dist/requests/Devices/UpdateDevice.d.ts +0 -17
  88. package/dist/requests/Devices/UpdateDevice.js +0 -61
  89. package/dist/requests/Devices/index.d.ts +0 -3
  90. package/dist/requests/Devices/index.js +0 -19
  91. package/dist/requests/Events/AddCartaddEvent.d.ts +0 -5
  92. package/dist/requests/Events/AddCustomEvent.d.ts +0 -5
  93. package/dist/requests/Events/AddLikeEvent.d.ts +0 -5
  94. package/dist/requests/Events/AddPageViewEvent.d.ts +0 -5
  95. package/dist/requests/Events/AddProductDetailViewEvent.d.ts +0 -5
  96. package/dist/requests/Events/AddPurchaseEvent.d.ts +0 -5
  97. package/dist/requests/Events/AddRateEvent.d.ts +0 -5
  98. package/dist/requests/Events/AddRecommendationViewEvent.d.ts +0 -5
  99. package/dist/requests/Events/EventRequest.d.ts +0 -17
  100. package/dist/requests/Events/EventRequest.js +0 -56
  101. package/dist/requests/Events/types.d.ts +0 -42
  102. package/dist/requests/Events/types.js +0 -2
  103. package/dist/requests/Request.d.ts +0 -12
  104. package/dist/requests/Request.js +0 -22
  105. package/dist/requests/Users/UpdateUserProperties.d.ts +0 -17
  106. package/dist/requests/Users/UpdateUserProperties.js +0 -54
  107. package/dist/requests/Users/index.d.ts +0 -1
  108. package/dist/requests/Users/index.js +0 -17
  109. package/dist/requests/Users/types.d.ts +0 -12
  110. package/dist/requests/Users/types.js +0 -2
  111. package/dist/requests/index.d.ts +0 -3
  112. package/dist/requests/index.js +0 -19
  113. package/dist/utils/types.d.ts +0 -2
  114. package/dist/utils/types.js +0 -11
  115. /package/dist/{requests/Events → events}/index.d.ts +0 -0
@@ -1,4 +1,6 @@
1
1
  "use strict";
2
+ !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},n=(new Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="4533348d-c331-5873-b083-81bf8e2d0cb9")}catch(e){}}();
3
+
2
4
  var __extends = (this && this.__extends) || (function () {
3
5
  var extendStatics = function (d, b) {
4
6
  extendStatics = Object.setPrototypeOf ||
@@ -16,23 +18,24 @@ var __extends = (this && this.__extends) || (function () {
16
18
  })();
17
19
  exports.__esModule = true;
18
20
  exports.AddRecommendationViewEvent = void 0;
19
- var helper_1 = require("../../utils/helper");
20
- var EventRequest_1 = require("./EventRequest");
21
+ var helper_1 = require("../utils/helper");
22
+ var Event_1 = require("./Event");
21
23
  var AddRecommendationViewEvent = /** @class */ (function (_super) {
22
24
  __extends(AddRecommendationViewEvent, _super);
23
25
  function AddRecommendationViewEvent(_a) {
24
- var _b = _a.timestamp, timestamp = _b === void 0 ? (0, helper_1.getCurrentUnixTimestamp)() : _b, url = _a.url, ref = _a.ref, recommendationId = _a.recommendationId, from = _a.from, userProperties = _a.userProperties, eventProperties = _a.eventProperties;
26
+ var url = _a.url, ref = _a.ref, recommendation_id = _a.recommendation_id, from = _a.from, event_properties = _a.event_properties, _b = _a.timestamp, timestamp = _b === void 0 ? (0, helper_1.getCurrentUnixTimestamp)() : _b;
25
27
  return _super.call(this, {
26
- eventType: "recommendation_view",
27
- timestamp: timestamp,
28
+ event_type: "recommendation_view",
28
29
  url: url,
29
30
  ref: ref,
30
- recommendationId: recommendationId,
31
+ recommendation_id: recommendation_id,
31
32
  from: from,
32
- userProperties: userProperties,
33
- eventProperties: eventProperties
33
+ event_properties: event_properties,
34
+ timestamp: timestamp
34
35
  }) || this;
35
36
  }
36
37
  return AddRecommendationViewEvent;
37
- }(EventRequest_1.EventRequest));
38
+ }(Event_1.Event));
38
39
  exports.AddRecommendationViewEvent = AddRecommendationViewEvent;
40
+ //# sourceMappingURL=AddRecommendationViewEvent.js.map
41
+ //# debugId=4533348d-c331-5873-b083-81bf8e2d0cb9
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AddRecommendationViewEvent.js","sources":["events/AddRecommendationViewEvent.ts"],"sourceRoot":"/","sourcesContent":["import { IAddRecommendationViewEvent } from \"./types\";\nimport { getCurrentUnixTimestamp } from \"../utils/helper\";\nimport { Event } from \"./Event\";\n\nexport class AddRecommendationViewEvent extends Event {\n constructor({\n url,\n ref,\n recommendation_id,\n from,\n event_properties,\n timestamp = getCurrentUnixTimestamp(),\n }: IAddRecommendationViewEvent) {\n super({\n event_type: \"recommendation_view\",\n url,\n ref,\n recommendation_id,\n from,\n event_properties,\n timestamp,\n });\n }\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AACA,0CAA0D;AAC1D,iCAAgC;AAEhC;IAAgD,8CAAK;IACnD,oCAAY,EAOkB;YAN5B,GAAG,SAAA,EACH,GAAG,SAAA,EACH,iBAAiB,uBAAA,EACjB,IAAI,UAAA,EACJ,gBAAgB,sBAAA,EAChB,iBAAqC,EAArC,SAAS,mBAAG,IAAA,gCAAuB,GAAE,KAAA;eAErC,kBAAM;YACJ,UAAU,EAAE,qBAAqB;YACjC,GAAG,KAAA;YACH,GAAG,KAAA;YACH,iBAAiB,mBAAA;YACjB,IAAI,MAAA;YACJ,gBAAgB,kBAAA;YAChB,SAAS,WAAA;SACV,CAAC;IACJ,CAAC;IACH,iCAAC;AAAD,CAAC,AAnBD,CAAgD,aAAK,GAmBpD;AAnBY,gEAA0B","debug_id":"4533348d-c331-5873-b083-81bf8e2d0cb9"}
@@ -0,0 +1,5 @@
1
+ import { EventRequest } from "./types";
2
+ export declare abstract class Event {
3
+ readonly request: EventRequest;
4
+ constructor(data: Omit<EventRequest, "id">);
5
+ }
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},n=(new Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="f1f7685c-909d-5d4a-bf30-037dda253e70")}catch(e){}}();
3
+
4
+ var __assign = (this && this.__assign) || function () {
5
+ __assign = Object.assign || function(t) {
6
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
7
+ s = arguments[i];
8
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
9
+ t[p] = s[p];
10
+ }
11
+ return t;
12
+ };
13
+ return __assign.apply(this, arguments);
14
+ };
15
+ exports.__esModule = true;
16
+ exports.Event = void 0;
17
+ var uuid_1 = require("uuid");
18
+ var Event = /** @class */ (function () {
19
+ function Event(data) {
20
+ this.request = __assign({ id: (0, uuid_1.v4)() }, data);
21
+ }
22
+ return Event;
23
+ }());
24
+ exports.Event = Event;
25
+ //# sourceMappingURL=Event.js.map
26
+ //# debugId=f1f7685c-909d-5d4a-bf30-037dda253e70
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Event.js","sources":["events/Event.ts"],"sourceRoot":"/","sourcesContent":["import { EventRequest } from \"./types\";\n\nimport { v4 as uuid } from \"uuid\";\n\nexport abstract class Event {\n public readonly request: EventRequest;\n constructor(data: Omit<EventRequest, \"id\">) {\n this.request = {\n id: uuid(),\n ...data,\n };\n }\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAEA,6BAAkC;AAElC;IAEE,eAAY,IAA8B;QACxC,IAAI,CAAC,OAAO,cACV,EAAE,EAAE,IAAA,SAAI,GAAE,IACP,IAAI,CACR,CAAC;IACJ,CAAC;IACH,YAAC;AAAD,CAAC,AARD,IAQC;AARqB,sBAAK","debug_id":"f1f7685c-909d-5d4a-bf30-037dda253e70"}
@@ -1,4 +1,6 @@
1
1
  "use strict";
2
+ !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},n=(new Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="372eecae-9cdf-5b5d-afcb-bd0f3ea00a02")}catch(e){}}();
3
+
2
4
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
5
  if (k2 === undefined) k2 = k;
4
6
  var desc = Object.getOwnPropertyDescriptor(m, k);
@@ -22,3 +24,5 @@ __exportStar(require("./AddRecommendationViewEvent"), exports);
22
24
  __exportStar(require("./AddRateEvent"), exports);
23
25
  __exportStar(require("./AddPurchaseEvent"), exports);
24
26
  __exportStar(require("./AddCustomEvent"), exports);
27
+ //# sourceMappingURL=index.js.map
28
+ //# debugId=372eecae-9cdf-5b5d-afcb-bd0f3ea00a02
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["events/index.ts"],"sourceRoot":"/","sourcesContent":["export * from \"./AddProductDetailViewEvent\";\nexport * from \"./AddLikeEvent\";\nexport * from \"./AddCartaddEvent\";\nexport * from \"./AddPageViewEvent\";\nexport * from \"./AddRecommendationViewEvent\";\nexport * from \"./AddRateEvent\";\nexport * from \"./AddPurchaseEvent\";\nexport * from \"./AddCustomEvent\";\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA,8DAA4C;AAC5C,iDAA+B;AAC/B,oDAAkC;AAClC,qDAAmC;AACnC,+DAA6C;AAC7C,iDAA+B;AAC/B,qDAAmC;AACnC,mDAAiC","debug_id":"372eecae-9cdf-5b5d-afcb-bd0f3ea00a02"}
@@ -0,0 +1,42 @@
1
+ export interface EventRequest {
2
+ id: string;
3
+ event_type: string;
4
+ event_value?: string;
5
+ item_id?: string;
6
+ url?: string;
7
+ ref?: string;
8
+ recommendation_id?: string;
9
+ from?: string;
10
+ event_properties?: Record<string, any>;
11
+ timestamp: number;
12
+ }
13
+ type BaseEvent = Omit<EventRequest, "event_type" | "event_value" | "id" | "timestamp"> & {
14
+ timestamp?: number;
15
+ };
16
+ export interface IAddProductDetailViewEvent extends BaseEvent {
17
+ item_id: string;
18
+ }
19
+ export interface IAddLikeEvent extends BaseEvent {
20
+ item_id: string;
21
+ }
22
+ export interface IAddCartaddEvent extends BaseEvent {
23
+ item_id: string;
24
+ }
25
+ export interface IAddRateEvent extends BaseEvent {
26
+ item_id: string;
27
+ rating: number;
28
+ }
29
+ export interface IAddPurchaseEvent extends Omit<BaseEvent, "from"> {
30
+ item_id: string;
31
+ price: number;
32
+ }
33
+ export interface IAddCustomEvent extends BaseEvent {
34
+ event_type: string;
35
+ event_value?: string;
36
+ }
37
+ export interface IAddRecommendationViewEvent extends Omit<BaseEvent, "item_id"> {
38
+ }
39
+ export interface IAddPageViewEvent extends Omit<BaseEvent, "from" | "item_id" | "recommendation_id"> {
40
+ pageType: string;
41
+ }
42
+ export {};
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},n=(new Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="8aa0a98c-918e-57f5-a870-7d244f4c8131")}catch(e){}}();
3
+
4
+ exports.__esModule = true;
5
+ //# sourceMappingURL=types.js.map
6
+ //# debugId=8aa0a98c-918e-57f5-a870-7d244f4c8131
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sources":["events/types.ts"],"sourceRoot":"/","sourcesContent":["export interface EventRequest {\n id: string;\n event_type: string;\n event_value?: string;\n item_id?: string;\n url?: string;\n ref?: string;\n recommendation_id?: string;\n from?: string;\n event_properties?: Record<string, any>;\n timestamp: number;\n}\n\ntype BaseEvent = Omit<\n EventRequest,\n \"event_type\" | \"event_value\" | \"id\" | \"timestamp\"\n> & { timestamp?: number };\n\nexport interface IAddProductDetailViewEvent extends BaseEvent {\n item_id: string;\n}\n\nexport interface IAddLikeEvent extends BaseEvent {\n item_id: string;\n}\n\nexport interface IAddCartaddEvent extends BaseEvent {\n item_id: string;\n}\n\nexport interface IAddRateEvent extends BaseEvent {\n item_id: string;\n rating: number;\n}\n\nexport interface IAddPurchaseEvent extends Omit<BaseEvent, \"from\"> {\n item_id: string;\n price: number;\n}\n\nexport interface IAddCustomEvent extends BaseEvent {\n event_type: string;\n event_value?: string;\n}\n\nexport interface IAddRecommendationViewEvent\n extends Omit<BaseEvent, \"item_id\"> {}\n\nexport interface IAddPageViewEvent\n extends Omit<BaseEvent, \"from\" | \"item_id\" | \"recommendation_id\"> {\n pageType: string;\n}\n"],"names":[],"mappings":"","debug_id":"8aa0a98c-918e-57f5-a870-7d244f4c8131"}
package/dist/index.d.ts CHANGED
@@ -1,4 +1,3 @@
1
- import BluxClient from "./BluxClient";
2
- import { AddProductDetailViewEvent, AddLikeEvent, AddCartaddEvent, AddPurchaseEvent, AddPageViewEvent, AddRateEvent, AddRecommendationViewEvent, AddCustomEvent, UpdateUserProperties } from "./requests";
3
- export { AddProductDetailViewEvent, AddLikeEvent, AddCartaddEvent, AddPurchaseEvent, AddRateEvent, AddPageViewEvent, AddRecommendationViewEvent, AddCustomEvent, UpdateUserProperties, };
4
- export default BluxClient;
1
+ import { bluxClient } from "./BluxClient";
2
+ export * from "./events";
3
+ export default bluxClient;
package/dist/index.js CHANGED
@@ -1,18 +1,23 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
2
+ !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},n=(new Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="1736eddd-536b-54da-8c37-e8f6f09de830")}catch(e){}}();
3
+
4
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
5
+ if (k2 === undefined) k2 = k;
6
+ var desc = Object.getOwnPropertyDescriptor(m, k);
7
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
8
+ desc = { enumerable: true, get: function() { return m[k]; } };
9
+ }
10
+ Object.defineProperty(o, k2, desc);
11
+ }) : (function(o, m, k, k2) {
12
+ if (k2 === undefined) k2 = k;
13
+ o[k2] = m[k];
14
+ }));
15
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
16
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
4
17
  };
5
18
  exports.__esModule = true;
6
- exports.UpdateUserProperties = exports.AddCustomEvent = exports.AddRecommendationViewEvent = exports.AddPageViewEvent = exports.AddRateEvent = exports.AddPurchaseEvent = exports.AddCartaddEvent = exports.AddLikeEvent = exports.AddProductDetailViewEvent = void 0;
7
- var BluxClient_1 = __importDefault(require("./BluxClient"));
8
- var requests_1 = require("./requests");
9
- exports.AddProductDetailViewEvent = requests_1.AddProductDetailViewEvent;
10
- exports.AddLikeEvent = requests_1.AddLikeEvent;
11
- exports.AddCartaddEvent = requests_1.AddCartaddEvent;
12
- exports.AddPurchaseEvent = requests_1.AddPurchaseEvent;
13
- exports.AddPageViewEvent = requests_1.AddPageViewEvent;
14
- exports.AddRateEvent = requests_1.AddRateEvent;
15
- exports.AddRecommendationViewEvent = requests_1.AddRecommendationViewEvent;
16
- exports.AddCustomEvent = requests_1.AddCustomEvent;
17
- exports.UpdateUserProperties = requests_1.UpdateUserProperties;
18
- exports["default"] = BluxClient_1["default"];
19
+ var BluxClient_1 = require("./BluxClient");
20
+ __exportStar(require("./events"), exports);
21
+ exports["default"] = BluxClient_1.bluxClient;
22
+ //# sourceMappingURL=index.js.map
23
+ //# debugId=1736eddd-536b-54da-8c37-e8f6f09de830
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["index.ts"],"sourceRoot":"/","sourcesContent":["import { bluxClient } from \"./BluxClient\";\n\nexport * from \"./events\";\n\nexport default bluxClient;\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA,2CAA0C;AAE1C,2CAAyB;AAEzB,qBAAe,uBAAU,CAAC","debug_id":"1736eddd-536b-54da-8c37-e8f6f09de830"}
@@ -1,7 +1,11 @@
1
1
  "use strict";
2
+ !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},n=(new Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="985a57e3-68a3-52dc-9464-c6ab04aab3b5")}catch(e){}}();
3
+
2
4
  exports.__esModule = true;
3
5
  exports.getCurrentUnixTimestamp = void 0;
4
6
  var getCurrentUnixTimestamp = function () {
5
7
  return new Date().getTime() / 1e3;
6
8
  };
7
9
  exports.getCurrentUnixTimestamp = getCurrentUnixTimestamp;
10
+ //# sourceMappingURL=helper.js.map
11
+ //# debugId=985a57e3-68a3-52dc-9464-c6ab04aab3b5
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helper.js","sources":["utils/helper.ts"],"sourceRoot":"/","sourcesContent":["export const getCurrentUnixTimestamp = () => {\n return new Date().getTime() / 1e3;\n};\n"],"names":[],"mappings":";;;;;AAAO,IAAM,uBAAuB,GAAG;IACrC,OAAO,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,GAAG,CAAC;AACpC,CAAC,CAAC;AAFW,QAAA,uBAAuB,2BAElC","debug_id":"985a57e3-68a3-52dc-9464-c6ab04aab3b5"}
@@ -0,0 +1,2 @@
1
+ import { OperatorFunction } from "rxjs";
2
+ export declare function filterNullable<T>(): OperatorFunction<T | null | undefined, T>;
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},n=(new Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="95b6898a-b9b8-5e37-9ad4-08b9bcf66acc")}catch(e){}}();
3
+
4
+ exports.__esModule = true;
5
+ exports.filterNullable = void 0;
6
+ var rxjs_1 = require("rxjs");
7
+ function filterNullable() {
8
+ return (0, rxjs_1.filter)(function (v) { return v != null; });
9
+ }
10
+ exports.filterNullable = filterNullable;
11
+ //# sourceMappingURL=operators.js.map
12
+ //# debugId=95b6898a-b9b8-5e37-9ad4-08b9bcf66acc
@@ -0,0 +1 @@
1
+ {"version":3,"file":"operators.js","sources":["utils/operators.ts"],"sourceRoot":"/","sourcesContent":["import { filter, OperatorFunction } from \"rxjs\";\n\nexport function filterNullable<T>(): OperatorFunction<T | null | undefined, T> {\n return filter((v): v is T => v != null);\n}\n"],"names":[],"mappings":";;;;;AAAA,6BAAgD;AAEhD,SAAgB,cAAc;IAC5B,OAAO,IAAA,aAAM,EAAC,UAAC,CAAC,IAAa,OAAA,CAAC,IAAI,IAAI,EAAT,CAAS,CAAC,CAAC;AAC1C,CAAC;AAFD,wCAEC","debug_id":"95b6898a-b9b8-5e37-9ad4-08b9bcf66acc"}
@@ -0,0 +1,2 @@
1
+ import * as Sentry from "@sentry/browser";
2
+ export { Sentry };
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+ !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},n=(new Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="799f2a8f-465a-58f3-b22a-c0013c4972e0")}catch(e){}}();
3
+
4
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
5
+ if (k2 === undefined) k2 = k;
6
+ var desc = Object.getOwnPropertyDescriptor(m, k);
7
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
8
+ desc = { enumerable: true, get: function() { return m[k]; } };
9
+ }
10
+ Object.defineProperty(o, k2, desc);
11
+ }) : (function(o, m, k, k2) {
12
+ if (k2 === undefined) k2 = k;
13
+ o[k2] = m[k];
14
+ }));
15
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
16
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
17
+ }) : function(o, v) {
18
+ o["default"] = v;
19
+ });
20
+ var __importStar = (this && this.__importStar) || function (mod) {
21
+ if (mod && mod.__esModule) return mod;
22
+ var result = {};
23
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
24
+ __setModuleDefault(result, mod);
25
+ return result;
26
+ };
27
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
28
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
29
+ if (ar || !(i in from)) {
30
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
31
+ ar[i] = from[i];
32
+ }
33
+ }
34
+ return to.concat(ar || Array.prototype.slice.call(from));
35
+ };
36
+ exports.__esModule = true;
37
+ exports.Sentry = void 0;
38
+ var Sentry = __importStar(require("@sentry/browser"));
39
+ exports.Sentry = Sentry;
40
+ var URLS_1 = require("../constants/URLS");
41
+ Sentry.init({
42
+ dsn: "https://0dc14410c660573f842686340cd7d712@o4506467425648640.ingest.us.sentry.io/4507571328253952",
43
+ // Set 'tracePropagationTargets' to control for which URLs distributed tracing should be enabled
44
+ tracePropagationTargets: __spreadArray(__spreadArray([
45
+ "localhost"
46
+ ], Object.values(URLS_1.IDENTIFIER_API_URL_BY_STAGE), true), Object.values(URLS_1.COLLECTOR_API_URL_BY_STAGE), true),
47
+ autoSessionTracking: false
48
+ });
49
+ //# sourceMappingURL=sentry.js.map
50
+ //# debugId=799f2a8f-465a-58f3-b22a-c0013c4972e0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sentry.js","sources":["utils/sentry.ts"],"sourceRoot":"/","sourcesContent":["import * as Sentry from \"@sentry/browser\";\nimport {\n COLLECTOR_API_URL_BY_STAGE,\n IDENTIFIER_API_URL_BY_STAGE,\n} from \"../constants/URLS\";\n\nSentry.init({\n dsn: \"https://0dc14410c660573f842686340cd7d712@o4506467425648640.ingest.us.sentry.io/4507571328253952\",\n // Set 'tracePropagationTargets' to control for which URLs distributed tracing should be enabled\n tracePropagationTargets: [\n \"localhost\",\n ...Object.values(IDENTIFIER_API_URL_BY_STAGE),\n ...Object.values(COLLECTOR_API_URL_BY_STAGE),\n ],\n autoSessionTracking: false,\n // Session Replay\n});\n\nexport { Sentry };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,sDAA0C;AAkBjC,wBAAM;AAjBf,0CAG2B;AAE3B,MAAM,CAAC,IAAI,CAAC;IACV,GAAG,EAAE,iGAAiG;IACtG,gGAAgG;IAChG,uBAAuB;QACrB,WAAW;OACR,MAAM,CAAC,MAAM,CAAC,kCAA2B,CAAC,SAC1C,MAAM,CAAC,MAAM,CAAC,iCAA0B,CAAC,OAC7C;IACD,mBAAmB,EAAE,KAAK;CAE3B,CAAC,CAAC","debug_id":"799f2a8f-465a-58f3-b22a-c0013c4972e0"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@blux.ai/web-sdk",
3
- "version": "0.0.3",
3
+ "version": "0.0.5",
4
4
  "description": "The official Blux JavaScript browser client library",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.js",
@@ -10,11 +10,21 @@
10
10
  "test": "jest",
11
11
  "build": "tsc",
12
12
  "dev": "yarn build -w",
13
- "prepack": "rm -rf dist && yarn build"
13
+ "prepack": "rm -rf dist && yarn build && yarn sentry:sourcemaps",
14
+ "sentry:sourcemaps": "sentry-cli sourcemaps inject --org blux-engr --project blux-web-sdk ./dist && sentry-cli sourcemaps upload --org blux-engr --project blux-web-sdk ./dist",
15
+ "deploy": "yarn prepack && npm publish --access public"
14
16
  },
15
17
  "author": "Z.Ai Inc.",
16
18
  "homepage": "https://www.blux.ai/",
17
19
  "devDependencies": {
20
+ "@types/uuid": "^10.0.0",
18
21
  "typescript": "^4.6.3"
22
+ },
23
+ "dependencies": {
24
+ "@sentry/browser": "^8.15.0",
25
+ "@sentry/cli": "^2.32.1",
26
+ "axios": "^1.7.2",
27
+ "rxjs": "^7.8.1",
28
+ "uuid": "^10.0.0"
19
29
  }
20
- }
30
+ }
@@ -1,7 +0,0 @@
1
- {
2
- "editor.defaultFormatter": "esbenp.prettier-vscode",
3
- "editor.formatOnSave": true,
4
- "editor.codeActionsOnSave": {
5
- "source.fixAll.eslint": "explicit"
6
- }
7
- }
@@ -1,3 +0,0 @@
1
- export declare class BaseErrorHandler {
2
- static handle(error: Error): void;
3
- }
@@ -1,13 +0,0 @@
1
- "use strict";
2
- exports.__esModule = true;
3
- exports.BaseErrorHandler = void 0;
4
- var Logger_1 = require("./Logger");
5
- var BaseErrorHandler = /** @class */ (function () {
6
- function BaseErrorHandler() {
7
- }
8
- BaseErrorHandler.handle = function (error) {
9
- Logger_1.Logger.error(error.stack);
10
- };
11
- return BaseErrorHandler;
12
- }());
13
- exports.BaseErrorHandler = BaseErrorHandler;
@@ -1,10 +0,0 @@
1
- import { Request } from "../requests/Request";
2
- export declare class HTTPClient {
3
- private static COLLECTOR_BASE_URL;
4
- static sendRequestWithBody<T>(request: Request | Request[], extraIdentifier?: {
5
- bluxId: string;
6
- deviceId: string;
7
- userId: string | null;
8
- }): Promise<T | undefined>;
9
- private static generateHeaders;
10
- }
@@ -1,122 +0,0 @@
1
- "use strict";
2
- var __assign = (this && this.__assign) || function () {
3
- __assign = Object.assign || function(t) {
4
- for (var s, i = 1, n = arguments.length; i < n; i++) {
5
- s = arguments[i];
6
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
- t[p] = s[p];
8
- }
9
- return t;
10
- };
11
- return __assign.apply(this, arguments);
12
- };
13
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
14
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
15
- return new (P || (P = Promise))(function (resolve, reject) {
16
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
17
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
18
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
19
- step((generator = generator.apply(thisArg, _arguments || [])).next());
20
- });
21
- };
22
- var __generator = (this && this.__generator) || function (thisArg, body) {
23
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
24
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
25
- function verb(n) { return function (v) { return step([n, v]); }; }
26
- function step(op) {
27
- if (f) throw new TypeError("Generator is already executing.");
28
- while (g && (g = 0, op[0] && (_ = 0)), _) try {
29
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
30
- if (y = 0, t) op = [op[0] & 2, t.value];
31
- switch (op[0]) {
32
- case 0: case 1: t = op; break;
33
- case 4: _.label++; return { value: op[1], done: false };
34
- case 5: _.label++; y = op[1]; op = [0]; continue;
35
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
36
- default:
37
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
38
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
39
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
40
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
41
- if (t[2]) _.ops.pop();
42
- _.trys.pop(); continue;
43
- }
44
- op = body.call(thisArg, _);
45
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
46
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
47
- }
48
- };
49
- var __importDefault = (this && this.__importDefault) || function (mod) {
50
- return (mod && mod.__esModule) ? mod : { "default": mod };
51
- };
52
- exports.__esModule = true;
53
- exports.HTTPClient = void 0;
54
- var BluxClient_1 = __importDefault(require("../BluxClient"));
55
- var BaseErrorHandler_1 = require("./BaseErrorHandler");
56
- var HTTPClient = /** @class */ (function () {
57
- function HTTPClient() {
58
- }
59
- HTTPClient.sendRequestWithBody = function (request, extraIdentifier) {
60
- return __awaiter(this, void 0, void 0, function () {
61
- var clientId, apiKey, requestsArray, method, baseUrl, path, bodyArr, body, response, errorMessage, data, e_1;
62
- return __generator(this, function (_a) {
63
- switch (_a.label) {
64
- case 0:
65
- clientId = BluxClient_1["default"].bluxClientID;
66
- apiKey = BluxClient_1["default"].bluxAPIKey;
67
- if (!clientId || !apiKey) {
68
- throw new Error("Client ID and API Key are not initialized. Please initialize BluxClient.");
69
- }
70
- requestsArray = Array.isArray(request) ? request : [request];
71
- method = requestsArray[0].method;
72
- baseUrl = this.COLLECTOR_BASE_URL;
73
- path = requestsArray[0].path;
74
- bodyArr = requestsArray.map(function (req, idx) { return (__assign(__assign(__assign({}, req.getPayload()), { timestamp: req.getTimestamp() + 1e-6 * idx }), (extraIdentifier && {
75
- user_id: extraIdentifier.userId,
76
- blux_id: extraIdentifier.bluxId,
77
- device_id: extraIdentifier.deviceId
78
- }))); });
79
- body = bodyArr.length === 1 ? bodyArr[0] : bodyArr;
80
- _a.label = 1;
81
- case 1:
82
- _a.trys.push([1, 6, , 7]);
83
- return [4 /*yield*/, fetch(baseUrl + path, {
84
- method: method,
85
- headers: this.generateHeaders(clientId, apiKey),
86
- body: JSON.stringify(body)
87
- })];
88
- case 2:
89
- response = _a.sent();
90
- if (!!response.ok) return [3 /*break*/, 4];
91
- return [4 /*yield*/, response.text()];
92
- case 3:
93
- errorMessage = _a.sent();
94
- throw new Error("Network API Call failed with status ".concat(response.status, " Error message: ").concat(errorMessage));
95
- case 4: return [4 /*yield*/, response.json()];
96
- case 5:
97
- data = _a.sent();
98
- return [2 /*return*/, data];
99
- case 6:
100
- e_1 = _a.sent();
101
- BaseErrorHandler_1.BaseErrorHandler.handle(e_1);
102
- return [2 /*return*/, undefined];
103
- case 7: return [2 /*return*/];
104
- }
105
- });
106
- });
107
- };
108
- HTTPClient.generateHeaders = function (clientId, apiKey) {
109
- var headers = new Headers();
110
- headers.append("Content-Type", "application/json;charset=UTF-8");
111
- headers.append("Accept", "application/json");
112
- var requestTimestamp = Math.floor(Date.now() / 1000).toString();
113
- headers.append("X-BLUX-SDK-INFO", "".concat(BluxClient_1["default"].sdkInfo.type, "-").concat(BluxClient_1["default"].sdkInfo.version));
114
- headers.append("X-BLUX-CLIENT-ID", clientId);
115
- headers.append("X-BLUX-API-KEY", apiKey);
116
- headers.append("X-BLUX-TIMESTAMP", requestTimestamp);
117
- return headers;
118
- };
119
- HTTPClient.COLLECTOR_BASE_URL = " https://collector-api-web.blux.ai";
120
- return HTTPClient;
121
- }());
122
- exports.HTTPClient = HTTPClient;
@@ -1,8 +0,0 @@
1
- import { Request } from "../Request";
2
- export declare class ActivateDevice extends Request {
3
- protected bluxId: string;
4
- protected deviceId: string;
5
- protected lastActiveAt: string | null;
6
- constructor(bluxId: string, deviceId: string);
7
- getPayload(): object;
8
- }
@@ -1,39 +0,0 @@
1
- "use strict";
2
- var __extends = (this && this.__extends) || (function () {
3
- var extendStatics = function (d, b) {
4
- extendStatics = Object.setPrototypeOf ||
5
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
- function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
- return extendStatics(d, b);
8
- };
9
- return function (d, b) {
10
- if (typeof b !== "function" && b !== null)
11
- throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
- extendStatics(d, b);
13
- function __() { this.constructor = d; }
14
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
- };
16
- })();
17
- exports.__esModule = true;
18
- exports.ActivateDevice = void 0;
19
- var Request_1 = require("../Request");
20
- var ActivateDevice = /** @class */ (function (_super) {
21
- __extends(ActivateDevice, _super);
22
- function ActivateDevice(bluxId, deviceId) {
23
- var _this = _super.call(this, "PATCH", "/devices") || this;
24
- _this.bluxId = bluxId;
25
- _this.deviceId = deviceId;
26
- _this.lastActiveAt = new Date().toISOString();
27
- return _this;
28
- }
29
- ActivateDevice.prototype.getPayload = function () {
30
- var payload = {
31
- blux_id: this.bluxId,
32
- device_id: this.deviceId,
33
- last_active_at: this.lastActiveAt
34
- };
35
- return payload;
36
- };
37
- return ActivateDevice;
38
- }(Request_1.Request));
39
- exports.ActivateDevice = ActivateDevice;
@@ -1,14 +0,0 @@
1
- import { Request } from "../Request";
2
- export declare class CreateDevice extends Request {
3
- protected platform: string | null;
4
- protected deviceModel: string | null;
5
- protected osVersion: string | null;
6
- protected sdkVersion: string | null;
7
- protected sdkType: string | null;
8
- protected timezone: string | null;
9
- protected languageCode: string | null;
10
- protected countryCode: string | null;
11
- protected lastActiveAt: string | null;
12
- constructor();
13
- getPayload(): object;
14
- }
@@ -1,54 +0,0 @@
1
- "use strict";
2
- var __extends = (this && this.__extends) || (function () {
3
- var extendStatics = function (d, b) {
4
- extendStatics = Object.setPrototypeOf ||
5
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
- function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
- return extendStatics(d, b);
8
- };
9
- return function (d, b) {
10
- if (typeof b !== "function" && b !== null)
11
- throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
- extendStatics(d, b);
13
- function __() { this.constructor = d; }
14
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
- };
16
- })();
17
- var __importDefault = (this && this.__importDefault) || function (mod) {
18
- return (mod && mod.__esModule) ? mod : { "default": mod };
19
- };
20
- exports.__esModule = true;
21
- exports.CreateDevice = void 0;
22
- var BluxClient_1 = __importDefault(require("../../BluxClient"));
23
- var Request_1 = require("../Request");
24
- var CreateDevice = /** @class */ (function (_super) {
25
- __extends(CreateDevice, _super);
26
- function CreateDevice() {
27
- var _this = _super.call(this, "POST", "/devices") || this;
28
- _this.platform = "typescript";
29
- _this.deviceModel = navigator.userAgent; // 기기 모델;
30
- _this.osVersion = navigator.userAgent; // OS 버전 (navigator.userAgent를 통해 확인);
31
- _this.sdkVersion = BluxClient_1["default"].sdkInfo.version;
32
- _this.sdkType = BluxClient_1["default"].sdkInfo.type;
33
- _this.timezone = Intl.DateTimeFormat().resolvedOptions().timeZone;
34
- _this.languageCode = navigator.language.split("-")[0];
35
- _this.countryCode = navigator.language.split("-")[1];
36
- _this.lastActiveAt = new Date().toISOString();
37
- return _this;
38
- }
39
- CreateDevice.prototype.getPayload = function () {
40
- return {
41
- platform: this.platform,
42
- device_model: this.deviceModel,
43
- os_version: this.osVersion,
44
- sdk_version: this.sdkVersion,
45
- sdk_type: this.sdkType,
46
- timezone: this.timezone,
47
- language_code: this.languageCode,
48
- country_code: this.countryCode,
49
- last_active_at: this.lastActiveAt
50
- };
51
- };
52
- return CreateDevice;
53
- }(Request_1.Request));
54
- exports.CreateDevice = CreateDevice;