@faynosync/sdk-js 0.2.1 → 0.3.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.
package/README.md CHANGED
@@ -1,5 +1,7 @@
1
1
  # faynoSync JS SDK
2
2
 
3
+ [![Website](https://img.shields.io/badge/website-faynosync.com-2563eb)](https://faynosync.com)
4
+
3
5
  Production-oriented JavaScript/TypeScript SDK for checking application updates with faynoSync.
4
6
 
5
7
  This package is a small typed transport and developer experience layer. It does not implement update installation, platform normalization, metadata verification, caching, or business rules.
@@ -81,8 +83,12 @@ const resp = await client.checkForUpdates({
81
83
  });
82
84
  ```
83
85
 
86
+ The SDK only validates `owner`, `appName`, and `version` as required. `channel`, `platform`, and `arch` are not validated client-side and are sent as empty query values when omitted — but if the target app in your faynoSync instance defines channels, platforms, or architectures, you must provide the matching values or the check will not resolve to the correct release.
87
+
84
88
  `deviceId` is optional. When set, the SDK sends it as the `X-Device-ID` header and triggers a telemetry beacon after a successful edge response.
85
89
 
90
+ The SDK always uses the `manual` updater: it sends `updater=manual` on the `baseURL` API request and uses `manual` as the edge path segment. This is the native faynoSync response that carries the full metadata (`critical`, `changelog`, `is_intermediate_required`, `possible_rollback`) and the per-package URLs (`update_url_yml`, `update_url_zip`, `update_url_dmg`). Framework-specific updater modes (e.g. `electron-builder`) return their own feed format and are meant to be consumed directly by that framework — point it at the `update_url_yml` from `packageUrls` instead.
91
+
86
92
  An optional `AbortSignal` can be passed as the second argument to cancel the request:
87
93
 
88
94
  ```ts
@@ -92,12 +98,60 @@ setTimeout(() => controller.abort(), 5_000);
92
98
  const resp = await client.checkForUpdates(opts, controller.signal);
93
99
  ```
94
100
 
101
+ ## Reports
102
+
103
+ `reportEvent` posts a failure or diagnostic report to `POST /reports/ingest`. The client stays stateless and app-agnostic, so `reportKey` and `deviceId` are passed per call (like `checkForUpdates`), not stored in `Config`.
104
+
105
+ ```ts
106
+ const resp = await client.reportEvent({
107
+ reportKey: 'rpk_...', // sent as Authorization: Bearer
108
+ deviceId: 'device-1', // required, sent as X-Device-ID
109
+ appName: 'test',
110
+ version: '0.0.0.5',
111
+ channel: 'nightly',
112
+ platform: 'darwin',
113
+ arch: 'arm64',
114
+ event: { type: 'crash', reason: 'segfault.signal-11' },
115
+ details: { stack: '...', exitCode: 11 }, // optional raw debug object
116
+ });
117
+
118
+ console.log(resp.status, resp.groupHash, resp.storedDetails);
119
+ ```
120
+
121
+ `event.type` must be one of `crash`, `startup_failure`, `update_failure`, `install_failure`, or `rollback_failure`. `event.reason` must match `^[a-zA-Z0-9._-]{1,128}$`.
122
+
123
+ `reportKey`, `deviceId`, `appName`, `version`, `channel`, `platform`, and `arch` are all required and validated client-side.
124
+
125
+ `details` is optional. When supplied, the SDK serializes it with `JSON.stringify`, gzip-compresses it, and base64-encodes the result. The request carries it as:
126
+
127
+ ```json
128
+ {
129
+ "details": {
130
+ "encoding": "gzip+base64",
131
+ "content_type": "application/json",
132
+ "payload": "<base64(gzip(json))>"
133
+ }
134
+ }
135
+ ```
136
+
137
+ When `details` is omitted, the `details` field is left out of the request entirely.
138
+
139
+ A successful request returns HTTP `202` with a mapped `ReportResponse`:
140
+
141
+ ```json
142
+ { "status": "accepted", "group_hash": "...", "stored_details": false }
143
+ ```
144
+
145
+ Any non-`202` response rejects with an `EndpointError` whose `source` is `'report'` and `statusCode` holds the HTTP status (e.g. `401`, `403`, `429`). Network and JSON failures are wrapped in `EndpointError` as well.
146
+
147
+ An optional `AbortSignal` can be passed as the second argument to cancel the request.
148
+
95
149
  ## Base API Request
96
150
 
97
151
  The `baseURL` API request uses `GET /checkVersion`:
98
152
 
99
153
  ```
100
- GET /checkVersion?app_name=test&version=0.0.0.5&channel=nightly&platform=darwin&arch=arm64&owner=admin
154
+ GET /checkVersion?app_name=test&version=0.0.0.5&channel=nightly&platform=darwin&arch=arm64&owner=admin&updater=manual
101
155
  X-Device-ID: optional
102
156
  ```
103
157
 
@@ -147,13 +201,13 @@ for (const pkg of resp.packageUrls) {
147
201
  When `edgeURL` is configured, the SDK first tries a static JSON response:
148
202
 
149
203
  ```
150
- GET /responses/{owner}/{appName}/{channel}/{platform}/{arch}/{version}.json
204
+ GET /responses/{owner}/{appName}/{channel}/{platform}/{arch}/manual/{version}.json
151
205
  ```
152
206
 
153
- For example:
207
+ The updater segment is always `manual`:
154
208
 
155
209
  ```
156
- GET /responses/admin/test/nightly/darwin/arm64/0.0.0.5.json
210
+ GET /responses/admin/test/nightly/darwin/arm64/manual/0.0.0.5.json
157
211
  ```
158
212
 
159
213
  If the edge response succeeds with HTTP 200 and valid JSON, `resp.source` is `'edge'`.
@@ -200,9 +254,8 @@ The SDK validates required fields and throws typed errors:
200
254
  ```ts
201
255
  import {
202
256
  Client,
203
- RequestFailedError,
204
- EndpointError,
205
257
  CheckError,
258
+ EndpointError,
206
259
  ErrMissingBaseURL,
207
260
  ErrMissingOwner,
208
261
  ErrMissingAppName,
@@ -220,20 +273,47 @@ try {
220
273
  // set opts.appName
221
274
  } else if (err === ErrMissingVersion) {
222
275
  // set opts.version
223
- } else if (err instanceof RequestFailedError) {
224
- // all endpoints failed — inspect for details
225
- if (err instanceof CheckError) {
226
- console.error('edge error:', err.edgeError?.message);
227
- console.error('api error:', err.apiError?.message);
228
- }
229
- if (err instanceof EndpointError) {
230
- console.error('url:', err.endpointUrl);
231
- console.error('status:', err.statusCode);
276
+ } else if (err instanceof CheckError) {
277
+ // every edge/api attempt failed
278
+ console.error('edge error:', err.edgeError?.message);
279
+ console.error('api error:', err.apiError?.message);
280
+
281
+ if (err.apiError instanceof EndpointError) {
282
+ console.error('url:', err.apiError.endpointUrl);
283
+ console.error('status:', err.apiError.statusCode);
232
284
  }
233
285
  }
234
286
  }
235
287
  ```
236
288
 
289
+ A failed update check always rejects with a `CheckError`. Its `edgeError` and `apiError` fields hold the underlying `EndpointError` for each attempt (the edge error is absent when `edgeURL` is not configured).
290
+
291
+ ### Error hierarchy
292
+
293
+ ```
294
+ FaynoSyncError
295
+ ├── ValidationError // ErrMissing* / ErrInvalid* singletons
296
+ └── RequestFailedError // base class for any failed request
297
+ ├── EndpointError // a single edge/api request failed (has source, endpointUrl, statusCode)
298
+ └── CheckError // checkForUpdates failed (wraps edgeError / apiError)
299
+ ```
300
+
301
+ If you only need to tell a failed request apart from a bad option, catch the base `RequestFailedError`:
302
+
303
+ ```ts
304
+ import { Client, RequestFailedError } from '@faynosync/sdk-js';
305
+
306
+ try {
307
+ const resp = await client.checkForUpdates(opts);
308
+ } catch (err) {
309
+ if (err instanceof RequestFailedError) {
310
+ console.error('update check request failed:', err.message);
311
+ } else {
312
+ console.error('invalid update check options:', (err as Error).message);
313
+ }
314
+ }
315
+ ```
316
+
237
317
  Validation errors (`ErrMissing*`, `ErrInvalid*`) are singleton instances — use `===` to check them. Request failures are class instances — use `instanceof` to narrow them.
238
318
 
239
319
  ## Examples
package/dist/client.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import type { CheckOptions, UpdateResponse } from './types';
1
+ import type { CheckOptions, ReportOptions, ReportResponse, UpdateResponse } from './types';
2
2
  export interface Config {
3
3
  readonly baseURL: string;
4
4
  readonly edgeURL?: string;
@@ -12,6 +12,8 @@ export declare class Client {
12
12
  private readonly timeoutMs;
13
13
  constructor(cfg: Config);
14
14
  checkForUpdates(opts: CheckOptions, signal?: AbortSignal): Promise<UpdateResponse>;
15
+ reportEvent(opts: ReportOptions, signal?: AbortSignal): Promise<ReportResponse>;
16
+ private buildReportURL;
15
17
  private validateConfig;
16
18
  private checkEdge;
17
19
  private checkAPI;
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAoB,cAAc,EAAgB,MAAM,SAAS,CAAC;AAgB5F,MAAM,WAAW,MAAM;IACrB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,UAAU,CAAC,KAAK,CAAC;IACzC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAYD,qBAAa,MAAM;IACjB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA0B;IAClD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;gBAEvB,GAAG,EAAE,MAAM;IAOjB,eAAe,CAAC,IAAI,EAAE,YAAY,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,cAAc,CAAC;IAkCxF,OAAO,CAAC,cAAc;YAOR,SAAS;YAKT,QAAQ;YAKR,eAAe;IAsC7B,OAAO,CAAC,gBAAgB;IAcxB,OAAO,CAAC,iBAAiB;IAezB,OAAO,CAAC,2BAA2B;YAerB,uBAAuB;CAkBtC"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,YAAY,EAGZ,aAAa,EACb,cAAc,EACd,cAAc,EAEf,MAAM,SAAS,CAAC;AAwBjB,MAAM,WAAW,MAAM;IACrB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,UAAU,CAAC,KAAK,CAAC;IACzC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAyCD,qBAAa,MAAM;IACjB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA0B;IAClD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;gBAEvB,GAAG,EAAE,MAAM;IAOjB,eAAe,CAAC,IAAI,EAAE,YAAY,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,cAAc,CAAC;IAkClF,WAAW,CAAC,IAAI,EAAE,aAAa,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,cAAc,CAAC;IA4CrF,OAAO,CAAC,cAAc;IAMtB,OAAO,CAAC,cAAc;YAOR,SAAS;YAKT,QAAQ;YAKR,eAAe;IAsC7B,OAAO,CAAC,gBAAgB;IAgBxB,OAAO,CAAC,iBAAiB;IAgBzB,OAAO,CAAC,2BAA2B;YAerB,uBAAuB;CAkBtC"}
package/dist/client.js CHANGED
@@ -1,9 +1,19 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Client = void 0;
4
+ const node_zlib_1 = require("node:zlib");
4
5
  const errors_1 = require("./errors");
5
6
  const DEFAULT_TIMEOUT_MS = 30_000;
6
7
  const USER_AGENT = 'faynosync-js/1.0';
8
+ const UPDATER = 'manual';
9
+ const REPORT_EVENT_TYPES = [
10
+ 'crash',
11
+ 'startup_failure',
12
+ 'update_failure',
13
+ 'install_failure',
14
+ 'rollback_failure',
15
+ ];
16
+ const REPORT_REASON_PATTERN = /^[a-zA-Z0-9._-]{1,128}$/;
7
17
  class Client {
8
18
  baseURL;
9
19
  edgeURL;
@@ -48,6 +58,49 @@ class Client {
48
58
  throw new errors_1.CheckError(edgeError, apiError);
49
59
  }
50
60
  }
61
+ async reportEvent(opts, signal) {
62
+ this.validateConfig();
63
+ validateReportOptions(opts);
64
+ const url = this.buildReportURL();
65
+ const body = buildReportBody(opts);
66
+ const headers = {
67
+ Authorization: `Bearer ${opts.reportKey}`,
68
+ 'X-Device-ID': opts.deviceId,
69
+ 'Content-Type': 'application/json',
70
+ Accept: 'application/json',
71
+ 'User-Agent': USER_AGENT,
72
+ };
73
+ const reqSignal = createRequestSignal(signal ?? null, this.timeoutMs);
74
+ let res;
75
+ try {
76
+ res = await this.fetchFn(url, {
77
+ method: 'POST',
78
+ headers,
79
+ body: JSON.stringify(body),
80
+ signal: reqSignal,
81
+ });
82
+ }
83
+ catch (err) {
84
+ throw new errors_1.EndpointError('report', url, undefined, err);
85
+ }
86
+ if (res.status !== 202) {
87
+ await res.body?.cancel();
88
+ throw new errors_1.EndpointError('report', url, res.status);
89
+ }
90
+ let raw;
91
+ try {
92
+ raw = (await res.json());
93
+ }
94
+ catch (err) {
95
+ throw new errors_1.EndpointError('report', url, undefined, err);
96
+ }
97
+ return parseReportResponse(raw);
98
+ }
99
+ buildReportURL() {
100
+ const u = parseAbsoluteURL(this.baseURL, errors_1.ErrInvalidBaseURL);
101
+ u.pathname = joinURLPath(u.pathname, 'reports/ingest');
102
+ return u.toString();
103
+ }
51
104
  validateConfig() {
52
105
  if (this.baseURL.trim() === '') {
53
106
  throw errors_1.ErrMissingBaseURL;
@@ -94,14 +147,16 @@ class Client {
94
147
  buildAPICheckURL(opts) {
95
148
  const u = parseAbsoluteURL(this.baseURL, errors_1.ErrInvalidBaseURL);
96
149
  u.pathname = joinURLPath(u.pathname, 'checkVersion');
97
- u.search = new URLSearchParams({
150
+ const params = new URLSearchParams({
98
151
  app_name: opts.appName,
99
152
  version: opts.version,
100
153
  channel: opts.channel ?? '',
101
154
  platform: opts.platform ?? '',
102
155
  arch: opts.arch ?? '',
103
156
  owner: opts.owner,
104
- }).toString();
157
+ updater: UPDATER,
158
+ });
159
+ u.search = params.toString();
105
160
  return u.toString();
106
161
  }
107
162
  buildEdgeCheckURL(opts) {
@@ -113,6 +168,7 @@ class Client {
113
168
  opts.channel ?? '',
114
169
  opts.platform ?? '',
115
170
  opts.arch ?? '',
171
+ UPDATER,
116
172
  `${opts.version.replace(/-/g, '.')}.json`,
117
173
  ];
118
174
  const base = (u.origin + u.pathname).replace(/\/+$/, '');
@@ -155,6 +211,49 @@ function validateCheckOptions(opts) {
155
211
  if (!opts.version)
156
212
  throw errors_1.ErrMissingVersion;
157
213
  }
214
+ function validateReportOptions(opts) {
215
+ if (!opts.reportKey)
216
+ throw errors_1.ErrMissingReportKey;
217
+ if (!opts.deviceId)
218
+ throw errors_1.ErrMissingDeviceId;
219
+ if (!opts.appName)
220
+ throw errors_1.ErrMissingAppName;
221
+ if (!opts.version)
222
+ throw errors_1.ErrMissingVersion;
223
+ if (!opts.channel)
224
+ throw errors_1.ErrMissingChannel;
225
+ if (!opts.platform)
226
+ throw errors_1.ErrMissingPlatform;
227
+ if (!opts.arch)
228
+ throw errors_1.ErrMissingArch;
229
+ if (!REPORT_EVENT_TYPES.includes(opts.event.type))
230
+ throw errors_1.ErrInvalidEventType;
231
+ if (!REPORT_REASON_PATTERN.test(opts.event.reason))
232
+ throw errors_1.ErrInvalidReason;
233
+ }
234
+ function buildReportBody(opts) {
235
+ const body = {
236
+ application: { name: opts.appName, version: opts.version, channel: opts.channel },
237
+ system: { platform: opts.platform, arch: opts.arch },
238
+ event: { type: opts.event.type, reason: opts.event.reason },
239
+ };
240
+ if (opts.details !== undefined) {
241
+ const payload = (0, node_zlib_1.gzipSync)(Buffer.from(JSON.stringify(opts.details))).toString('base64');
242
+ body.details = {
243
+ encoding: 'gzip+base64',
244
+ content_type: 'application/json',
245
+ payload,
246
+ };
247
+ }
248
+ return body;
249
+ }
250
+ function parseReportResponse(raw) {
251
+ return {
252
+ status: raw.status ?? '',
253
+ groupHash: raw.group_hash ?? '',
254
+ storedDetails: raw.stored_details ?? false,
255
+ };
256
+ }
158
257
  function parseAbsoluteURL(raw, sentinel) {
159
258
  let u;
160
259
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
package/dist/errors.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import type { UpdateSource } from './types';
1
+ import type { EndpointSource } from './types';
2
2
  export declare class FaynoSyncError extends Error {
3
3
  constructor(message: string);
4
4
  }
@@ -9,10 +9,10 @@ export declare class RequestFailedError extends FaynoSyncError {
9
9
  constructor(message: string);
10
10
  }
11
11
  export declare class EndpointError extends RequestFailedError {
12
- readonly source: UpdateSource;
12
+ readonly source: EndpointSource;
13
13
  readonly endpointUrl: string;
14
14
  readonly statusCode?: number | undefined;
15
- constructor(source: UpdateSource, endpointUrl: string, statusCode?: number | undefined, cause?: Error);
15
+ constructor(source: EndpointSource, endpointUrl: string, statusCode?: number | undefined, cause?: Error);
16
16
  }
17
17
  export declare class CheckError extends RequestFailedError {
18
18
  readonly edgeError?: Error | undefined;
@@ -25,4 +25,11 @@ export declare const ErrInvalidEdgeURL: ValidationError;
25
25
  export declare const ErrMissingOwner: ValidationError;
26
26
  export declare const ErrMissingAppName: ValidationError;
27
27
  export declare const ErrMissingVersion: ValidationError;
28
+ export declare const ErrMissingReportKey: ValidationError;
29
+ export declare const ErrMissingDeviceId: ValidationError;
30
+ export declare const ErrMissingChannel: ValidationError;
31
+ export declare const ErrMissingPlatform: ValidationError;
32
+ export declare const ErrMissingArch: ValidationError;
33
+ export declare const ErrInvalidEventType: ValidationError;
34
+ export declare const ErrInvalidReason: ValidationError;
28
35
  //# sourceMappingURL=errors.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAE5C,qBAAa,cAAe,SAAQ,KAAK;gBAC3B,OAAO,EAAE,MAAM;CAI5B;AAED,qBAAa,eAAgB,SAAQ,cAAc;gBACrC,OAAO,EAAE,MAAM;CAI5B;AAED,qBAAa,kBAAmB,SAAQ,cAAc;gBACxC,OAAO,EAAE,MAAM;CAI5B;AAED,qBAAa,aAAc,SAAQ,kBAAkB;aAEjC,MAAM,EAAE,YAAY;aACpB,WAAW,EAAE,MAAM;aACnB,UAAU,CAAC,EAAE,MAAM;gBAFnB,MAAM,EAAE,YAAY,EACpB,WAAW,EAAE,MAAM,EACnB,UAAU,CAAC,EAAE,MAAM,YAAA,EACnC,KAAK,CAAC,EAAE,KAAK;CAgBhB;AAED,qBAAa,UAAW,SAAQ,kBAAkB;aAE9B,SAAS,CAAC,EAAE,KAAK;aACjB,QAAQ,CAAC,EAAE,KAAK;gBADhB,SAAS,CAAC,EAAE,KAAK,YAAA,EACjB,QAAQ,CAAC,EAAE,KAAK,YAAA;CAenC;AAED,eAAO,MAAM,iBAAiB,iBAAqD,CAAC;AACpF,eAAO,MAAM,iBAAiB,iBAAqD,CAAC;AACpF,eAAO,MAAM,iBAAiB,iBAAqD,CAAC;AACpF,eAAO,MAAM,eAAe,iBAAkD,CAAC;AAC/E,eAAO,MAAM,iBAAiB,iBAAqD,CAAC;AACpF,eAAO,MAAM,iBAAiB,iBAAoD,CAAC"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAE9C,qBAAa,cAAe,SAAQ,KAAK;gBAC3B,OAAO,EAAE,MAAM;CAI5B;AAED,qBAAa,eAAgB,SAAQ,cAAc;gBACrC,OAAO,EAAE,MAAM;CAI5B;AAED,qBAAa,kBAAmB,SAAQ,cAAc;gBACxC,OAAO,EAAE,MAAM;CAI5B;AAED,qBAAa,aAAc,SAAQ,kBAAkB;aAEjC,MAAM,EAAE,cAAc;aACtB,WAAW,EAAE,MAAM;aACnB,UAAU,CAAC,EAAE,MAAM;gBAFnB,MAAM,EAAE,cAAc,EACtB,WAAW,EAAE,MAAM,EACnB,UAAU,CAAC,EAAE,MAAM,YAAA,EACnC,KAAK,CAAC,EAAE,KAAK;CAgBhB;AAED,qBAAa,UAAW,SAAQ,kBAAkB;aAE9B,SAAS,CAAC,EAAE,KAAK;aACjB,QAAQ,CAAC,EAAE,KAAK;gBADhB,SAAS,CAAC,EAAE,KAAK,YAAA,EACjB,QAAQ,CAAC,EAAE,KAAK,YAAA;CAenC;AAED,eAAO,MAAM,iBAAiB,iBAAqD,CAAC;AACpF,eAAO,MAAM,iBAAiB,iBAAqD,CAAC;AACpF,eAAO,MAAM,iBAAiB,iBAAqD,CAAC;AACpF,eAAO,MAAM,eAAe,iBAAkD,CAAC;AAC/E,eAAO,MAAM,iBAAiB,iBAAqD,CAAC;AACpF,eAAO,MAAM,iBAAiB,iBAAoD,CAAC;AACnF,eAAO,MAAM,mBAAmB,iBAAuD,CAAC;AACxF,eAAO,MAAM,kBAAkB,iBAAsD,CAAC;AACtF,eAAO,MAAM,iBAAiB,iBAAoD,CAAC;AACnF,eAAO,MAAM,kBAAkB,iBAAqD,CAAC;AACrF,eAAO,MAAM,cAAc,iBAAiD,CAAC;AAC7E,eAAO,MAAM,mBAAmB,iBAAuD,CAAC;AACxF,eAAO,MAAM,gBAAgB,iBAAyD,CAAC"}
package/dist/errors.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ErrMissingVersion = exports.ErrMissingAppName = exports.ErrMissingOwner = exports.ErrInvalidEdgeURL = exports.ErrInvalidBaseURL = exports.ErrMissingBaseURL = exports.CheckError = exports.EndpointError = exports.RequestFailedError = exports.ValidationError = exports.FaynoSyncError = void 0;
3
+ exports.ErrInvalidReason = exports.ErrInvalidEventType = exports.ErrMissingArch = exports.ErrMissingPlatform = exports.ErrMissingChannel = exports.ErrMissingDeviceId = exports.ErrMissingReportKey = exports.ErrMissingVersion = exports.ErrMissingAppName = exports.ErrMissingOwner = exports.ErrInvalidEdgeURL = exports.ErrInvalidBaseURL = exports.ErrMissingBaseURL = exports.CheckError = exports.EndpointError = exports.RequestFailedError = exports.ValidationError = exports.FaynoSyncError = void 0;
4
4
  class FaynoSyncError extends Error {
5
5
  constructor(message) {
6
6
  super(message);
@@ -78,4 +78,11 @@ exports.ErrInvalidEdgeURL = new ValidationError('faynosync: invalid edge URL');
78
78
  exports.ErrMissingOwner = new ValidationError('faynosync: missing owner');
79
79
  exports.ErrMissingAppName = new ValidationError('faynosync: missing app name');
80
80
  exports.ErrMissingVersion = new ValidationError('faynosync: missing version');
81
+ exports.ErrMissingReportKey = new ValidationError('faynosync: missing report key');
82
+ exports.ErrMissingDeviceId = new ValidationError('faynosync: missing device id');
83
+ exports.ErrMissingChannel = new ValidationError('faynosync: missing channel');
84
+ exports.ErrMissingPlatform = new ValidationError('faynosync: missing platform');
85
+ exports.ErrMissingArch = new ValidationError('faynosync: missing arch');
86
+ exports.ErrInvalidEventType = new ValidationError('faynosync: invalid event type');
87
+ exports.ErrInvalidReason = new ValidationError('faynosync: invalid event reason');
81
88
  //# sourceMappingURL=errors.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":";;;AAEA,MAAa,cAAe,SAAQ,KAAK;IACvC,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,gBAAgB,CAAC;IAC/B,CAAC;CACF;AALD,wCAKC;AAED,MAAa,eAAgB,SAAQ,cAAc;IACjD,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC;IAChC,CAAC;CACF;AALD,0CAKC;AAED,MAAa,kBAAmB,SAAQ,cAAc;IACpD,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,oBAAoB,CAAC;IACnC,CAAC;CACF;AALD,gDAKC;AAED,MAAa,aAAc,SAAQ,kBAAkB;IAEjC;IACA;IACA;IAHlB,YACkB,MAAoB,EACpB,WAAmB,EACnB,UAAmB,EACnC,KAAa;QAEb,IAAI,GAAW,CAAC;QAChB,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;YAC7B,GAAG,GAAG,8BAA8B,WAAW,kBAAkB,UAAU,EAAE,CAAC;QAChF,CAAC;aAAM,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YAC/B,GAAG,GAAG,8BAA8B,WAAW,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC;QACtE,CAAC;aAAM,CAAC;YACN,GAAG,GAAG,8BAA8B,WAAW,EAAE,CAAC;QACpD,CAAC;QACD,KAAK,CAAC,GAAG,CAAC,CAAC;QAbK,WAAM,GAAN,MAAM,CAAc;QACpB,gBAAW,GAAX,WAAW,CAAQ;QACnB,eAAU,GAAV,UAAU,CAAS;QAYnC,IAAI,CAAC,IAAI,GAAG,eAAe,CAAC;QAC5B,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACrB,CAAC;IACH,CAAC;CACF;AArBD,sCAqBC;AAED,MAAa,UAAW,SAAQ,kBAAkB;IAE9B;IACA;IAFlB,YACkB,SAAiB,EACjB,QAAgB;QAEhC,IAAI,GAAW,CAAC;QAChB,IAAI,SAAS,KAAK,SAAS,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YACtD,GAAG,GAAG,2CAA2C,SAAS,CAAC,OAAO,iBAAiB,QAAQ,CAAC,OAAO,EAAE,CAAC;QACxG,CAAC;aAAM,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YACnC,GAAG,GAAG,2CAA2C,SAAS,CAAC,OAAO,EAAE,CAAC;QACvE,CAAC;aAAM,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAClC,GAAG,GAAG,0CAA0C,QAAQ,CAAC,OAAO,EAAE,CAAC;QACrE,CAAC;aAAM,CAAC;YACN,GAAG,GAAG,2BAA2B,CAAC;QACpC,CAAC;QACD,KAAK,CAAC,GAAG,CAAC,CAAC;QAbK,cAAS,GAAT,SAAS,CAAQ;QACjB,aAAQ,GAAR,QAAQ,CAAQ;QAahC,IAAI,CAAC,IAAI,GAAG,YAAY,CAAC;IAC3B,CAAC;CACF;AAlBD,gCAkBC;AAEY,QAAA,iBAAiB,GAAG,IAAI,eAAe,CAAC,6BAA6B,CAAC,CAAC;AACvE,QAAA,iBAAiB,GAAG,IAAI,eAAe,CAAC,6BAA6B,CAAC,CAAC;AACvE,QAAA,iBAAiB,GAAG,IAAI,eAAe,CAAC,6BAA6B,CAAC,CAAC;AACvE,QAAA,eAAe,GAAG,IAAI,eAAe,CAAC,0BAA0B,CAAC,CAAC;AAClE,QAAA,iBAAiB,GAAG,IAAI,eAAe,CAAC,6BAA6B,CAAC,CAAC;AACvE,QAAA,iBAAiB,GAAG,IAAI,eAAe,CAAC,4BAA4B,CAAC,CAAC"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  export { Client } from './client';
2
2
  export type { Config } from './client';
3
- export type { CheckOptions, PackageUpdateURL, UpdateResponse, UpdateSource } from './types';
4
- export { CheckError, EndpointError, ErrInvalidBaseURL, ErrInvalidEdgeURL, ErrMissingAppName, ErrMissingBaseURL, ErrMissingOwner, ErrMissingVersion, FaynoSyncError, RequestFailedError, ValidationError, } from './errors';
3
+ export type { CheckOptions, EndpointSource, PackageUpdateURL, ReportEvent, ReportEventType, ReportOptions, ReportResponse, UpdateResponse, UpdateSource, } from './types';
4
+ export { CheckError, EndpointError, ErrInvalidBaseURL, ErrInvalidEdgeURL, ErrInvalidEventType, ErrInvalidReason, ErrMissingAppName, ErrMissingArch, ErrMissingBaseURL, ErrMissingChannel, ErrMissingDeviceId, ErrMissingOwner, ErrMissingPlatform, ErrMissingReportKey, ErrMissingVersion, FaynoSyncError, RequestFailedError, ValidationError, } from './errors';
5
5
  export { systemArch, systemPlatform } from './system';
6
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,YAAY,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AACvC,YAAY,EAAE,YAAY,EAAE,gBAAgB,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAC5F,OAAO,EACL,UAAU,EACV,aAAa,EACb,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,EACf,iBAAiB,EACjB,cAAc,EACd,kBAAkB,EAClB,eAAe,GAChB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,YAAY,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AACvC,YAAY,EACV,YAAY,EACZ,cAAc,EACd,gBAAgB,EAChB,WAAW,EACX,eAAe,EACf,aAAa,EACb,cAAc,EACd,cAAc,EACd,YAAY,GACb,MAAM,SAAS,CAAC;AACjB,OAAO,EACL,UAAU,EACV,aAAa,EACb,iBAAiB,EACjB,iBAAiB,EACjB,mBAAmB,EACnB,gBAAgB,EAChB,iBAAiB,EACjB,cAAc,EACd,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,EACf,kBAAkB,EAClB,mBAAmB,EACnB,iBAAiB,EACjB,cAAc,EACd,kBAAkB,EAClB,eAAe,GAChB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC"}
package/dist/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.systemPlatform = exports.systemArch = exports.ValidationError = exports.RequestFailedError = exports.FaynoSyncError = exports.ErrMissingVersion = exports.ErrMissingOwner = exports.ErrMissingBaseURL = exports.ErrMissingAppName = exports.ErrInvalidEdgeURL = exports.ErrInvalidBaseURL = exports.EndpointError = exports.CheckError = exports.Client = void 0;
3
+ exports.systemPlatform = exports.systemArch = exports.ValidationError = exports.RequestFailedError = exports.FaynoSyncError = exports.ErrMissingVersion = exports.ErrMissingReportKey = exports.ErrMissingPlatform = exports.ErrMissingOwner = exports.ErrMissingDeviceId = exports.ErrMissingChannel = exports.ErrMissingBaseURL = exports.ErrMissingArch = exports.ErrMissingAppName = exports.ErrInvalidReason = exports.ErrInvalidEventType = exports.ErrInvalidEdgeURL = exports.ErrInvalidBaseURL = exports.EndpointError = exports.CheckError = exports.Client = void 0;
4
4
  var client_1 = require("./client");
5
5
  Object.defineProperty(exports, "Client", { enumerable: true, get: function () { return client_1.Client; } });
6
6
  var errors_1 = require("./errors");
@@ -8,9 +8,16 @@ Object.defineProperty(exports, "CheckError", { enumerable: true, get: function (
8
8
  Object.defineProperty(exports, "EndpointError", { enumerable: true, get: function () { return errors_1.EndpointError; } });
9
9
  Object.defineProperty(exports, "ErrInvalidBaseURL", { enumerable: true, get: function () { return errors_1.ErrInvalidBaseURL; } });
10
10
  Object.defineProperty(exports, "ErrInvalidEdgeURL", { enumerable: true, get: function () { return errors_1.ErrInvalidEdgeURL; } });
11
+ Object.defineProperty(exports, "ErrInvalidEventType", { enumerable: true, get: function () { return errors_1.ErrInvalidEventType; } });
12
+ Object.defineProperty(exports, "ErrInvalidReason", { enumerable: true, get: function () { return errors_1.ErrInvalidReason; } });
11
13
  Object.defineProperty(exports, "ErrMissingAppName", { enumerable: true, get: function () { return errors_1.ErrMissingAppName; } });
14
+ Object.defineProperty(exports, "ErrMissingArch", { enumerable: true, get: function () { return errors_1.ErrMissingArch; } });
12
15
  Object.defineProperty(exports, "ErrMissingBaseURL", { enumerable: true, get: function () { return errors_1.ErrMissingBaseURL; } });
16
+ Object.defineProperty(exports, "ErrMissingChannel", { enumerable: true, get: function () { return errors_1.ErrMissingChannel; } });
17
+ Object.defineProperty(exports, "ErrMissingDeviceId", { enumerable: true, get: function () { return errors_1.ErrMissingDeviceId; } });
13
18
  Object.defineProperty(exports, "ErrMissingOwner", { enumerable: true, get: function () { return errors_1.ErrMissingOwner; } });
19
+ Object.defineProperty(exports, "ErrMissingPlatform", { enumerable: true, get: function () { return errors_1.ErrMissingPlatform; } });
20
+ Object.defineProperty(exports, "ErrMissingReportKey", { enumerable: true, get: function () { return errors_1.ErrMissingReportKey; } });
14
21
  Object.defineProperty(exports, "ErrMissingVersion", { enumerable: true, get: function () { return errors_1.ErrMissingVersion; } });
15
22
  Object.defineProperty(exports, "FaynoSyncError", { enumerable: true, get: function () { return errors_1.FaynoSyncError; } });
16
23
  Object.defineProperty(exports, "RequestFailedError", { enumerable: true, get: function () { return errors_1.RequestFailedError; } });
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,mCAAkC;AAAzB,gGAAA,MAAM,OAAA;AAGf,mCAYkB;AAXhB,oGAAA,UAAU,OAAA;AACV,uGAAA,aAAa,OAAA;AACb,2GAAA,iBAAiB,OAAA;AACjB,2GAAA,iBAAiB,OAAA;AACjB,2GAAA,iBAAiB,OAAA;AACjB,2GAAA,iBAAiB,OAAA;AACjB,yGAAA,eAAe,OAAA;AACf,2GAAA,iBAAiB,OAAA;AACjB,wGAAA,cAAc,OAAA;AACd,4GAAA,kBAAkB,OAAA;AAClB,yGAAA,eAAe,OAAA;AAEjB,mCAAsD;AAA7C,oGAAA,UAAU,OAAA;AAAE,wGAAA,cAAc,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,mCAAkC;AAAzB,gGAAA,MAAM,OAAA;AAaf,mCAmBkB;AAlBhB,oGAAA,UAAU,OAAA;AACV,uGAAA,aAAa,OAAA;AACb,2GAAA,iBAAiB,OAAA;AACjB,2GAAA,iBAAiB,OAAA;AACjB,6GAAA,mBAAmB,OAAA;AACnB,0GAAA,gBAAgB,OAAA;AAChB,2GAAA,iBAAiB,OAAA;AACjB,wGAAA,cAAc,OAAA;AACd,2GAAA,iBAAiB,OAAA;AACjB,2GAAA,iBAAiB,OAAA;AACjB,4GAAA,kBAAkB,OAAA;AAClB,yGAAA,eAAe,OAAA;AACf,4GAAA,kBAAkB,OAAA;AAClB,6GAAA,mBAAmB,OAAA;AACnB,2GAAA,iBAAiB,OAAA;AACjB,wGAAA,cAAc,OAAA;AACd,4GAAA,kBAAkB,OAAA;AAClB,yGAAA,eAAe,OAAA;AAEjB,mCAAsD;AAA7C,oGAAA,UAAU,OAAA;AAAE,wGAAA,cAAc,OAAA"}
package/dist/types.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  export type UpdateSource = 'unknown' | 'edge' | 'api';
2
+ export type EndpointSource = UpdateSource | 'report';
2
3
  export interface PackageUpdateURL {
3
4
  readonly package: string;
4
5
  readonly url: string;
@@ -22,4 +23,25 @@ export interface UpdateResponse {
22
23
  readonly packageUrls: readonly PackageUpdateURL[];
23
24
  readonly source: UpdateSource;
24
25
  }
26
+ export type ReportEventType = 'crash' | 'startup_failure' | 'update_failure' | 'install_failure' | 'rollback_failure';
27
+ export interface ReportEvent {
28
+ readonly type: ReportEventType;
29
+ readonly reason: string;
30
+ }
31
+ export interface ReportOptions {
32
+ readonly reportKey: string;
33
+ readonly deviceId: string;
34
+ readonly appName: string;
35
+ readonly version: string;
36
+ readonly channel: string;
37
+ readonly platform: string;
38
+ readonly arch: string;
39
+ readonly event: ReportEvent;
40
+ readonly details?: Readonly<Record<string, unknown>>;
41
+ }
42
+ export interface ReportResponse {
43
+ readonly status: string;
44
+ readonly groupHash: string;
45
+ readonly storedDetails: boolean;
46
+ }
25
47
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,MAAM,GAAG,KAAK,CAAC;AAEtD,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAC;IAClC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,sBAAsB,EAAE,OAAO,CAAC;IACzC,QAAQ,CAAC,gBAAgB,EAAE,OAAO,CAAC;IACnC,QAAQ,CAAC,WAAW,EAAE,SAAS,gBAAgB,EAAE,CAAC;IAClD,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;CAC/B"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,MAAM,GAAG,KAAK,CAAC;AAEtD,MAAM,MAAM,cAAc,GAAG,YAAY,GAAG,QAAQ,CAAC;AAErD,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAC;IAClC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,sBAAsB,EAAE,OAAO,CAAC;IACzC,QAAQ,CAAC,gBAAgB,EAAE,OAAO,CAAC;IACnC,QAAQ,CAAC,WAAW,EAAE,SAAS,gBAAgB,EAAE,CAAC;IAClD,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;CAC/B;AAED,MAAM,MAAM,eAAe,GACvB,OAAO,GACP,iBAAiB,GACjB,gBAAgB,GAChB,iBAAiB,GACjB,kBAAkB,CAAC;AAEvB,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAC;IAC/B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC;IAC5B,QAAQ,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CACtD;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;CACjC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@faynosync/sdk-js",
3
- "version": "0.2.1",
3
+ "version": "0.3.0",
4
4
  "description": "JavaScript/TypeScript SDK for faynoSync",
5
5
  "repository": {
6
6
  "type": "git",