@eazo/sdk 0.11.0 → 0.14.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 (88) hide show
  1. package/PROTOCOL.md +7 -1
  2. package/README.md +78 -7
  3. package/dist/index.d.ts +3 -0
  4. package/dist/index.d.ts.map +1 -1
  5. package/dist/index.js +3 -1
  6. package/dist/index.js.map +1 -1
  7. package/dist/internal/auth-primitive/EazoAuthClient.js +1 -1
  8. package/dist/internal/auth-primitive/EazoAuthClient.js.map +1 -1
  9. package/dist/internal/banner-ui/app-info.d.ts +78 -0
  10. package/dist/internal/banner-ui/app-info.d.ts.map +1 -0
  11. package/dist/internal/banner-ui/app-info.js +62 -0
  12. package/dist/internal/banner-ui/app-info.js.map +1 -0
  13. package/dist/internal/banner-ui/icons.d.ts +18 -4
  14. package/dist/internal/banner-ui/icons.d.ts.map +1 -1
  15. package/dist/internal/banner-ui/icons.js +57 -4
  16. package/dist/internal/banner-ui/icons.js.map +1 -1
  17. package/dist/internal/banner-ui/index.d.ts +16 -3
  18. package/dist/internal/banner-ui/index.d.ts.map +1 -1
  19. package/dist/internal/banner-ui/index.js +336 -41
  20. package/dist/internal/banner-ui/index.js.map +1 -1
  21. package/dist/internal/banner-ui/initial-info.d.ts +4 -0
  22. package/dist/internal/banner-ui/initial-info.d.ts.map +1 -0
  23. package/dist/internal/banner-ui/initial-info.js +22 -0
  24. package/dist/internal/banner-ui/initial-info.js.map +1 -0
  25. package/dist/internal/banner-ui/qr.d.ts +22 -0
  26. package/dist/internal/banner-ui/qr.d.ts.map +1 -0
  27. package/dist/internal/banner-ui/qr.js +95 -0
  28. package/dist/internal/banner-ui/qr.js.map +1 -0
  29. package/dist/internal/banner-ui/store-links.d.ts +38 -0
  30. package/dist/internal/banner-ui/store-links.d.ts.map +1 -1
  31. package/dist/internal/banner-ui/store-links.js +49 -0
  32. package/dist/internal/banner-ui/store-links.js.map +1 -1
  33. package/dist/internal/banner-ui/styles.d.ts +4 -2
  34. package/dist/internal/banner-ui/styles.d.ts.map +1 -1
  35. package/dist/internal/banner-ui/styles.js +578 -66
  36. package/dist/internal/banner-ui/styles.js.map +1 -1
  37. package/dist/internal/bridge/protocol.d.ts +6 -0
  38. package/dist/internal/bridge/protocol.d.ts.map +1 -1
  39. package/dist/internal/bridge/protocol.js +5 -1
  40. package/dist/internal/bridge/protocol.js.map +1 -1
  41. package/dist/internal/capabilities/ai.js +1 -1
  42. package/dist/internal/capabilities/ai.js.map +1 -1
  43. package/dist/internal/capabilities/auth.d.ts +10 -5
  44. package/dist/internal/capabilities/auth.d.ts.map +1 -1
  45. package/dist/internal/capabilities/auth.js +29 -13
  46. package/dist/internal/capabilities/auth.js.map +1 -1
  47. package/dist/internal/capabilities/device.d.ts +0 -1
  48. package/dist/internal/capabilities/device.d.ts.map +1 -1
  49. package/dist/internal/capabilities/device.js +2 -6
  50. package/dist/internal/capabilities/device.js.map +1 -1
  51. package/dist/internal/capabilities/memory.d.ts +10 -15
  52. package/dist/internal/capabilities/memory.d.ts.map +1 -1
  53. package/dist/internal/capabilities/memory.js +9 -26
  54. package/dist/internal/capabilities/memory.js.map +1 -1
  55. package/dist/internal/capabilities/notifications.d.ts +41 -0
  56. package/dist/internal/capabilities/notifications.d.ts.map +1 -0
  57. package/dist/internal/capabilities/notifications.js +61 -0
  58. package/dist/internal/capabilities/notifications.js.map +1 -0
  59. package/dist/internal/capabilities/share.d.ts +4 -2
  60. package/dist/internal/capabilities/share.d.ts.map +1 -1
  61. package/dist/internal/capabilities/share.js +13 -9
  62. package/dist/internal/capabilities/share.js.map +1 -1
  63. package/dist/internal/capabilities/storage.d.ts +7 -11
  64. package/dist/internal/capabilities/storage.d.ts.map +1 -1
  65. package/dist/internal/capabilities/storage.js +5 -13
  66. package/dist/internal/capabilities/storage.js.map +1 -1
  67. package/dist/internal/config.d.ts +9 -12
  68. package/dist/internal/config.d.ts.map +1 -1
  69. package/dist/internal/config.js +53 -22
  70. package/dist/internal/config.js.map +1 -1
  71. package/dist/internal/store.d.ts.map +1 -1
  72. package/dist/internal/store.js +0 -1
  73. package/dist/internal/store.js.map +1 -1
  74. package/dist/react.d.ts +34 -5
  75. package/dist/react.d.ts.map +1 -1
  76. package/dist/react.js +26 -5
  77. package/dist/react.js.map +1 -1
  78. package/dist/react.server.d.ts +22 -0
  79. package/dist/react.server.d.ts.map +1 -0
  80. package/dist/react.server.js +118 -0
  81. package/dist/react.server.js.map +1 -0
  82. package/dist/server.d.ts +29 -0
  83. package/dist/server.d.ts.map +1 -1
  84. package/dist/server.js +158 -0
  85. package/dist/server.js.map +1 -1
  86. package/dist/types.d.ts +0 -1
  87. package/dist/types.d.ts.map +1 -1
  88. package/package.json +7 -2
package/dist/server.d.ts CHANGED
@@ -17,5 +17,34 @@ export type AuthResult = {
17
17
  * encrypted session with EAZO_PRIVATE_KEY, and returns the user.
18
18
  */
19
19
  export declare function requireAuth(request: HeaderRequest): AuthResult;
20
+ export declare class EazoNotificationPublishError extends Error {
21
+ readonly code: number;
22
+ readonly publishId?: string;
23
+ constructor(message: string, code: number, publishId?: string);
24
+ }
25
+ export interface NotificationPublishInput {
26
+ /** Title shown in the system push tray. Up to 120 chars. */
27
+ title: string;
28
+ /** Body of the notification. Up to 500 chars. */
29
+ body: string;
30
+ /** Optional structured payload merged into the device-side `data`. */
31
+ data?: Record<string, unknown>;
32
+ /** v1 only supports `subscribers`; future values may include explicit user lists. */
33
+ audience?: "subscribers";
34
+ }
35
+ export interface NotificationPublishResult {
36
+ delivered: number;
37
+ publishId: string;
38
+ }
39
+ /**
40
+ * Server-side publish to subscribers of this app. Signs a JWT with
41
+ * `EAZO_PRIVATE_KEY` and POSTs to the platform; throws
42
+ * `EazoNotificationPublishError` on non-zero response codes.
43
+ */
44
+ export declare const notifications: {
45
+ publish(input: NotificationPublishInput): Promise<NotificationPublishResult>;
46
+ };
20
47
  export type { User } from "./types";
48
+ export { fetchPublicAppInfo } from "./internal/banner-ui/app-info";
49
+ export type { PublicAppData, PublicAppInfo, PublicAppViewer, } from "./internal/banner-ui/app-info";
21
50
  //# sourceMappingURL=server.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAyBpC,uEAAuE;AACvE,UAAU,aAAa;IACrB,OAAO,EAAE;QAAE,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC;CAC/C;AAED,MAAM,MAAM,UAAU,GAClB;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,IAAI,CAAA;CAAE,GACxB;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,QAAQ,EAAE,QAAQ,CAAA;CAAE,CAAC;AAStC;;;GAGG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,aAAa,GAAG,UAAU,CAiB9D;AAED,YAAY,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AA0BpC,uEAAuE;AACvE,UAAU,aAAa;IACrB,OAAO,EAAE;QAAE,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC;CAC/C;AAED,MAAM,MAAM,UAAU,GAClB;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,IAAI,CAAA;CAAE,GACxB;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,QAAQ,EAAE,QAAQ,CAAA;CAAE,CAAC;AAStC;;;GAGG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,aAAa,GAAG,UAAU,CAiB9D;AAWD,qBAAa,4BAA6B,SAAQ,KAAK;IACrD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;gBAChB,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM;CAM9D;AA6CD,MAAM,WAAW,wBAAwB;IACvC,4DAA4D;IAC5D,KAAK,EAAE,MAAM,CAAC;IACd,iDAAiD;IACjD,IAAI,EAAE,MAAM,CAAC;IACb,sEAAsE;IACtE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,qFAAqF;IACrF,QAAQ,CAAC,EAAE,aAAa,CAAC;CAC1B;AAED,MAAM,WAAW,yBAAyB;IACxC,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;;GAIG;AACH,eAAO,MAAM,aAAa;mBACH,wBAAwB,GAAG,OAAO,CAAC,yBAAyB,CAAC;CAoEnF,CAAC;AAEF,YAAY,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAapC,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACnE,YAAY,EACV,aAAa,EACb,aAAa,EACb,eAAe,GAChB,MAAM,+BAA+B,CAAC"}
package/dist/server.js CHANGED
@@ -1,7 +1,44 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
2
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.fetchPublicAppInfo = exports.notifications = exports.EazoNotificationPublishError = void 0;
3
37
  exports.requireAuth = requireAuth;
38
+ const crypto = __importStar(require("crypto"));
39
+ const elliptic_1 = require("elliptic");
4
40
  const auth_primitive_1 = require("./internal/auth-primitive");
41
+ const config_1 = require("./internal/config");
5
42
  let authServer = null;
6
43
  function getAuthServer() {
7
44
  if (authServer)
@@ -50,4 +87,125 @@ function requireAuth(request) {
50
87
  return { ok: false, response: unauthorized("Invalid session") };
51
88
  }
52
89
  }
90
+ // ---------------------------------------------------------------------------
91
+ // notifications.publish — server-to-server push to subscribers of an Eazo app
92
+ // ---------------------------------------------------------------------------
93
+ const NOTIFICATIONS_PUBLISH_AUDIENCE = "eazo.notifications.publish";
94
+ const NOTIFICATIONS_PUBLISH_TTL_SECONDS = 60;
95
+ const ec = new elliptic_1.ec("secp256k1");
96
+ class EazoNotificationPublishError extends Error {
97
+ constructor(message, code, publishId) {
98
+ super(message);
99
+ this.name = "EazoNotificationPublishError";
100
+ this.code = code;
101
+ this.publishId = publishId;
102
+ }
103
+ }
104
+ exports.EazoNotificationPublishError = EazoNotificationPublishError;
105
+ function base64urlEncode(buf) {
106
+ const b = typeof buf === "string" ? Buffer.from(buf, "utf8") : buf;
107
+ return b.toString("base64").replace(/=+$/g, "").replace(/\+/g, "-").replace(/\//g, "_");
108
+ }
109
+ /** Sign an ES256K JWT (header.payload.signature with raw r||s signature). */
110
+ function signES256K(privateKeyHex, payload) {
111
+ const header = { alg: "ES256K", typ: "JWT" };
112
+ const encodedHeader = base64urlEncode(JSON.stringify(header));
113
+ const encodedPayload = base64urlEncode(JSON.stringify(payload));
114
+ const signingInput = `${encodedHeader}.${encodedPayload}`;
115
+ const digest = crypto.createHash("sha256").update(signingInput).digest();
116
+ const keyPair = ec.keyFromPrivate(privateKeyHex, "hex");
117
+ const sig = keyPair.sign(digest, { canonical: true });
118
+ const r = sig.r.toString(16).padStart(64, "0");
119
+ const s = sig.s.toString(16).padStart(64, "0");
120
+ const sigBytes = Buffer.from(r + s, "hex");
121
+ return `${signingInput}.${base64urlEncode(sigBytes)}`;
122
+ }
123
+ function getDeveloperPrivateKey() {
124
+ const privateKey = process.env.EAZO_PRIVATE_KEY;
125
+ if (!privateKey) {
126
+ throw new Error("@eazo/sdk/server: EAZO_PRIVATE_KEY is required for notifications.publish().");
127
+ }
128
+ return privateKey;
129
+ }
130
+ function derivePublicKey(privateKeyHex) {
131
+ return ec.keyFromPrivate(privateKeyHex, "hex").getPublic(true, "hex");
132
+ }
133
+ function getDeveloperAppId() {
134
+ const fromEnv = (0, config_1.readAppIdFromEnv)();
135
+ if (!fromEnv) {
136
+ throw new Error("@eazo/sdk/server: EAZO_APP_ID is required for notifications.publish().");
137
+ }
138
+ return fromEnv;
139
+ }
140
+ /**
141
+ * Server-side publish to subscribers of this app. Signs a JWT with
142
+ * `EAZO_PRIVATE_KEY` and POSTs to the platform; throws
143
+ * `EazoNotificationPublishError` on non-zero response codes.
144
+ */
145
+ exports.notifications = {
146
+ async publish(input) {
147
+ if (!input || typeof input !== "object") {
148
+ throw new Error("notifications.publish requires an input object");
149
+ }
150
+ if (!input.title)
151
+ throw new Error("notifications.publish: `title` is required");
152
+ if (!input.body)
153
+ throw new Error("notifications.publish: `body` is required");
154
+ const appId = getDeveloperAppId();
155
+ const privateKeyHex = getDeveloperPrivateKey();
156
+ const publicKeyHex = derivePublicKey(privateKeyHex);
157
+ const now = Math.floor(Date.now() / 1000);
158
+ const jwt = signES256K(privateKeyHex, {
159
+ iss: publicKeyHex,
160
+ aud: NOTIFICATIONS_PUBLISH_AUDIENCE,
161
+ iat: now,
162
+ exp: now + NOTIFICATIONS_PUBLISH_TTL_SECONDS,
163
+ jti: crypto.randomUUID(),
164
+ });
165
+ const url = `${(0, config_1.getPlatformApiBase)()}/api/open/notifications/publish`;
166
+ const res = await fetch(url, {
167
+ method: "POST",
168
+ headers: {
169
+ "Content-Type": "application/json",
170
+ Authorization: `Bearer ${jwt}`,
171
+ },
172
+ body: JSON.stringify({
173
+ appId,
174
+ title: input.title,
175
+ body: input.body,
176
+ data: input.data,
177
+ audience: input.audience ?? "subscribers",
178
+ }),
179
+ });
180
+ let json = null;
181
+ try {
182
+ json = (await res.json());
183
+ }
184
+ catch {
185
+ // Fall through to an HTTP-status-based error.
186
+ }
187
+ if (!json || typeof json.code !== "number") {
188
+ throw new EazoNotificationPublishError(`Unexpected response from notifications.publish (HTTP ${res.status})`, res.status);
189
+ }
190
+ if (json.code !== 0) {
191
+ throw new EazoNotificationPublishError(json.message ?? "publish failed", json.code, json.data?.publishId);
192
+ }
193
+ if (!json.data) {
194
+ throw new EazoNotificationPublishError("publish succeeded but response is missing data", 500);
195
+ }
196
+ return json.data;
197
+ },
198
+ };
199
+ // ---------------------------------------------------------------------------
200
+ // Public app info — server-side prefetch helper
201
+ // ---------------------------------------------------------------------------
202
+ //
203
+ // Re-exported so host apps can prefetch the public `PublicAppInfo` from a
204
+ // Server Component (Next.js layout, Remix loader, etc.) and pass it to
205
+ // `<EazoProvider initialAppInfo>` — the handoff banner then renders real
206
+ // content on first paint, no skeleton flash. The implementation itself
207
+ // lives in `internal/banner-ui/app-info.ts` and is pure `fetch`, so it
208
+ // runs unchanged on Node ≥18 and Edge runtimes.
209
+ var app_info_1 = require("./internal/banner-ui/app-info");
210
+ Object.defineProperty(exports, "fetchPublicAppInfo", { enumerable: true, get: function () { return app_info_1.fetchPublicAppInfo; } });
53
211
  //# sourceMappingURL=server.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":";;AAgDA,kCAiBC;AAjED,8DAA2D;AAK3D,IAAI,UAAU,GAA0B,IAAI,CAAC;AAE7C,SAAS,aAAa;IACpB,IAAI,UAAU;QAAE,OAAO,UAAU,CAAC;IAClC,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC;IAChD,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,MAAM,IAAI,KAAK,CACb,mEAAmE,CACpE,CAAC;IACJ,CAAC;IACD,UAAU,GAAG,IAAI,+BAAc,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC;IAChD,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,SAAS,SAAS,CAAC,IAAc;IAC/B,OAAO;QACL,EAAE,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;QACvB,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,IAAI;QACzB,IAAI,EAAE,IAAI,CAAC,QAAQ,IAAI,IAAI;QAC3B,SAAS,EAAE,IAAI,CAAC,SAAS,IAAI,IAAI;KAClC,CAAC;AACJ,CAAC;AAWD,SAAS,YAAY,CAAC,OAAe;IACnC,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,EAAE;QACtD,MAAM,EAAE,GAAG;QACX,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;KAChD,CAAC,CAAC;AACL,CAAC;AAED;;;GAGG;AACH,SAAgB,WAAW,CAAC,OAAsB;IAChD,MAAM,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;IAClD,IAAI,CAAC,GAAG;QAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,YAAY,CAAC,iBAAiB,CAAC,EAAE,CAAC;IAE1E,IAAI,MAAoB,CAAC;IACzB,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAiB,CAAC;IAC3C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,YAAY,CAAC,mBAAmB,CAAC,EAAE,CAAC;IACpE,CAAC;IAED,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,aAAa,EAAE,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QACnD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;IAC7C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,YAAY,CAAC,iBAAiB,CAAC,EAAE,CAAC;IAClE,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -11,7 +11,6 @@ export interface User {
11
11
  export interface DeviceContext {
12
12
  platform: "web" | "mobile";
13
13
  locale: string;
14
- backendUrl: string;
15
14
  }
16
15
  export interface AuthState {
17
16
  user: User | null;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,WAAW,IAAI;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,KAAK,GAAG,QAAQ,CAAC;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;IACjB,aAAa,EAAE,OAAO,CAAC;CACxB;AAED;;;GAGG;AACH,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,SAAS,CAAC;IAChB,MAAM,EAAE,aAAa,CAAC;CACvB"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,WAAW,IAAI;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,KAAK,GAAG,QAAQ,CAAC;IAC3B,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;IACjB,aAAa,EAAE,OAAO,CAAC;CACxB;AAED;;;GAGG;AACH,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,SAAS,CAAC;IAChB,MAAM,EAAE,aAAa,CAAC;CACvB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@eazo/sdk",
3
- "version": "0.11.0",
3
+ "version": "0.14.0",
4
4
  "description": "Eazo platform SDK — capability-first API for web apps that run on Eazo Mobile and the web browser",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -10,6 +10,10 @@
10
10
  "default": "./dist/index.js"
11
11
  },
12
12
  "./react": {
13
+ "react-server": {
14
+ "types": "./dist/react.server.d.ts",
15
+ "default": "./dist/react.server.js"
16
+ },
13
17
  "types": "./dist/react.d.ts",
14
18
  "default": "./dist/react.js"
15
19
  },
@@ -46,7 +50,8 @@
46
50
  "@radix-ui/react-dialog": "^1.1.4",
47
51
  "authing-js-sdk": "^4.23.55",
48
52
  "elliptic": "^6.6.1",
49
- "openai": "^6.34.0"
53
+ "openai": "^6.34.0",
54
+ "qrcode-generator": "^1.5.2"
50
55
  },
51
56
  "peerDependencies": {
52
57
  "react": ">=18"