@stackframe/stack 2.8.34 → 2.8.36

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 (39) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/dist/esm/generated/global-css.js +1 -1
  3. package/dist/esm/generated/global-css.js.map +1 -1
  4. package/dist/esm/lib/stack-app/apps/implementations/admin-app-impl.js +21 -8
  5. package/dist/esm/lib/stack-app/apps/implementations/admin-app-impl.js.map +1 -1
  6. package/dist/esm/lib/stack-app/apps/implementations/client-app-impl.js +25 -2
  7. package/dist/esm/lib/stack-app/apps/implementations/client-app-impl.js.map +1 -1
  8. package/dist/esm/lib/stack-app/apps/implementations/common.js +1 -1
  9. package/dist/esm/lib/stack-app/apps/implementations/common.js.map +1 -1
  10. package/dist/esm/lib/stack-app/apps/implementations/server-app-impl.js +94 -15
  11. package/dist/esm/lib/stack-app/apps/implementations/server-app-impl.js.map +1 -1
  12. package/dist/esm/lib/stack-app/apps/interfaces/admin-app.js.map +1 -1
  13. package/dist/esm/lib/stack-app/apps/interfaces/client-app.js.map +1 -1
  14. package/dist/esm/lib/stack-app/apps/interfaces/server-app.js.map +1 -1
  15. package/dist/esm/lib/stack-app/data-vault/index.js +1 -0
  16. package/dist/esm/lib/stack-app/data-vault/index.js.map +1 -0
  17. package/dist/esm/providers/theme-provider.js +2 -1
  18. package/dist/esm/providers/theme-provider.js.map +1 -1
  19. package/dist/generated/global-css.js +1 -1
  20. package/dist/generated/global-css.js.map +1 -1
  21. package/dist/index.d.mts +98 -45
  22. package/dist/index.d.ts +98 -45
  23. package/dist/lib/stack-app/apps/implementations/admin-app-impl.js +21 -8
  24. package/dist/lib/stack-app/apps/implementations/admin-app-impl.js.map +1 -1
  25. package/dist/lib/stack-app/apps/implementations/client-app-impl.js +25 -2
  26. package/dist/lib/stack-app/apps/implementations/client-app-impl.js.map +1 -1
  27. package/dist/lib/stack-app/apps/implementations/common.js +1 -1
  28. package/dist/lib/stack-app/apps/implementations/common.js.map +1 -1
  29. package/dist/lib/stack-app/apps/implementations/server-app-impl.js +94 -15
  30. package/dist/lib/stack-app/apps/implementations/server-app-impl.js.map +1 -1
  31. package/dist/lib/stack-app/apps/interfaces/admin-app.js.map +1 -1
  32. package/dist/lib/stack-app/apps/interfaces/client-app.js.map +1 -1
  33. package/dist/lib/stack-app/apps/interfaces/server-app.js.map +1 -1
  34. package/dist/lib/stack-app/customers/index.js.map +1 -1
  35. package/dist/lib/stack-app/data-vault/index.js +19 -0
  36. package/dist/lib/stack-app/data-vault/index.js.map +1 -0
  37. package/dist/providers/theme-provider.js +2 -1
  38. package/dist/providers/theme-provider.js.map +1 -1
  39. package/package.json +4 -4
@@ -172,6 +172,11 @@ var __StackClientAppImplIncomplete = class __StackClientAppImplIncomplete {
172
172
  return await this._interface.getItem({ teamId, itemId }, session);
173
173
  }
174
174
  );
175
+ this._customItemCache = (0, import_common2.createCacheBySession)(
176
+ async (session, [customCustomerId, itemId]) => {
177
+ return await this._interface.getItem({ customCustomerId, itemId }, session);
178
+ }
179
+ );
175
180
  this._anonymousSignUpInProgress = null;
176
181
  this._memoryTokenStore = (0, import_common2.createEmptyTokenStore)();
177
182
  this._nextServerCookiesTokenStores = /* @__PURE__ */ new WeakMap();
@@ -1003,11 +1008,29 @@ var __StackClientAppImplIncomplete = class __StackClientAppImplIncomplete {
1003
1008
  const result = (0, import_common3.useAsyncCache)(cache, [session, userIdOrTeamId, itemId], "team.useItem()");
1004
1009
  return app._clientItemFromCrud(result);
1005
1010
  },
1006
- async createCheckoutUrl(offerIdOrInline) {
1007
- return await app._interface.createCheckoutUrl(userIdOrTeamId, offerIdOrInline, session);
1011
+ async createCheckoutUrl(options) {
1012
+ return await app._interface.createCheckoutUrl(type, userIdOrTeamId, options.offerId, session);
1008
1013
  }
1009
1014
  };
1010
1015
  }
1016
+ async getItem(options) {
1017
+ const session = await this._getSession();
1018
+ let crud;
1019
+ if ("userId" in options) {
1020
+ crud = import_results.Result.orThrow(await this._userItemCache.getOrWait([session, options.userId, options.itemId], "write-only"));
1021
+ } else if ("teamId" in options) {
1022
+ crud = import_results.Result.orThrow(await this._teamItemCache.getOrWait([session, options.teamId, options.itemId], "write-only"));
1023
+ } else {
1024
+ crud = import_results.Result.orThrow(await this._customItemCache.getOrWait([session, options.customCustomerId, options.itemId], "write-only"));
1025
+ }
1026
+ return this._clientItemFromCrud(crud);
1027
+ }
1028
+ useItem(options) {
1029
+ const session = this._useSession();
1030
+ const [cache, ownerId] = "userId" in options ? [this._userItemCache, options.userId] : "teamId" in options ? [this._teamItemCache, options.teamId] : [this._customItemCache, options.customCustomerId];
1031
+ const crud = (0, import_common3.useAsyncCache)(cache, [session, ownerId, options.itemId], "app.useItem()");
1032
+ return this._clientItemFromCrud(crud);
1033
+ }
1011
1034
  _currentUserFromCrud(crud, session) {
1012
1035
  const currentUser = {
1013
1036
  ...this._createBaseUser(crud),