@axiom-lattice/react-sdk 2.1.90 → 2.1.92

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/index.d.mts CHANGED
@@ -726,6 +726,8 @@ interface PersonalAssistantInfo {
726
726
  assistantId: string;
727
727
  projectId: string;
728
728
  workspaceId: string;
729
+ /** tenantId for debugging cross-tenant leakage */
730
+ tenantId?: string | null;
729
731
  }
730
732
  interface AuthContextValue {
731
733
  user: User | null;
package/dist/index.d.ts CHANGED
@@ -726,6 +726,8 @@ interface PersonalAssistantInfo {
726
726
  assistantId: string;
727
727
  projectId: string;
728
728
  workspaceId: string;
729
+ /** tenantId for debugging cross-tenant leakage */
730
+ tenantId?: string | null;
729
731
  }
730
732
  interface AuthContextValue {
731
733
  user: User | null;
package/dist/index.js CHANGED
@@ -164,18 +164,24 @@ var AuthProvider = ({
164
164
  const [personalAssistant, setPersonalAssistant] = (0, import_react.useState)(null);
165
165
  const [isLoading, setIsLoading] = (0, import_react.useState)(false);
166
166
  const [error, setError] = (0, import_react.useState)(null);
167
+ const getPAKey = (tenantId) => tenantId ? `lattice_personal_assistant_${tenantId}` : "lattice_personal_assistant";
168
+ const currentTenantRef = (0, import_react.useRef)(currentTenant);
169
+ currentTenantRef.current = currentTenant;
167
170
  (0, import_react.useEffect)(() => {
168
171
  const storedUser = sessionStorage.getItem("lattice_user");
169
172
  const storedTenants = sessionStorage.getItem("lattice_tenants");
170
173
  const storedCurrentTenant = sessionStorage.getItem("lattice_current_tenant");
171
- const storedPA = sessionStorage.getItem("lattice_personal_assistant");
172
174
  if (storedUser) {
173
175
  try {
174
176
  const userData = JSON.parse(storedUser);
175
177
  setUser(userData);
176
178
  if (storedTenants) setTenants(JSON.parse(storedTenants));
177
- if (storedCurrentTenant) setCurrentTenant(JSON.parse(storedCurrentTenant));
178
- if (storedPA) setPersonalAssistant(JSON.parse(storedPA));
179
+ if (storedCurrentTenant) {
180
+ const ct = JSON.parse(storedCurrentTenant);
181
+ setCurrentTenant(ct);
182
+ const storedPA = sessionStorage.getItem(getPAKey(ct.id));
183
+ if (storedPA) setPersonalAssistant(JSON.parse(storedPA));
184
+ }
179
185
  } catch {
180
186
  sessionStorage.removeItem("lattice_user");
181
187
  sessionStorage.removeItem("lattice_tenants");
@@ -281,13 +287,18 @@ var AuthProvider = ({
281
287
  }
282
288
  const result = await response.json();
283
289
  const tenantData = result.data.tenant;
290
+ const oldTenantId = currentTenantRef.current?.id;
291
+ if (oldTenantId) {
292
+ sessionStorage.removeItem(getPAKey(oldTenantId));
293
+ }
284
294
  setCurrentTenant(tenantData);
285
295
  sessionStorage.setItem("lattice_current_tenant", JSON.stringify(tenantData));
286
296
  setPersonalAssistant(result.data.personalAssistant || null);
287
297
  if (result.data.personalAssistant) {
288
- sessionStorage.setItem("lattice_personal_assistant", JSON.stringify(result.data.personalAssistant));
298
+ const paWithTenant = { ...result.data.personalAssistant, tenantId: tenantData.id };
299
+ sessionStorage.setItem(getPAKey(tenantData.id), JSON.stringify(paWithTenant));
289
300
  } else {
290
- sessionStorage.removeItem("lattice_personal_assistant");
301
+ sessionStorage.removeItem(getPAKey(tenantData.id));
291
302
  }
292
303
  if (result.data.token) {
293
304
  sessionStorage.setItem("lattice_token", result.data.token);
@@ -411,9 +422,14 @@ var AuthProvider = ({
411
422
  }, [baseURL]);
412
423
  const wrappedSetPersonalAssistant = (0, import_react.useCallback)((info) => {
413
424
  setPersonalAssistant(info);
425
+ const tenantId = currentTenantRef.current?.id;
414
426
  if (info) {
415
- sessionStorage.setItem("lattice_personal_assistant", JSON.stringify(info));
427
+ const paWithTenant = { ...info, tenantId: tenantId || info.tenantId };
428
+ sessionStorage.setItem(getPAKey(tenantId), JSON.stringify(paWithTenant));
416
429
  } else {
430
+ if (tenantId) {
431
+ sessionStorage.removeItem(getPAKey(tenantId));
432
+ }
417
433
  sessionStorage.removeItem("lattice_personal_assistant");
418
434
  }
419
435
  }, []);
@@ -31599,7 +31615,7 @@ var PERSONALITY_MAP = {
31599
31615
  var PersonalAssistantPage = () => {
31600
31616
  const { styles } = useStyles20();
31601
31617
  const { get, post, del } = useApi();
31602
- const { personalAssistant, setPersonalAssistant } = useAuth();
31618
+ const { personalAssistant, setPersonalAssistant, currentTenant } = useAuth();
31603
31619
  const auth = useAuthOptional();
31604
31620
  const userName = auth?.user?.name || auth?.user?.email?.split("@")[0];
31605
31621
  const [creating, setCreating] = (0, import_react102.useState)(false);
@@ -31626,7 +31642,7 @@ var PersonalAssistantPage = () => {
31626
31642
  import_antd91.message.error(b.message);
31627
31643
  return;
31628
31644
  }
31629
- const info = { assistantId: b.data.id, projectId: b.data.projectId, workspaceId: b.data.workspaceId || "default" };
31645
+ const info = { assistantId: b.data.id, projectId: b.data.projectId, workspaceId: b.data.workspaceId || "default", tenantId: currentTenant?.id };
31630
31646
  setPersonalAssistant(info);
31631
31647
  import_antd91.message.success("Done!");
31632
31648
  } catch {