@apteva/web-sdk 0.6.0 → 0.8.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/dist/client.js CHANGED
@@ -1,8 +1,11 @@
1
+ import { AuthSession } from "./auth-session.js";
2
+ import { loadAppFrontend } from "./frontend.js";
1
3
  import { AptevaError } from "./errors.js";
2
4
  const DEFAULT_TIMEOUT_MS = 30_000;
3
5
  export class AptevaClient {
4
6
  baseURL;
5
7
  apiKey;
8
+ appAuth;
6
9
  accessToken;
7
10
  projectId;
8
11
  fetchImpl;
@@ -21,10 +24,20 @@ export class AptevaClient {
21
24
  this.onUnauthorized = opts.onUnauthorized;
22
25
  this.timeoutMs = opts.timeoutMs ?? DEFAULT_TIMEOUT_MS;
23
26
  this.refreshTokenHook = opts.refreshAccessToken;
27
+ if (opts.auth) {
28
+ if (opts.apiKey || opts.accessToken || opts.refreshAccessToken)
29
+ throw new Error("Configure auth without apiKey, accessToken or refreshAccessToken");
30
+ this.appAuth = new AuthSession(this.baseURL, this.projectId || "", opts.auth, this.fetchImpl, token => {
31
+ this.accessToken = token;
32
+ this.credentialRevision++;
33
+ });
34
+ }
24
35
  }
25
36
  // Swap the API key at runtime. An accessToken, when configured, continues
26
37
  // to take precedence. Pass undefined to fall back to access-token/cookie auth.
27
38
  setApiKey(key) {
39
+ if (this.appAuth)
40
+ throw new Error("Auth manages credentials; use auth.login/logout");
28
41
  this.apiKey = key;
29
42
  this.credentialRevision++;
30
43
  }
@@ -35,6 +48,8 @@ export class AptevaClient {
35
48
  // opaque to the SDK: no issuer-specific prefix or response type is required.
36
49
  // Pass undefined to fall back to apiKey, then cookie auth.
37
50
  setAccessToken(token) {
51
+ if (this.appAuth)
52
+ throw new Error("Auth manages credentials; use auth.login/logout");
38
53
  this.accessToken = token;
39
54
  this.credentialRevision++;
40
55
  }
@@ -43,6 +58,10 @@ export class AptevaClient {
43
58
  }
44
59
  /** Refresh once for concurrent callers. Undefined leaves credentials unchanged. */
45
60
  async refreshAccessToken() {
61
+ if (this.appAuth) {
62
+ await this.appAuth.token(true);
63
+ return true;
64
+ }
46
65
  if (!this.refreshTokenHook)
47
66
  return false;
48
67
  if (this.pendingTokenRefresh)
@@ -82,11 +101,32 @@ export class AptevaClient {
82
101
  // on the server side that subsequent requests pick up automatically
83
102
  // when credentials: "include" is sent.
84
103
  auth = {
85
- register: (email, password, name) => this.post("/api/auth/register", { email, password, name }),
86
- login: (email, password) => this.post("/api/auth/login", { email, password }),
87
- logout: () => this.post("/api/auth/logout", {}),
88
- me: () => this.get("/api/auth/me"),
89
- status: () => this.get("/api/auth/status"),
104
+ register: (email, password, name) => {
105
+ if (this.appAuth)
106
+ return this.appAuth.register(typeof email === "string" ? { email, password: password || "", displayName: name } : email);
107
+ if (typeof email !== "string")
108
+ throw new Error("Object signup requires auth configuration");
109
+ return this.post("/api/auth/register", { email, password, name });
110
+ },
111
+ login: (email, password) => {
112
+ if (this.appAuth)
113
+ return this.appAuth.login(typeof email === "string" ? { email, password: password || "" } : email);
114
+ if (typeof email !== "string")
115
+ throw new Error("Object login requires auth configuration");
116
+ return this.post("/api/auth/login", { email, password });
117
+ },
118
+ logout: () => this.appAuth ? this.appAuth.logout() : this.post("/api/auth/logout", {}),
119
+ me: () => this.appAuth ? this.appAuth.me() : this.get("/api/auth/me"),
120
+ getSession: () => this.appAuth?.info(),
121
+ refresh: async () => {
122
+ if (!this.appAuth)
123
+ throw new Error("Session refresh requires auth configuration");
124
+ await this.appAuth.token(true);
125
+ return this.appAuth.info();
126
+ },
127
+ status: () => this.appAuth
128
+ ? Promise.resolve({ authenticated: Boolean(this.appAuth.info()), user: this.appAuth.info()?.user })
129
+ : this.get("/api/auth/status"),
90
130
  changePassword: (current, next) => this.post("/api/auth/password", { current, next }),
91
131
  listKeys: () => this.get("/api/auth/keys"),
92
132
  createKey: (name) => this.post("/api/auth/keys", { name }),
@@ -365,6 +405,8 @@ export class AptevaClient {
365
405
  return extension.create({ app: this.app(extension.app, scope) });
366
406
  }
367
407
  apps = {
408
+ /** Load an installed app’s bundled client and optional React UI. */
409
+ load: (name, options) => loadAppFrontend(this.app(name, options), options),
368
410
  /** Requires the platform's existing app-list permission. No auth bypass. */
369
411
  list: (scope = {}, init) => {
370
412
  const projectId = scope.projectId ?? this.projectId;
@@ -451,7 +493,7 @@ export class AptevaClient {
451
493
  // detection remains only as a compatibility fallback for legacy callers
452
494
  // that passed a delegated token through apiKey.
453
495
  const bearerToken = this.bearerToken();
454
- if (opts?.transport === "fetch" || opts?.lastEventId !== undefined || opts?.cursorParam ||
496
+ if (this.appAuth || opts?.transport === "fetch" || opts?.lastEventId !== undefined || opts?.cursorParam ||
455
497
  opts?.deduplicate || opts?.reconnectDelayMs !== undefined ||
456
498
  (bearerToken && (this.isAccessTokenCredential() || !opts?.EventSource))) {
457
499
  return this.bindAbortSignal(this.subscribeWithFetch(path, params, onEvent, opts), opts?.signal);
@@ -539,11 +581,21 @@ export class AptevaClient {
539
581
  reconnectTimer = undefined;
540
582
  wakeReconnect = undefined;
541
583
  });
584
+ const detachAuth = this.appAuth?.onClear(() => close());
542
585
  const run = async () => {
543
586
  while (!closed) {
544
587
  controller = new AbortController();
545
- const revision = this.credentialRevision;
588
+ let revision = this.credentialRevision;
589
+ let expiryTimer;
546
590
  try {
591
+ if (this.appAuth) {
592
+ await this.appAuth.token();
593
+ if (closed)
594
+ break;
595
+ revision = this.credentialRevision;
596
+ const deadline = this.appAuth.platformDeadline();
597
+ expiryTimer = setTimeout(() => controller?.abort(), Math.max(1, deadline - Date.now()));
598
+ }
547
599
  const url = new URL(this.baseURL + path, "http://_");
548
600
  for (const [key, value] of Object.entries(params ?? {})) {
549
601
  if (value !== undefined && value !== "")
@@ -551,6 +603,8 @@ export class AptevaClient {
551
603
  }
552
604
  if (opts?.cursorParam && lastEventId)
553
605
  url.searchParams.set(opts.cursorParam, lastEventId);
606
+ if (this.appAuth && ["api_key", "access_token"].some(key => url.searchParams.has(key)))
607
+ throw new AptevaError(403, "Auth mode does not accept URL credentials");
554
608
  const headers = new Headers({ Accept: "text/event-stream" });
555
609
  const bearerToken = this.bearerToken();
556
610
  if (bearerToken)
@@ -560,6 +614,7 @@ export class AptevaClient {
560
614
  const response = await this.fetchImpl(this.baseURL + url.pathname + url.search, {
561
615
  method: "GET", headers,
562
616
  credentials: this.isAccessTokenCredential() ? "omit" : "include",
617
+ ...(this.appAuth ? { redirect: "error" } : {}),
563
618
  signal: controller.signal,
564
619
  });
565
620
  if (closed) {
@@ -573,7 +628,8 @@ export class AptevaClient {
573
628
  renewedSinceOpen = renewed;
574
629
  if (closed)
575
630
  break;
576
- this.onUnauthorized?.();
631
+ if (!this.appAuth || !renewed)
632
+ this.onUnauthorized?.();
577
633
  reportError(new AptevaError(401, "SSE connection failed (401)"));
578
634
  if (!renewed) {
579
635
  close();
@@ -695,8 +751,12 @@ export class AptevaClient {
695
751
  if (closed)
696
752
  break;
697
753
  reportError(error);
754
+ if (this.appAuth && error instanceof AptevaError && (error.status === 401 || error.status === 403))
755
+ close();
698
756
  }
699
757
  finally {
758
+ if (expiryTimer)
759
+ clearTimeout(expiryTimer);
700
760
  if (reader) {
701
761
  try {
702
762
  await reader.cancel();
@@ -711,7 +771,7 @@ export class AptevaClient {
711
771
  await waitToReconnect();
712
772
  }
713
773
  };
714
- void run();
774
+ void run().finally(() => detachAuth?.());
715
775
  return { close };
716
776
  }
717
777
  // --- internals ---
@@ -744,12 +804,21 @@ export class AptevaClient {
744
804
  return url.pathname + url.search + url.hash;
745
805
  }
746
806
  bearerToken() {
747
- return this.accessToken || this.apiKey;
807
+ return this.appAuth ? this.accessToken : this.accessToken || this.apiKey;
748
808
  }
749
809
  isAccessTokenCredential() {
750
- return Boolean(this.accessToken) || Boolean(this.apiKey?.startsWith("uk_"));
810
+ return Boolean(this.appAuth) || Boolean(this.accessToken) || Boolean(this.apiKey?.startsWith("uk_"));
751
811
  }
752
812
  async request(method, path, body, init) {
813
+ if (this.appAuth) {
814
+ if (path.startsWith("/api/auth/"))
815
+ throw new AptevaError(403, "Platform administrator auth is unavailable in app Auth mode");
816
+ if (["api_key", "access_token"].some(key => new URL(path, "http://_").searchParams.has(key)))
817
+ throw new AptevaError(403, "Auth mode does not accept URL credentials");
818
+ if (new Headers(init?.headers).has("Authorization"))
819
+ throw new AptevaError(403, "Auth mode does not accept credential overrides");
820
+ await this.appAuth.token();
821
+ }
753
822
  const url = this.baseURL + path;
754
823
  const revision = this.credentialRevision;
755
824
  const headers = new Headers(init?.headers);
@@ -776,6 +845,7 @@ export class AptevaClient {
776
845
  method,
777
846
  credentials: this.isAccessTokenCredential() ? "omit" : "include",
778
847
  ...init,
848
+ ...(this.appAuth ? { credentials: "omit", redirect: "error" } : {}),
779
849
  headers,
780
850
  body: body === undefined ? init?.body : JSON.stringify(body),
781
851
  signal: ac?.signal ?? init?.signal,
@@ -783,9 +853,9 @@ export class AptevaClient {
783
853
  if (res.status === 401) {
784
854
  const text = await readBody(res);
785
855
  // Renew for subsequent calls, but never replay an HTTP operation.
786
- if (!new Headers(init?.headers).has("Authorization"))
787
- await this.renewAfterUnauthorized(revision);
788
- this.onUnauthorized?.();
856
+ const renewed = !new Headers(init?.headers).has("Authorization") && await this.renewAfterUnauthorized(revision);
857
+ if (!this.appAuth || !renewed)
858
+ this.onUnauthorized?.();
789
859
  throw new AptevaError(401, text || "unauthorized");
790
860
  }
791
861
  if (!res.ok) {
@@ -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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"}
@@ -32,7 +32,8 @@ export interface AppComponentContext {
32
32
  }
33
33
  /**
34
34
  * Explicit local exports only. T may be a React component, a Vue component,
35
- * or a host-owned loader. The SDK neither imports server URLs nor renders UI.
35
+ * or a host-owned loader. This registry does not load or render UI;
36
+ * use apps.load separately for explicit installed-app frontend loading.
36
37
  */
37
38
  export declare class AppComponentRegistry<T> {
38
39
  private readonly apps;
@@ -1 +1 @@
1
- {"version":3,"file":"components.d.ts","sourceRoot":"","sources":["../src/components.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE7C,+DAA+D;AAC/D,MAAM,WAAW,qBAAqB;IACpC,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACjC;AAED,sEAAsE;AACtE,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;IACpC,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC1C,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACxC,MAAM,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;CAC5C;AAED,mFAAmF;AACnF,MAAM,WAAW,mBAAmB;IAClC,GAAG,EAAE,SAAS,CAAC;CAChB;AAED;;;GAGG;AACH,qBAAa,oBAAoB,CAAC,CAAC;IACjC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAqC;IAE1D,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,GAAG,MAAM,IAAI;IAmB1E,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,qBAAqB,EAAE,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,SAAS;CAG/E"}
1
+ {"version":3,"file":"components.d.ts","sourceRoot":"","sources":["../src/components.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE7C,+DAA+D;AAC/D,MAAM,WAAW,qBAAqB;IACpC,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACjC;AAED,sEAAsE;AACtE,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;IACpC,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC1C,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACxC,MAAM,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;CAC5C;AAED,mFAAmF;AACnF,MAAM,WAAW,mBAAmB;IAClC,GAAG,EAAE,SAAS,CAAC;CAChB;AAED;;;;GAIG;AACH,qBAAa,oBAAoB,CAAC,CAAC;IACjC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAqC;IAE1D,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,GAAG,MAAM,IAAI;IAmB1E,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,qBAAqB,EAAE,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,SAAS;CAG/E"}
@@ -1,6 +1,7 @@
1
1
  /**
2
2
  * Explicit local exports only. T may be a React component, a Vue component,
3
- * or a host-owned loader. The SDK neither imports server URLs nor renders UI.
3
+ * or a host-owned loader. This registry does not load or render UI;
4
+ * use apps.load separately for explicit installed-app frontend loading.
4
5
  */
5
6
  export class AppComponentRegistry {
6
7
  apps = new Map();
@@ -1 +1 @@
1
- {"version":3,"file":"components.js","sourceRoot":"","sources":["../src/components.ts"],"names":[],"mappings":"AAiCA;;;GAGG;AACH,MAAM,OAAO,oBAAoB;IACd,IAAI,GAAG,IAAI,GAAG,EAA0B,CAAC;IAE1D,QAAQ,CAAC,GAAW,EAAE,UAAuC;QAC3D,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;QACzE,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAC3C,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,IAAI,GAAG,EAAa,CAAC;QAC9D,KAAK,MAAM,CAAC,IAAI,CAAC,IAAI,OAAO,EAAE,CAAC;YAC7B,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;gBAAE,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;YACtE,IAAI,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,iCAAiC,GAAG,IAAI,IAAI,EAAE,CAAC,CAAC;QAC5F,CAAC;QACD,KAAK,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,IAAI,OAAO;YAAE,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QACzE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;QAC/B,IAAI,QAAQ,GAAG,KAAK,CAAC;QACrB,OAAO,GAAG,EAAE;YACV,IAAI,QAAQ;gBAAE,OAAO;YACrB,QAAQ,GAAG,IAAI,CAAC;YAChB,KAAK,MAAM,CAAC,IAAI,CAAC,IAAI,OAAO;gBAAE,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACtD,IAAI,CAAC,UAAU,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,UAAU;gBAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACnF,CAAC,CAAC;IACJ,CAAC;IAED,OAAO,CAAC,SAAsD;QAC5D,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAC3D,CAAC;CACF"}
1
+ {"version":3,"file":"components.js","sourceRoot":"","sources":["../src/components.ts"],"names":[],"mappings":"AAiCA;;;;GAIG;AACH,MAAM,OAAO,oBAAoB;IACd,IAAI,GAAG,IAAI,GAAG,EAA0B,CAAC;IAE1D,QAAQ,CAAC,GAAW,EAAE,UAAuC;QAC3D,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;QACzE,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAC3C,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,IAAI,GAAG,EAAa,CAAC;QAC9D,KAAK,MAAM,CAAC,IAAI,CAAC,IAAI,OAAO,EAAE,CAAC;YAC7B,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;gBAAE,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;YACtE,IAAI,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,iCAAiC,GAAG,IAAI,IAAI,EAAE,CAAC,CAAC;QAC5F,CAAC;QACD,KAAK,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,IAAI,OAAO;YAAE,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QACzE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;QAC/B,IAAI,QAAQ,GAAG,KAAK,CAAC;QACrB,OAAO,GAAG,EAAE;YACV,IAAI,QAAQ;gBAAE,OAAO;YACrB,QAAQ,GAAG,IAAI,CAAC;YAChB,KAAK,MAAM,CAAC,IAAI,CAAC,IAAI,OAAO;gBAAE,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACtD,IAAI,CAAC,UAAU,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,UAAU;gBAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACnF,CAAC,CAAC;IACJ,CAAC;IAED,OAAO,CAAC,SAAsD;QAC5D,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAC3D,CAAC;CACF"}
@@ -0,0 +1,40 @@
1
+ import type { AppHandle } from "./client.js";
2
+ import type { AppScope } from "./extensions.js";
3
+ export interface FrontendAsset {
4
+ path: string;
5
+ sha256: string;
6
+ }
7
+ export interface AppFrontendManifest {
8
+ schema: "apteva-app-frontend/v1";
9
+ app: string;
10
+ version: string;
11
+ client: FrontendAsset;
12
+ ui?: FrontendAsset & {
13
+ reactMajor: number;
14
+ components: string[];
15
+ };
16
+ styles?: FrontendAsset;
17
+ }
18
+ export interface LoadAppOptions extends AppScope {
19
+ /** Omit for headless use. Pass the host's React namespace for components. */
20
+ react?: {
21
+ version: string;
22
+ createElement: unknown;
23
+ [name: string]: unknown;
24
+ };
25
+ clientOptions?: unknown;
26
+ expectedVersion?: string;
27
+ signal?: AbortSignal;
28
+ /** Defaults to the current document when React is supplied. */
29
+ document?: Document;
30
+ }
31
+ export interface LoadedAppFrontend<TClient = unknown, TComponent = unknown> {
32
+ version: string;
33
+ client: TClient;
34
+ components: Readonly<Record<string, TComponent>>;
35
+ /** Release this mount's stylesheet after unmounting its components. */
36
+ dispose(): void;
37
+ }
38
+ /** Explicitly execute frontend code from a trusted installed app. No npm app package is needed. */
39
+ export declare function loadAppFrontend<TClient = unknown, TComponent = unknown>(app: AppHandle, options?: LoadAppOptions): Promise<LoadedAppFrontend<TClient, TComponent>>;
40
+ //# sourceMappingURL=frontend.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"frontend.d.ts","sourceRoot":"","sources":["../src/frontend.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAEhD,MAAM,WAAW,aAAa;IAAG,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE;AAC/D,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,wBAAwB,CAAC;IACjC,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,aAAa,CAAC;IACtB,EAAE,CAAC,EAAE,aAAa,GAAG;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IAClE,MAAM,CAAC,EAAE,aAAa,CAAC;CACxB;AACD,MAAM,WAAW,cAAe,SAAQ,QAAQ;IAC9C,6EAA6E;IAC7E,KAAK,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,OAAO,CAAC;QAAC,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,CAAC;IAC7E,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,+DAA+D;IAC/D,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACrB;AACD,MAAM,WAAW,iBAAiB,CAAC,OAAO,GAAG,OAAO,EAAE,UAAU,GAAG,OAAO;IACxE,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,OAAO,CAAC;IAChB,UAAU,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC;IACjD,uEAAuE;IACvE,OAAO,IAAI,IAAI,CAAC;CACjB;AAwED,mGAAmG;AACnG,wBAAsB,eAAe,CAAC,OAAO,GAAG,OAAO,EAAE,UAAU,GAAG,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,iBAAiB,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,CAgC5K"}
@@ -0,0 +1,120 @@
1
+ const modules = new Map();
2
+ const styles = new WeakMap();
3
+ function asset(value, extension) {
4
+ const a = value;
5
+ if (!a || typeof a.path !== "string" || !/^\/ui\/[a-zA-Z0-9_./-]+$/.test(a.path) ||
6
+ a.path.slice(1).split("/").some(part => !part || part === "." || part === "..") ||
7
+ !a.path.endsWith(extension) || !/^[a-f0-9]{64}$/.test(a.sha256)) {
8
+ throw new Error("Invalid app frontend asset: expected a hashed, app-local /ui/ path");
9
+ }
10
+ }
11
+ function manifest(value, name) {
12
+ const m = value;
13
+ if (!m || m.schema !== "apteva-app-frontend/v1" || m.app !== name || typeof m.version !== "string" || !m.version) {
14
+ throw new Error("Unsupported or mismatched app frontend manifest");
15
+ }
16
+ asset(m.client, ".mjs");
17
+ if (m.ui) {
18
+ asset(m.ui, ".mjs");
19
+ if (!Number.isSafeInteger(m.ui.reactMajor) || m.ui.reactMajor < 1 || !Array.isArray(m.ui.components) ||
20
+ m.ui.components.some(name => typeof name !== "string" || !name || name === "__proto__") || new Set(m.ui.components).size !== m.ui.components.length) {
21
+ throw new Error("Invalid app frontend component declaration");
22
+ }
23
+ }
24
+ if (m.styles)
25
+ asset(m.styles, ".css");
26
+ return m;
27
+ }
28
+ async function readAsset(app, entry, signal) {
29
+ const source = await app.get(`${entry.path}?sha256=${entry.sha256}`, { signal, cache: "force-cache", redirect: "error", headers: { Accept: "text/plain" } });
30
+ if (typeof source !== "string" || source.length > 8 * 1024 * 1024)
31
+ throw new Error("Invalid or oversized app frontend asset");
32
+ if (!globalThis.crypto?.subtle)
33
+ throw new Error("App frontend loading requires HTTPS or localhost");
34
+ const bytes = new TextEncoder().encode(source);
35
+ const hash = Array.from(new Uint8Array(await crypto.subtle.digest("SHA-256", bytes)), b => b.toString(16).padStart(2, "0")).join("");
36
+ if (hash !== entry.sha256)
37
+ throw new Error("App frontend integrity mismatch; retry after the app update finishes");
38
+ signal?.throwIfAborted();
39
+ return source;
40
+ }
41
+ async function importAsset(app, entry, signal) {
42
+ // The fresh manifest authorizes each load. Immutable asset URLs can use the
43
+ // browser cache; verify their bytes even when the module is already cached.
44
+ const source = await readAsset(app, entry, signal);
45
+ let pending = modules.get(entry.sha256);
46
+ if (!pending) {
47
+ const url = URL.createObjectURL(new Blob([source], { type: "text/javascript" }));
48
+ pending = import(/* @vite-ignore */ url).finally(() => URL.revokeObjectURL(url));
49
+ modules.set(entry.sha256, pending);
50
+ pending.catch(() => modules.delete(entry.sha256));
51
+ }
52
+ const loaded = await pending;
53
+ signal?.throwIfAborted();
54
+ return loaded;
55
+ }
56
+ function mountStyle(doc, hash, source) {
57
+ let entries = styles.get(doc);
58
+ if (!entries) {
59
+ entries = new Map();
60
+ styles.set(doc, entries);
61
+ }
62
+ let entry = entries.get(hash);
63
+ if (!entry) {
64
+ const element = doc.createElement("style");
65
+ element.dataset.aptevaFrontend = hash;
66
+ element.textContent = source;
67
+ doc.head.appendChild(element);
68
+ entry = { element, users: 0 };
69
+ entries.set(hash, entry);
70
+ }
71
+ entry.users++;
72
+ let disposed = false;
73
+ return () => { if (disposed)
74
+ return; disposed = true; if (--entry.users === 0) {
75
+ entry.element.remove();
76
+ entries.delete(hash);
77
+ } };
78
+ }
79
+ /** Explicitly execute frontend code from a trusted installed app. No npm app package is needed. */
80
+ export async function loadAppFrontend(app, options = {}) {
81
+ if (!app.projectId || !app.installId)
82
+ throw new Error("App frontend loading requires projectId and installId");
83
+ const spec = manifest(await app.get("/ui/frontend.json", { signal: options.signal, cache: "no-store", redirect: "error" }), app.name);
84
+ if (options.expectedVersion && spec.version !== options.expectedVersion)
85
+ throw new Error(`App frontend version ${spec.version} does not match ${options.expectedVersion}`);
86
+ if (options.react && (!spec.ui || Number(options.react.version.split(".")[0]) !== spec.ui.reactMajor || typeof options.react.createElement !== "function")) {
87
+ throw new Error(`App frontend requires React ${spec.ui?.reactMajor ?? "UI support"}`);
88
+ }
89
+ const doc = options.react ? options.document ?? globalThis.document : undefined;
90
+ if (options.react && !doc)
91
+ throw new Error("App frontend UI requires a document");
92
+ // Only metadata must arrive first; independent assets share the next round trip.
93
+ const [clientModule, ui, css] = await Promise.all([
94
+ importAsset(app, spec.client, options.signal),
95
+ options.react ? importAsset(app, spec.ui, options.signal) : undefined,
96
+ options.react && spec.styles ? readAsset(app, spec.styles, options.signal) : undefined,
97
+ ]);
98
+ if (typeof clientModule.createClient !== "function")
99
+ throw new Error("App frontend must export createClient");
100
+ const components = Object.create(null);
101
+ if (ui) {
102
+ if (typeof ui.createFrontend !== "function")
103
+ throw new Error("App frontend must export createFrontend");
104
+ const exports = ui.createFrontend({ react: options.react });
105
+ if (!exports || !exports.components)
106
+ throw new Error("App frontend did not return components");
107
+ for (const name of spec.ui.components) {
108
+ const component = Object.hasOwn(exports.components, name) ? exports.components[name] : undefined;
109
+ if (!component || (typeof component !== "function" && typeof component !== "object"))
110
+ throw new Error(`App frontend is missing component ${name}`);
111
+ components[name] = component;
112
+ }
113
+ }
114
+ options.signal?.throwIfAborted();
115
+ const client = await clientModule.createClient({ app }, options.clientOptions);
116
+ options.signal?.throwIfAborted();
117
+ const dispose = css !== undefined && doc ? mountStyle(doc, spec.styles.sha256, css) : () => { };
118
+ return { version: spec.version, client, components: Object.freeze(components), dispose };
119
+ }
120
+ //# sourceMappingURL=frontend.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"frontend.js","sourceRoot":"","sources":["../src/frontend.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -10,4 +10,7 @@ export type { AppComponentReference, AppComponentSpec, AppComponentContext } fro
10
10
  export { checkAppCompatibility, assertAppCompatibility } from "./apps.js";
11
11
  export type { InstalledApp, AppRequirements, AppCompatibility } from "./apps.js";
12
12
  export type { SSEEventMetadata } from "./types.js";
13
+ export { loadAppFrontend } from "./frontend.js";
14
+ export type { AppFrontendManifest, FrontendAsset, LoadAppOptions, LoadedAppFrontend } from "./frontend.js";
15
+ export type { AppAuthOptions, AuthLoginInput, AuthSignupInput, AuthUser, AuthAuthorization, AuthSessionInfo } from "./auth-session.js";
13
16
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACtD,YAAY,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EACL,mBAAmB,EACnB,YAAY,EACZ,WAAW,GACZ,MAAM,aAAa,CAAC;AACrB,YAAY,EACV,mBAAmB,EACnB,WAAW,EACX,YAAY,EACZ,UAAU,EACV,kBAAkB,EAClB,cAAc,EACd,eAAe,EACf,IAAI,EACJ,OAAO,EACP,wBAAwB,EACxB,kBAAkB,EAElB,KAAK,EACL,SAAS,EACT,cAAc,EACd,kBAAkB,EAClB,gBAAgB,EAChB,kBAAkB,EAClB,iBAAiB,EACjB,gBAAgB,EAChB,iBAAiB,EACjB,WAAW,EACX,oBAAoB,EACpB,cAAc,EACd,WAAW,EACX,kBAAkB,EAClB,gBAAgB,EAChB,MAAM,EACN,WAAW,EACX,kBAAkB,EAElB,cAAc,EACd,aAAa,EACb,cAAc,EACd,cAAc,EACd,eAAe,EACf,cAAc,EAEd,IAAI,EACJ,iBAAiB,EACjB,yBAAyB,EACzB,gBAAgB,EAChB,iBAAiB,EACjB,WAAW,EACX,aAAa,EACb,cAAc,EACd,eAAe,EACf,aAAa,EACb,iBAAiB,EACjB,iBAAiB,EACjB,WAAW,EAEX,YAAY,EACZ,gBAAgB,EAChB,eAAe,EACf,eAAe,GAChB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACrD,YAAY,EAAE,YAAY,EAAE,mBAAmB,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AACnF,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AACvD,YAAY,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACpG,OAAO,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAC;AAC1E,YAAY,EAAE,YAAY,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AACjF,YAAY,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACtD,YAAY,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EACL,mBAAmB,EACnB,YAAY,EACZ,WAAW,GACZ,MAAM,aAAa,CAAC;AACrB,YAAY,EACV,mBAAmB,EACnB,WAAW,EACX,YAAY,EACZ,UAAU,EACV,kBAAkB,EAClB,cAAc,EACd,eAAe,EACf,IAAI,EACJ,OAAO,EACP,wBAAwB,EACxB,kBAAkB,EAElB,KAAK,EACL,SAAS,EACT,cAAc,EACd,kBAAkB,EAClB,gBAAgB,EAChB,kBAAkB,EAClB,iBAAiB,EACjB,gBAAgB,EAChB,iBAAiB,EACjB,WAAW,EACX,oBAAoB,EACpB,cAAc,EACd,WAAW,EACX,kBAAkB,EAClB,gBAAgB,EAChB,MAAM,EACN,WAAW,EACX,kBAAkB,EAElB,cAAc,EACd,aAAa,EACb,cAAc,EACd,cAAc,EACd,eAAe,EACf,cAAc,EAEd,IAAI,EACJ,iBAAiB,EACjB,yBAAyB,EACzB,gBAAgB,EAChB,iBAAiB,EACjB,WAAW,EACX,aAAa,EACb,cAAc,EACd,eAAe,EACf,aAAa,EACb,iBAAiB,EACjB,iBAAiB,EACjB,WAAW,EAEX,YAAY,EACZ,gBAAgB,EAChB,eAAe,EACf,eAAe,GAChB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACrD,YAAY,EAAE,YAAY,EAAE,mBAAmB,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AACnF,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AACvD,YAAY,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACpG,OAAO,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAC;AAC1E,YAAY,EAAE,YAAY,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AACjF,YAAY,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAEnD,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,YAAY,EAAE,mBAAmB,EAAE,aAAa,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAE3G,YAAY,EAAE,cAAc,EAAE,cAAc,EAAE,eAAe,EAAE,QAAQ,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC"}