@proappstore/sdk 1.5.0 → 1.6.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
@@ -133,6 +133,43 @@ const license = await app.license.current()
133
133
  const valid = await app.license.validate('LIC-ABC-123')
134
134
  ```
135
135
 
136
+ ### Maps (Geocoding + Embeds)
137
+
138
+ Address-to-coordinates and map embeds. Powered by OpenStreetMap/Nominatim. No Google API keys needed.
139
+
140
+ ```ts
141
+ // Geocode an address
142
+ const results = await app.maps.geocode('Times Square, New York')
143
+ // [{lat: 40.758, lng: -73.985, displayName: "Times Square...", address: {...}}]
144
+
145
+ // Reverse geocode
146
+ const place = await app.maps.reverseGeocode(40.758, -73.985)
147
+
148
+ // Embed map in iframe
149
+ <iframe src={app.maps.embedUrl(40.758, -73.985)} />
150
+
151
+ // Static tile image
152
+ <img src={app.maps.staticUrl(40.758, -73.985)} />
153
+ ```
154
+
155
+ ### Storage (File Upload)
156
+
157
+ Upload images, videos, documents. Public files get URLs usable in `<img src>` without auth.
158
+
159
+ ```ts
160
+ // Private upload (owner-only access)
161
+ await app.storage.upload('docs/resume.pdf', file, 'application/pdf')
162
+
163
+ // Public upload (anyone can view)
164
+ await app.storage.uploadPublic('avatar.jpg', file, 'image/jpeg')
165
+ const url = app.storage.publicUrl('avatar.jpg') // works in <img src>
166
+
167
+ // List, download, delete
168
+ const files = await app.storage.list()
169
+ const response = await app.storage.download('docs/resume.pdf')
170
+ await app.storage.delete('docs/resume.pdf')
171
+ ```
172
+
136
173
  ## ProShell Component
137
174
 
138
175
  A React component that handles auth gates, subscription checks, and renders a platform-level shell with topbar and user menu.
package/dist/index.d.ts CHANGED
@@ -1,5 +1,6 @@
1
1
  import { FreeAppStore } from '@freeappstore/sdk';
2
2
  import { Database } from './db.js';
3
+ import { Maps } from './maps.js';
3
4
  import { Storage } from './storage.js';
4
5
  import { SubscriptionApi } from './subscription.js';
5
6
  import { LicenseApi } from './license.js';
@@ -18,6 +19,7 @@ export declare class ProAppStore extends FreeAppStore {
18
19
  readonly license: LicenseApi;
19
20
  readonly db: Database;
20
21
  readonly storage: Storage;
22
+ readonly maps: Maps;
21
23
  constructor(opts: ProInitOptions);
22
24
  }
23
25
  /** Create a new ProAppStore SDK instance. Includes all free + pro features. */
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAGjD,YAAY,EACV,IAAI,EACJ,WAAW,EACX,cAAc,EACd,eAAe,EACf,IAAI,EACJ,WAAW,EACX,QAAQ,GACT,MAAM,mBAAmB,CAAC;AAE3B,YAAY,EACV,cAAc,EACd,YAAY,EACZ,kBAAkB,EAClB,eAAe,EACf,WAAW,GACZ,MAAM,YAAY,CAAC;AAEpB,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAEpF;;;;;GAKG;AACH,qBAAa,WAAY,SAAQ,YAAY;IAC3C,QAAQ,CAAC,YAAY,EAAE,eAAe,CAAC;IACvC,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC;IAC7B,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;gBAEd,IAAI,EAAE,cAAc;CAQjC;AAED,+EAA+E;AAC/E,wBAAgB,OAAO,CAAC,IAAI,EAAE,cAAc,GAAG,WAAW,CAEzD"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAGjD,YAAY,EACV,IAAI,EACJ,WAAW,EACX,cAAc,EACd,eAAe,EACf,IAAI,EACJ,WAAW,EACX,QAAQ,GACT,MAAM,mBAAmB,CAAC;AAE3B,YAAY,EACV,cAAc,EACd,YAAY,EACZ,kBAAkB,EAClB,eAAe,EACf,WAAW,GACZ,MAAM,YAAY,CAAC;AAEpB,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAEpF;;;;;GAKG;AACH,qBAAa,WAAY,SAAQ,YAAY;IAC3C,QAAQ,CAAC,YAAY,EAAE,eAAe,CAAC;IACvC,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC;IAC7B,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;gBAER,IAAI,EAAE,cAAc;CASjC;AAED,+EAA+E;AAC/E,wBAAgB,OAAO,CAAC,IAAI,EAAE,cAAc,GAAG,WAAW,CAEzD"}
package/dist/index.js CHANGED
@@ -1,5 +1,6 @@
1
1
  import { FreeAppStore } from '@freeappstore/sdk';
2
2
  import { Database } from './db.js';
3
+ import { Maps } from './maps.js';
3
4
  import { Storage } from './storage.js';
4
5
  import { SubscriptionApi } from './subscription.js';
5
6
  import { LicenseApi } from './license.js';
@@ -14,6 +15,7 @@ export class ProAppStore extends FreeAppStore {
14
15
  license;
15
16
  db;
16
17
  storage;
18
+ maps;
17
19
  constructor(opts) {
18
20
  super({ appId: opts.appId, ...(opts.fasApiBase && { apiBase: opts.fasApiBase }) });
19
21
  const proApiBase = opts.proApiBase ?? 'https://api.proappstore.online';
@@ -21,6 +23,7 @@ export class ProAppStore extends FreeAppStore {
21
23
  this.license = new LicenseApi(opts.appId, proApiBase, this.auth);
22
24
  this.db = new Database(opts.appId, opts.dataApiBase ?? `https://data-${opts.appId}.proappstore.online`, this.auth);
23
25
  this.storage = new Storage(opts.appId, proApiBase, this.auth);
26
+ this.maps = new Maps(proApiBase);
24
27
  }
25
28
  }
26
29
  /** Create a new ProAppStore SDK instance. Includes all free + pro features. */
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAwB1C;;;;;GAKG;AACH,MAAM,OAAO,WAAY,SAAQ,YAAY;IAClC,YAAY,CAAkB;IAC9B,OAAO,CAAa;IACpB,EAAE,CAAW;IACb,OAAO,CAAU;IAE1B,YAAY,IAAoB;QAC9B,KAAK,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,IAAI,CAAC,UAAU,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,EAAE,CAAC,CAAC;QACnF,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,gCAAgC,CAAC;QACvE,IAAI,CAAC,YAAY,GAAG,IAAI,eAAe,CAAC,IAAI,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3E,IAAI,CAAC,OAAO,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QACjE,IAAI,CAAC,EAAE,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,WAAW,IAAI,gBAAgB,IAAI,CAAC,KAAK,qBAAqB,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QACnH,IAAI,CAAC,OAAO,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IAChE,CAAC;CACF;AAED,+EAA+E;AAC/E,MAAM,UAAU,OAAO,CAAC,IAAoB;IAC1C,OAAO,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC;AAC/B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAwB1C;;;;;GAKG;AACH,MAAM,OAAO,WAAY,SAAQ,YAAY;IAClC,YAAY,CAAkB;IAC9B,OAAO,CAAa;IACpB,EAAE,CAAW;IACb,OAAO,CAAU;IACjB,IAAI,CAAO;IAEpB,YAAY,IAAoB;QAC9B,KAAK,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,IAAI,CAAC,UAAU,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,EAAE,CAAC,CAAC;QACnF,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,gCAAgC,CAAC;QACvE,IAAI,CAAC,YAAY,GAAG,IAAI,eAAe,CAAC,IAAI,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3E,IAAI,CAAC,OAAO,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QACjE,IAAI,CAAC,EAAE,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,WAAW,IAAI,gBAAgB,IAAI,CAAC,KAAK,qBAAqB,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QACnH,IAAI,CAAC,OAAO,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9D,IAAI,CAAC,IAAI,GAAG,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC;IACnC,CAAC;CACF;AAED,+EAA+E;AAC/E,MAAM,UAAU,OAAO,CAAC,IAAoB;IAC1C,OAAO,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC;AAC/B,CAAC"}
package/dist/maps.d.ts ADDED
@@ -0,0 +1,42 @@
1
+ /**
2
+ * Maps — geocoding, reverse geocoding, and map embed helpers.
3
+ * Backed by Nominatim (OpenStreetMap) proxied through the PAS API.
4
+ * No Google API keys needed.
5
+ */
6
+ export interface GeoResult {
7
+ lat: number;
8
+ lng: number;
9
+ displayName: string;
10
+ address: Record<string, string>;
11
+ type: string;
12
+ importance: number;
13
+ }
14
+ export interface ReverseResult {
15
+ lat: number;
16
+ lng: number;
17
+ displayName: string;
18
+ address: Record<string, string>;
19
+ }
20
+ export declare class Maps {
21
+ private readonly apiBase;
22
+ constructor(apiBase: string);
23
+ /** Convert an address string to coordinates. Returns up to `limit` results. */
24
+ geocode(query: string, limit?: number): Promise<GeoResult[]>;
25
+ /** Convert coordinates to an address. */
26
+ reverseGeocode(lat: number, lng: number): Promise<ReverseResult>;
27
+ /**
28
+ * Get an OpenStreetMap embed URL for use in an iframe.
29
+ * No API key needed. Free forever.
30
+ *
31
+ * Usage: <iframe src={app.maps.embedUrl(lat, lng, zoom)} />
32
+ */
33
+ embedUrl(lat: number, lng: number, zoom?: number): string;
34
+ /**
35
+ * Get a static map image URL (no JavaScript needed).
36
+ * Uses OpenStreetMap tile server.
37
+ *
38
+ * Usage: <img src={app.maps.staticUrl(lat, lng)} />
39
+ */
40
+ staticUrl(lat: number, lng: number, zoom?: number): string;
41
+ }
42
+ //# sourceMappingURL=maps.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"maps.d.ts","sourceRoot":"","sources":["../src/maps.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,WAAW,SAAS;IACxB,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,aAAa;IAC5B,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACjC;AAED,qBAAa,IAAI;IACH,OAAO,CAAC,QAAQ,CAAC,OAAO;gBAAP,OAAO,EAAE,MAAM;IAE5C,+EAA+E;IACzE,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,SAAI,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IAY7D,yCAAyC;IACnC,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAWtE;;;;;OAKG;IACH,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,SAAK,GAAG,MAAM;IAIrD;;;;;OAKG;IACH,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,SAAK,GAAG,MAAM;CAKvD"}
package/dist/maps.js ADDED
@@ -0,0 +1,53 @@
1
+ /**
2
+ * Maps — geocoding, reverse geocoding, and map embed helpers.
3
+ * Backed by Nominatim (OpenStreetMap) proxied through the PAS API.
4
+ * No Google API keys needed.
5
+ */
6
+ export class Maps {
7
+ apiBase;
8
+ constructor(apiBase) {
9
+ this.apiBase = apiBase;
10
+ }
11
+ /** Convert an address string to coordinates. Returns up to `limit` results. */
12
+ async geocode(query, limit = 5) {
13
+ const url = new URL(`${this.apiBase}/v1/maps/geocode`);
14
+ url.searchParams.set('q', query);
15
+ url.searchParams.set('limit', String(limit));
16
+ const response = await fetch(url.toString());
17
+ if (!response.ok)
18
+ throw new Error(`maps.geocode failed: ${response.status}`);
19
+ const data = (await response.json());
20
+ return data.results;
21
+ }
22
+ /** Convert coordinates to an address. */
23
+ async reverseGeocode(lat, lng) {
24
+ const url = new URL(`${this.apiBase}/v1/maps/reverse`);
25
+ url.searchParams.set('lat', String(lat));
26
+ url.searchParams.set('lng', String(lng));
27
+ const response = await fetch(url.toString());
28
+ if (!response.ok)
29
+ throw new Error(`maps.reverseGeocode failed: ${response.status}`);
30
+ return (await response.json());
31
+ }
32
+ /**
33
+ * Get an OpenStreetMap embed URL for use in an iframe.
34
+ * No API key needed. Free forever.
35
+ *
36
+ * Usage: <iframe src={app.maps.embedUrl(lat, lng, zoom)} />
37
+ */
38
+ embedUrl(lat, lng, zoom = 15) {
39
+ return `https://www.openstreetmap.org/export/embed.html?bbox=${lng - 0.01},${lat - 0.01},${lng + 0.01},${lat + 0.01}&layer=mapnik&marker=${lat},${lng}`;
40
+ }
41
+ /**
42
+ * Get a static map image URL (no JavaScript needed).
43
+ * Uses OpenStreetMap tile server.
44
+ *
45
+ * Usage: <img src={app.maps.staticUrl(lat, lng)} />
46
+ */
47
+ staticUrl(lat, lng, zoom = 15) {
48
+ const x = Math.floor(((lng + 180) / 360) * Math.pow(2, zoom));
49
+ const y = Math.floor((1 - Math.log(Math.tan((lat * Math.PI) / 180) + 1 / Math.cos((lat * Math.PI) / 180)) / Math.PI) / 2 * Math.pow(2, zoom));
50
+ return `https://tile.openstreetmap.org/${zoom}/${x}/${y}.png`;
51
+ }
52
+ }
53
+ //# sourceMappingURL=maps.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"maps.js","sourceRoot":"","sources":["../src/maps.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAkBH,MAAM,OAAO,IAAI;IACc;IAA7B,YAA6B,OAAe;QAAf,YAAO,GAAP,OAAO,CAAQ;IAAG,CAAC;IAEhD,+EAA+E;IAC/E,KAAK,CAAC,OAAO,CAAC,KAAa,EAAE,KAAK,GAAG,CAAC;QACpC,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,kBAAkB,CAAC,CAAC;QACvD,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QACjC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QAE7C,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC7C,IAAI,CAAC,QAAQ,CAAC,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,wBAAwB,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;QAE7E,MAAM,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAA6B,CAAC;QACjE,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,yCAAyC;IACzC,KAAK,CAAC,cAAc,CAAC,GAAW,EAAE,GAAW;QAC3C,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,kBAAkB,CAAC,CAAC;QACvD,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;QACzC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;QAEzC,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC7C,IAAI,CAAC,QAAQ,CAAC,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,+BAA+B,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;QAEpF,OAAO,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAkB,CAAC;IAClD,CAAC;IAED;;;;;OAKG;IACH,QAAQ,CAAC,GAAW,EAAE,GAAW,EAAE,IAAI,GAAG,EAAE;QAC1C,OAAO,wDAAwD,GAAG,GAAG,IAAI,IAAI,GAAG,GAAG,IAAI,IAAI,GAAG,GAAG,IAAI,IAAI,GAAG,GAAG,IAAI,wBAAwB,GAAG,IAAI,GAAG,EAAE,CAAC;IAC1J,CAAC;IAED;;;;;OAKG;IACH,SAAS,CAAC,GAAW,EAAE,GAAW,EAAE,IAAI,GAAG,EAAE;QAC3C,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;QAC9D,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;QAC9I,OAAO,kCAAkC,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;IAChE,CAAC;CACF"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@proappstore/sdk",
3
- "version": "1.5.0",
3
+ "version": "1.6.1",
4
4
  "description": "Browser SDK for paid apps on proappstore.online — subscriptions, license keys, premium modules.",
5
5
  "license": "MIT",
6
6
  "type": "module",