@unisim/sdk 0.126.0 → 0.127.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/access.d.ts +22 -3
- package/dist/access.d.ts.map +1 -1
- package/dist/access.js +21 -30
- package/dist/access.js.map +1 -1
- package/dist/admin.d.ts +32 -28
- package/dist/admin.d.ts.map +1 -1
- package/dist/admin.js +59 -95
- package/dist/admin.js.map +1 -1
- package/dist/auth.d.ts +9 -0
- package/dist/auth.d.ts.map +1 -1
- package/dist/auth.js +16 -0
- package/dist/auth.js.map +1 -1
- package/dist/index.d.ts +3 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/seatSession.d.ts +48 -0
- package/dist/seatSession.d.ts.map +1 -0
- package/dist/seatSession.js +191 -0
- package/dist/seatSession.js.map +1 -0
- package/dist/types.d.ts +15 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/access.d.ts
CHANGED
|
@@ -1,13 +1,32 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { type SeatClaim } from './seatSession.js';
|
|
2
|
+
import type { ProductCode } from './types.js';
|
|
2
3
|
/** Whether the active org has base access to a product. */
|
|
3
4
|
export declare function useHasAccess(product: ProductCode): boolean;
|
|
4
5
|
/** Whether the active org has a specific feature flag granted. */
|
|
5
6
|
export declare function useHasFeature(featureKey: string): boolean;
|
|
6
7
|
export interface UseSeatResult {
|
|
7
|
-
|
|
8
|
+
/** True while this user is holding one of the org's concurrent seats. */
|
|
8
9
|
active: boolean;
|
|
10
|
+
/** Why not, when `active` is false — 'seats_full' is the one to render. */
|
|
11
|
+
reason: SeatClaim['reason'];
|
|
12
|
+
/** Seats the org is licensed for. */
|
|
13
|
+
seats: number;
|
|
14
|
+
/** Seats occupied across the org right now, this one included. */
|
|
15
|
+
inUse: number;
|
|
16
|
+
/** Minutes of idleness after which a seat frees itself. */
|
|
17
|
+
ttlMinutes: number;
|
|
9
18
|
loading: boolean;
|
|
10
19
|
}
|
|
11
|
-
/**
|
|
20
|
+
/**
|
|
21
|
+
* Take and hold one of the org's floating concurrent seats for as long as this
|
|
22
|
+
* component is mounted.
|
|
23
|
+
*
|
|
24
|
+
* ⚠️ This is not a read. Before 2026-09-04 it asked "is there a seats row with
|
|
25
|
+
* my name on it" — the named-seat model, which is not what we sell. A seat is
|
|
26
|
+
* now occupied by a live session and freed automatically when that session goes
|
|
27
|
+
* idle, so asking the question IS taking the seat. Only call it from a product
|
|
28
|
+
* that genuinely gates on a licensed seat; a free utility that calls it will
|
|
29
|
+
* take the customer's seat while it sits in a background tab.
|
|
30
|
+
*/
|
|
12
31
|
export declare function useSeat(): UseSeatResult;
|
|
13
32
|
//# sourceMappingURL=access.d.ts.map
|
package/dist/access.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"access.d.ts","sourceRoot":"","sources":["../src/access.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"access.d.ts","sourceRoot":"","sources":["../src/access.ts"],"names":[],"mappings":"AAIA,OAAO,EAAkB,KAAK,SAAS,EAAE,MAAM,kBAAkB,CAAA;AACjE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AA6C7C,2DAA2D;AAC3D,wBAAgB,YAAY,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAG1D;AAED,kEAAkE;AAClE,wBAAgB,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAQzD;AAED,MAAM,WAAW,aAAa;IAC5B,yEAAyE;IACzE,MAAM,EAAM,OAAO,CAAA;IACnB,2EAA2E;IAC3E,MAAM,EAAM,SAAS,CAAC,QAAQ,CAAC,CAAA;IAC/B,qCAAqC;IACrC,KAAK,EAAO,MAAM,CAAA;IAClB,kEAAkE;IAClE,KAAK,EAAO,MAAM,CAAA;IAClB,2DAA2D;IAC3D,UAAU,EAAE,MAAM,CAAA;IAClB,OAAO,EAAK,OAAO,CAAA;CACpB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,OAAO,IAAI,aAAa,CAUvC"}
|
package/dist/access.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
import { useEffect, useState } from 'react';
|
|
3
3
|
import { useUniversal } from './provider.js';
|
|
4
|
+
import { useSeatSession } from './seatSession.js';
|
|
4
5
|
function useAccessRows() {
|
|
5
6
|
const { supabase, session, activeOrgId } = useUniversal();
|
|
6
7
|
const [state, setState] = useState({ rows: [], loading: true });
|
|
@@ -41,36 +42,26 @@ export function useHasFeature(featureKey) {
|
|
|
41
42
|
const feature = rest.join('.');
|
|
42
43
|
return rows.some((r) => r.product === product && r.feature === feature && r.granted);
|
|
43
44
|
}
|
|
44
|
-
/**
|
|
45
|
+
/**
|
|
46
|
+
* Take and hold one of the org's floating concurrent seats for as long as this
|
|
47
|
+
* component is mounted.
|
|
48
|
+
*
|
|
49
|
+
* ⚠️ This is not a read. Before 2026-09-04 it asked "is there a seats row with
|
|
50
|
+
* my name on it" — the named-seat model, which is not what we sell. A seat is
|
|
51
|
+
* now occupied by a live session and freed automatically when that session goes
|
|
52
|
+
* idle, so asking the question IS taking the seat. Only call it from a product
|
|
53
|
+
* that genuinely gates on a licensed seat; a free utility that calls it will
|
|
54
|
+
* take the customer's seat while it sits in a background tab.
|
|
55
|
+
*/
|
|
45
56
|
export function useSeat() {
|
|
46
|
-
const
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
.from('seats')
|
|
56
|
-
.select('*')
|
|
57
|
-
.eq('org_id', activeOrgId)
|
|
58
|
-
.eq('assigned_user_id', session.user.id)
|
|
59
|
-
.eq('status', 'active')
|
|
60
|
-
.maybeSingle()
|
|
61
|
-
.then(({ data }) => {
|
|
62
|
-
if (cancelled)
|
|
63
|
-
return;
|
|
64
|
-
setState({
|
|
65
|
-
seat: data ?? null,
|
|
66
|
-
active: !!data,
|
|
67
|
-
loading: false,
|
|
68
|
-
});
|
|
69
|
-
});
|
|
70
|
-
return () => {
|
|
71
|
-
cancelled = true;
|
|
72
|
-
};
|
|
73
|
-
}, [supabase, session, activeOrgId]);
|
|
74
|
-
return state;
|
|
57
|
+
const claim = useSeatSession();
|
|
58
|
+
return {
|
|
59
|
+
active: claim.held,
|
|
60
|
+
reason: claim.reason,
|
|
61
|
+
seats: claim.seats,
|
|
62
|
+
inUse: claim.inUse,
|
|
63
|
+
ttlMinutes: claim.ttlMinutes,
|
|
64
|
+
loading: claim.loading,
|
|
65
|
+
};
|
|
75
66
|
}
|
|
76
67
|
//# sourceMappingURL=access.js.map
|
package/dist/access.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"access.js","sourceRoot":"","sources":["../src/access.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;AAEZ,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;
|
|
1
|
+
{"version":3,"file":"access.js","sourceRoot":"","sources":["../src/access.ts"],"names":[],"mappings":"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"}
|
package/dist/admin.d.ts
CHANGED
|
@@ -9,36 +9,31 @@ export declare function useOrgMembers(orgId?: string): UseOrgMembersResult;
|
|
|
9
9
|
export interface UseOrgSeatsResult {
|
|
10
10
|
seats: Seat[];
|
|
11
11
|
pool: SeatPool;
|
|
12
|
+
/** True for a seat whose holder is still inside the idle TTL. */
|
|
13
|
+
isLive: (seat: Seat) => boolean;
|
|
12
14
|
loading: boolean;
|
|
13
15
|
refresh: () => void;
|
|
14
16
|
}
|
|
17
|
+
/**
|
|
18
|
+
* The org's concurrent-seat pool and who is in it RIGHT NOW.
|
|
19
|
+
*
|
|
20
|
+
* ⚠️ This is a snapshot of a moving number. Seats free themselves as people go
|
|
21
|
+
* idle, so two reads a minute apart legitimately differ, and a stale row on
|
|
22
|
+
* screen is normal rather than a bug. Callers that show it should offer a
|
|
23
|
+
* refresh rather than pretending it is settled state.
|
|
24
|
+
*/
|
|
15
25
|
export declare function useOrgSeats(orgId?: string): UseOrgSeatsResult;
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
export
|
|
27
|
-
ok: true;
|
|
28
|
-
} | {
|
|
29
|
-
ok: false;
|
|
30
|
-
error: string;
|
|
31
|
-
}>;
|
|
32
|
-
export declare function reassignSeat(supabase: ReturnType<typeof useUniversal>['supabase'], args: {
|
|
33
|
-
seatId: string;
|
|
34
|
-
newUserId: string;
|
|
35
|
-
assignedByUserId: string;
|
|
36
|
-
}): Promise<{
|
|
37
|
-
ok: true;
|
|
38
|
-
} | {
|
|
39
|
-
ok: false;
|
|
40
|
-
error: string;
|
|
41
|
-
}>;
|
|
26
|
+
/**
|
|
27
|
+
* Sign a colleague out of the concurrent seat they are holding, freeing it for
|
|
28
|
+
* someone else (org admin, or the platform admin from god-mode).
|
|
29
|
+
*
|
|
30
|
+
* ⚠️ This replaced `assignSeat` / `revokeSeat` / `reassignSeat` on 2026-09-04.
|
|
31
|
+
* Those managed a NAMED assignment — giving a person a seat, taking it back —
|
|
32
|
+
* which is not what a floating concurrent licence is. There is no assignment
|
|
33
|
+
* left to make: a seat is taken by whoever opens the product next, and the only
|
|
34
|
+
* meaningful admin action is ending a session that is holding one.
|
|
35
|
+
*/
|
|
36
|
+
export { adminReleaseSeat, releaseHeldSeat, seatIdleTtlMinutes } from './seatSession.js';
|
|
42
37
|
export interface UseAuditLogOptions {
|
|
43
38
|
limit?: number;
|
|
44
39
|
orgId?: string;
|
|
@@ -239,11 +234,20 @@ export interface EntitlementVerdict {
|
|
|
239
234
|
/** Final yes/no — true if the user can start a new assessment right now. */
|
|
240
235
|
authorised: boolean;
|
|
241
236
|
/** Why not, when `authorised` is false. */
|
|
242
|
-
reason: null | 'loading' | 'no_org'
|
|
237
|
+
reason: null | 'loading' | 'no_org'
|
|
238
|
+
/** Every licensed concurrent seat is occupied by a colleague right now.
|
|
239
|
+
* Temporary by nature — unlike the others, waiting fixes it. */
|
|
240
|
+
| 'seats_full' | 'no_seat' | 'no_subscription' | 'expired_and_out_of_credits';
|
|
243
241
|
/** Active subscription details, when present. */
|
|
244
242
|
subscription: Subscription | null;
|
|
245
|
-
/** True if the user
|
|
243
|
+
/** True if the user is holding one of the org's concurrent seats. */
|
|
246
244
|
hasActiveSeat: boolean;
|
|
245
|
+
/** Seats the org is licensed for (0 until loaded). */
|
|
246
|
+
seatCount: number;
|
|
247
|
+
/** Seats occupied across the org right now. */
|
|
248
|
+
seatsInUse: number;
|
|
249
|
+
/** Minutes of idleness after which an occupied seat frees itself. */
|
|
250
|
+
seatIdleTtlMinutes: number;
|
|
247
251
|
/** True if subscription.current_period_end > now. */
|
|
248
252
|
hasActiveSubscription: boolean;
|
|
249
253
|
/** True if subscription.credits > 0. */
|
package/dist/admin.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"admin.d.ts","sourceRoot":"","sources":["../src/admin.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;
|
|
1
|
+
{"version":3,"file":"admin.d.ts","sourceRoot":"","sources":["../src/admin.ts"],"names":[],"mappings":"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"}
|
package/dist/admin.js
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
import { useEffect, useState } from 'react';
|
|
3
3
|
import { useUniversal } from './provider.js';
|
|
4
4
|
import { useUser } from './auth.js';
|
|
5
|
+
import { useSeatSession } from './seatSession.js';
|
|
5
6
|
export function useOrgMembers(orgId) {
|
|
6
7
|
const { supabase, activeOrgId } = useUniversal();
|
|
7
8
|
const id = orgId ?? activeOrgId;
|
|
@@ -34,10 +35,19 @@ export function useOrgMembers(orgId) {
|
|
|
34
35
|
}, [supabase, id, tick]);
|
|
35
36
|
return { members, loading, refresh: () => setTick((t) => t + 1) };
|
|
36
37
|
}
|
|
38
|
+
/**
|
|
39
|
+
* The org's concurrent-seat pool and who is in it RIGHT NOW.
|
|
40
|
+
*
|
|
41
|
+
* ⚠️ This is a snapshot of a moving number. Seats free themselves as people go
|
|
42
|
+
* idle, so two reads a minute apart legitimately differ, and a stale row on
|
|
43
|
+
* screen is normal rather than a bug. Callers that show it should offer a
|
|
44
|
+
* refresh rather than pretending it is settled state.
|
|
45
|
+
*/
|
|
37
46
|
export function useOrgSeats(orgId) {
|
|
38
47
|
const { supabase, activeOrgId } = useUniversal();
|
|
39
48
|
const id = orgId ?? activeOrgId;
|
|
40
49
|
const [seats, setSeats] = useState([]);
|
|
50
|
+
const [ttlMinutes, setTtlMinutes] = useState(60);
|
|
41
51
|
const [loading, setLoading] = useState(true);
|
|
42
52
|
const [tick, setTick] = useState(0);
|
|
43
53
|
useEffect(() => {
|
|
@@ -48,96 +58,51 @@ export function useOrgSeats(orgId) {
|
|
|
48
58
|
}
|
|
49
59
|
let cancelled = false;
|
|
50
60
|
setLoading(true);
|
|
51
|
-
|
|
52
|
-
.from('seats')
|
|
53
|
-
.
|
|
54
|
-
|
|
55
|
-
.then(({ data, error }) => {
|
|
61
|
+
Promise.all([
|
|
62
|
+
supabase.from('seats').select('*').eq('org_id', id),
|
|
63
|
+
supabase.rpc('seat_idle_ttl_minutes'),
|
|
64
|
+
]).then(([seatRes, ttlRes]) => {
|
|
56
65
|
if (cancelled)
|
|
57
66
|
return;
|
|
58
|
-
if (error)
|
|
59
|
-
console.error('[unisim/sdk] failed to load seats', error);
|
|
60
|
-
setSeats(data ?? []);
|
|
67
|
+
if (seatRes.error)
|
|
68
|
+
console.error('[unisim/sdk] failed to load seats', seatRes.error);
|
|
69
|
+
setSeats(seatRes.data ?? []);
|
|
70
|
+
// Fall back to the documented 60 rather than to "everything is expired":
|
|
71
|
+
// a failed TTL read must not make a full pool look empty.
|
|
72
|
+
if (typeof ttlRes.data === 'number')
|
|
73
|
+
setTtlMinutes(ttlRes.data);
|
|
61
74
|
setLoading(false);
|
|
62
75
|
});
|
|
63
76
|
return () => {
|
|
64
77
|
cancelled = true;
|
|
65
78
|
};
|
|
66
79
|
}, [supabase, id, tick]);
|
|
80
|
+
const cutoff = Date.now() - ttlMinutes * 60_000;
|
|
81
|
+
const isLive = (s) => !!s.assigned_user_id &&
|
|
82
|
+
!!s.last_seen_at &&
|
|
83
|
+
new Date(s.last_seen_at).getTime() > cutoff;
|
|
67
84
|
const total = seats.length;
|
|
68
|
-
const assigned = seats.filter(
|
|
69
|
-
const available = total - assigned;
|
|
85
|
+
const assigned = seats.filter(isLive).length;
|
|
86
|
+
const available = Math.max(0, total - assigned);
|
|
70
87
|
return {
|
|
71
88
|
seats,
|
|
72
89
|
pool: { total, assigned, available },
|
|
90
|
+
isLive,
|
|
73
91
|
loading,
|
|
74
92
|
refresh: () => setTick((t) => t + 1),
|
|
75
93
|
};
|
|
76
94
|
}
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
.maybeSingle();
|
|
89
|
-
if (existingError)
|
|
90
|
-
return { ok: false, error: existingError.message };
|
|
91
|
-
if (existing)
|
|
92
|
-
return { ok: true };
|
|
93
|
-
// Find an unassigned seat in the pool, then claim it.
|
|
94
|
-
const { data: pool, error: poolError } = await supabase
|
|
95
|
-
.from('seats')
|
|
96
|
-
.select('id')
|
|
97
|
-
.eq('org_id', args.orgId)
|
|
98
|
-
.eq('status', 'unassigned')
|
|
99
|
-
.limit(1)
|
|
100
|
-
.maybeSingle();
|
|
101
|
-
if (poolError)
|
|
102
|
-
return { ok: false, error: poolError.message };
|
|
103
|
-
if (!pool)
|
|
104
|
-
return { ok: false, error: 'No seats available in the pool' };
|
|
105
|
-
const { error } = await supabase
|
|
106
|
-
.from('seats')
|
|
107
|
-
.update({
|
|
108
|
-
assigned_user_id: args.userId,
|
|
109
|
-
assigned_by_user_id: args.assignedByUserId,
|
|
110
|
-
assigned_at: new Date().toISOString(),
|
|
111
|
-
status: 'active',
|
|
112
|
-
revoked_at: null,
|
|
113
|
-
})
|
|
114
|
-
.eq('id', pool.id);
|
|
115
|
-
return error ? { ok: false, error: error.message } : { ok: true };
|
|
116
|
-
}
|
|
117
|
-
export async function revokeSeat(supabase, seatId) {
|
|
118
|
-
const { error } = await supabase
|
|
119
|
-
.from('seats')
|
|
120
|
-
.update({
|
|
121
|
-
status: 'unassigned',
|
|
122
|
-
assigned_user_id: null,
|
|
123
|
-
revoked_at: new Date().toISOString(),
|
|
124
|
-
})
|
|
125
|
-
.eq('id', seatId);
|
|
126
|
-
return error ? { ok: false, error: error.message } : { ok: true };
|
|
127
|
-
}
|
|
128
|
-
export async function reassignSeat(supabase, args) {
|
|
129
|
-
const { error } = await supabase
|
|
130
|
-
.from('seats')
|
|
131
|
-
.update({
|
|
132
|
-
assigned_user_id: args.newUserId,
|
|
133
|
-
assigned_by_user_id: args.assignedByUserId,
|
|
134
|
-
assigned_at: new Date().toISOString(),
|
|
135
|
-
status: 'active',
|
|
136
|
-
revoked_at: null,
|
|
137
|
-
})
|
|
138
|
-
.eq('id', args.seatId);
|
|
139
|
-
return error ? { ok: false, error: error.message } : { ok: true };
|
|
140
|
-
}
|
|
95
|
+
/**
|
|
96
|
+
* Sign a colleague out of the concurrent seat they are holding, freeing it for
|
|
97
|
+
* someone else (org admin, or the platform admin from god-mode).
|
|
98
|
+
*
|
|
99
|
+
* ⚠️ This replaced `assignSeat` / `revokeSeat` / `reassignSeat` on 2026-09-04.
|
|
100
|
+
* Those managed a NAMED assignment — giving a person a seat, taking it back —
|
|
101
|
+
* which is not what a floating concurrent licence is. There is no assignment
|
|
102
|
+
* left to make: a seat is taken by whoever opens the product next, and the only
|
|
103
|
+
* meaningful admin action is ending a session that is holding one.
|
|
104
|
+
*/
|
|
105
|
+
export { adminReleaseSeat, releaseHeldSeat, seatIdleTtlMinutes } from './seatSession.js';
|
|
141
106
|
export function useAuditLog(opts = {}) {
|
|
142
107
|
const { supabase, activeOrgId } = useUniversal();
|
|
143
108
|
const id = opts.orgId ?? activeOrgId;
|
|
@@ -440,38 +405,32 @@ export function useEntitlement() {
|
|
|
440
405
|
const { supabase, session, activeOrgId, loading: providerLoading } = useUniversal();
|
|
441
406
|
const isAnon = session?.user?.is_anonymous === true;
|
|
442
407
|
const [subscription, setSubscription] = useState(null);
|
|
443
|
-
const [hasActiveSeat, setHasActiveSeat] = useState(false);
|
|
444
408
|
const [loading, setLoading] = useState(true);
|
|
409
|
+
// ⚠️ Not a read — this TAKES one of the org's concurrent seats and holds it
|
|
410
|
+
// while the gate is mounted (migration 0140). That is the whole point: the
|
|
411
|
+
// licence is N people at once, so the act of asking "may I work?" is the act
|
|
412
|
+
// of occupying a seat, and letting go of it is what lets a colleague in.
|
|
413
|
+
const seat = useSeatSession();
|
|
414
|
+
const hasActiveSeat = seat.held;
|
|
445
415
|
useEffect(() => {
|
|
446
416
|
if (providerLoading)
|
|
447
417
|
return;
|
|
448
418
|
if (!session?.user || isAnon || !activeOrgId) {
|
|
449
419
|
setSubscription(null);
|
|
450
|
-
setHasActiveSeat(false);
|
|
451
420
|
setLoading(false);
|
|
452
421
|
return;
|
|
453
422
|
}
|
|
454
423
|
let cancelled = false;
|
|
455
424
|
setLoading(true);
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
supabase
|
|
463
|
-
.from('seats')
|
|
464
|
-
.select('id')
|
|
465
|
-
.eq('org_id', activeOrgId)
|
|
466
|
-
.eq('assigned_user_id', session.user.id)
|
|
467
|
-
.eq('status', 'active')
|
|
468
|
-
.limit(1)
|
|
469
|
-
.maybeSingle(),
|
|
470
|
-
]).then(([subRes, seatRes]) => {
|
|
425
|
+
supabase
|
|
426
|
+
.from('subscriptions')
|
|
427
|
+
.select('*')
|
|
428
|
+
.eq('org_id', activeOrgId)
|
|
429
|
+
.maybeSingle()
|
|
430
|
+
.then((subRes) => {
|
|
471
431
|
if (cancelled)
|
|
472
432
|
return;
|
|
473
433
|
setSubscription(subRes.data ?? null);
|
|
474
|
-
setHasActiveSeat(!!seatRes.data);
|
|
475
434
|
setLoading(false);
|
|
476
435
|
});
|
|
477
436
|
return () => { cancelled = true; };
|
|
@@ -492,7 +451,7 @@ export function useEntitlement() {
|
|
|
492
451
|
new Date(subscription.current_period_end).getTime() > now));
|
|
493
452
|
let authorised = false;
|
|
494
453
|
let reason = null;
|
|
495
|
-
if (loading || providerLoading) {
|
|
454
|
+
if (loading || providerLoading || seat.loading) {
|
|
496
455
|
reason = 'loading';
|
|
497
456
|
}
|
|
498
457
|
else if (isAnon || !session?.user) {
|
|
@@ -502,7 +461,9 @@ export function useEntitlement() {
|
|
|
502
461
|
reason = 'no_org';
|
|
503
462
|
}
|
|
504
463
|
else if (!hasActiveSeat) {
|
|
505
|
-
|
|
464
|
+
// 'seats_full' is the one worth telling apart: the licence is fine, the
|
|
465
|
+
// colleagues are just all working. It clears itself.
|
|
466
|
+
reason = seat.reason === 'seats_full' ? 'seats_full' : 'no_seat';
|
|
506
467
|
}
|
|
507
468
|
else if (!subscription) {
|
|
508
469
|
reason = 'no_subscription';
|
|
@@ -518,9 +479,12 @@ export function useEntitlement() {
|
|
|
518
479
|
reason,
|
|
519
480
|
subscription,
|
|
520
481
|
hasActiveSeat,
|
|
482
|
+
seatCount: seat.seats,
|
|
483
|
+
seatsInUse: seat.inUse,
|
|
484
|
+
seatIdleTtlMinutes: seat.ttlMinutes,
|
|
521
485
|
hasActiveSubscription,
|
|
522
486
|
hasCredits,
|
|
523
|
-
loading: loading || providerLoading,
|
|
487
|
+
loading: loading || providerLoading || seat.loading,
|
|
524
488
|
};
|
|
525
489
|
}
|
|
526
490
|
// Re-export the platform admin email for the rare consumer that needs to
|
package/dist/admin.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"admin.js","sourceRoot":"","sources":["../src/admin.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"admin.js","sourceRoot":"","sources":["../src/admin.ts"],"names":[],"mappings":"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"}
|
package/dist/auth.d.ts
CHANGED
|
@@ -66,6 +66,15 @@ export interface UseOrgRoleResult {
|
|
|
66
66
|
*/
|
|
67
67
|
export declare function useOrgRole(): UseOrgRoleResult;
|
|
68
68
|
export declare function signInWithPassword(supabase: ReturnType<typeof useUniversal>['supabase'], email: string, password: string): Promise<import("@supabase/auth-js").AuthTokenResponsePassword>;
|
|
69
|
+
/**
|
|
70
|
+
* Sign out — and hand back the concurrent seat first.
|
|
71
|
+
*
|
|
72
|
+
* ⚠️ Order matters and cannot be reversed: `release_seat` runs as the caller, so
|
|
73
|
+
* once the Supabase session is gone there is no way to give the seat back and a
|
|
74
|
+
* colleague waits out the full idle TTL for a seat its owner deliberately
|
|
75
|
+
* vacated. Releasing is best-effort — if it fails the seat still expires on its
|
|
76
|
+
* own, so a failure must never block the sign-out itself.
|
|
77
|
+
*/
|
|
69
78
|
export declare function signOut(supabase: ReturnType<typeof useUniversal>['supabase']): Promise<{
|
|
70
79
|
error: import("@supabase/auth-js").AuthError | null;
|
|
71
80
|
}>;
|
package/dist/auth.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;
|
|
1
|
+
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAE5C,OAAO,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AAMvD,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,GAAG,IAAI,CAAA;IACjD,OAAO,EAAE,OAAO,CAAA;CACjB;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,OAAO,IAAI,aAAa,CAMvC;AAED,MAAM,WAAW,YAAY;IAC3B,GAAG,EAAE,YAAY,GAAG,IAAI,CAAA;IACxB,IAAI,EAAE,YAAY,EAAE,CAAA;IACpB,OAAO,EAAE,OAAO,CAAA;IAChB;;;;OAIG;IACH,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB,YAAY,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAA;CAC7C;AAED,wBAAgB,MAAM,IAAI,YAAY,CAkErC;AAED,MAAM,WAAW,gBAAgB;IAC/B,wGAAwG;IACxG,IAAI,EAAE,OAAO,GAAG,IAAI,CAAA;IACpB,iEAAiE;IACjE,eAAe,EAAE,OAAO,CAAA;IACxB,+EAA+E;IAC/E,OAAO,EAAE,OAAO,CAAA;IAChB;;;;;OAKG;IACH,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB,OAAO,EAAE,OAAO,CAAA;CACjB;AAED;;;;;;;;GAQG;AACH,wBAAgB,UAAU,IAAI,gBAAgB,CAoD7C;AAED,wBAAsB,kBAAkB,CACtC,QAAQ,EAAE,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC,UAAU,CAAC,EACrD,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,kEAGjB;AAED;;;;;;;;GAQG;AACH,wBAAsB,OAAO,CAAC,QAAQ,EAAE,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC,UAAU,CAAC;;GAOlF"}
|
package/dist/auth.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
import { useEffect, useMemo, useState } from 'react';
|
|
3
3
|
import { useUniversal } from './provider.js';
|
|
4
|
+
import { releaseHeldSeat } from './seatSession.js';
|
|
4
5
|
// Kept in sync with PLATFORM_ADMIN_EMAIL in admin.ts (not imported to avoid a
|
|
5
6
|
// cycle: admin.ts already imports from this module).
|
|
6
7
|
const PLATFORM_ADMIN_EMAIL = 'accounts@unisim.co.uk';
|
|
@@ -152,7 +153,22 @@ export function useOrgRole() {
|
|
|
152
153
|
export async function signInWithPassword(supabase, email, password) {
|
|
153
154
|
return supabase.auth.signInWithPassword({ email, password });
|
|
154
155
|
}
|
|
156
|
+
/**
|
|
157
|
+
* Sign out — and hand back the concurrent seat first.
|
|
158
|
+
*
|
|
159
|
+
* ⚠️ Order matters and cannot be reversed: `release_seat` runs as the caller, so
|
|
160
|
+
* once the Supabase session is gone there is no way to give the seat back and a
|
|
161
|
+
* colleague waits out the full idle TTL for a seat its owner deliberately
|
|
162
|
+
* vacated. Releasing is best-effort — if it fails the seat still expires on its
|
|
163
|
+
* own, so a failure must never block the sign-out itself.
|
|
164
|
+
*/
|
|
155
165
|
export async function signOut(supabase) {
|
|
166
|
+
try {
|
|
167
|
+
await releaseHeldSeat();
|
|
168
|
+
}
|
|
169
|
+
catch {
|
|
170
|
+
// Never let seat bookkeeping keep someone signed in.
|
|
171
|
+
}
|
|
156
172
|
return supabase.auth.signOut();
|
|
157
173
|
}
|
|
158
174
|
//# sourceMappingURL=auth.js.map
|
package/dist/auth.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;AAEZ,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;
|
|
1
|
+
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -11,6 +11,8 @@ export { useUser, useOrg, useOrgRole, signInWithPassword, signOut } from './auth
|
|
|
11
11
|
export type { UseUserResult, UseOrgResult, UseOrgRoleResult } from './auth.js';
|
|
12
12
|
export { useHasAccess, useHasFeature, useSeat } from './access.js';
|
|
13
13
|
export type { UseSeatResult } from './access.js';
|
|
14
|
+
export { useSeatSession } from './seatSession.js';
|
|
15
|
+
export type { SeatClaim } from './seatSession.js';
|
|
14
16
|
export { useChangelog } from './changelog.js';
|
|
15
17
|
export type { UseChangelogOptions, UseChangelogResult } from './changelog.js';
|
|
16
18
|
export { track, useUsageTracker } from './usage.js';
|
|
@@ -110,7 +112,7 @@ export { AboutAppDialog } from './AboutAppDialog.js';
|
|
|
110
112
|
export type { AboutAppDialogProps } from './AboutAppDialog.js';
|
|
111
113
|
export { AdvancedMenu, AdvancedMenuItem } from './AdvancedMenu.js';
|
|
112
114
|
export type { AdvancedMenuProps, AdvancedMenuItemProps } from './AdvancedMenu.js';
|
|
113
|
-
export { useOrgMembers, useOrgSeats, useAuditLog,
|
|
115
|
+
export { useOrgMembers, useOrgSeats, useAuditLog, adminReleaseSeat, releaseHeldSeat, seatIdleTtlMinutes, useIsPlatformAdmin, usePlatformAdminOrgs, useEntitlement, createOrganisation, updateSubscription, setProductEnterpriseAccess, setErgoEnterpriseAccess, findUserByEmail, addOrgMember, removeOrgMember, softDeleteOrg, listAccessCodes, createAccessCode, redeemAccessCode, PLATFORM_ADMIN_EMAIL, } from './admin.js';
|
|
114
116
|
export type { UseOrgMembersResult, UseOrgSeatsResult, UseAuditLogOptions, UseIsPlatformAdminResult, UsePlatformAdminOrgsResult, PlatformAdminOrgRow, EntitlementVerdict, CreateOrganisationInput, UpdateSubscriptionInput, AddOrgMemberInput, AccessCode, CreateAccessCodeInput, RedeemAccessCodeResult, } from './admin.js';
|
|
115
117
|
export type { ProductCode, SubTier, OrgRole, SeatStatus, AccessSource, Profile, Organisation, OrgBranding, OrgMember, Subscription, Seat, SeatPool, ChangelogEntry, ChangelogRelease, ChangelogFeed, AuditLogEntry, Person, PersonRole, Team, TeamMembership, Place, PlaceType, Project, ProjectStatus, } from './types.js';
|
|
116
118
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,WAAW,EAAE,wBAAwB,EAAE,MAAM,eAAe,CAAA;AACtG,YAAY,EAAE,eAAe,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAA;AAE5E,OAAO,EAAE,kBAAkB,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAM7E,OAAO,EACL,oBAAoB,EACpB,mBAAmB,EACnB,2BAA2B,EAC3B,mBAAmB,EACnB,iBAAiB,EACjB,aAAa,GACd,MAAM,qBAAqB,CAAA;AAC5B,YAAY,EACV,oBAAoB,EACpB,qBAAqB,EACrB,kBAAkB,EAClB,yBAAyB,GAC1B,MAAM,qBAAqB,CAAA;AAK5B,OAAO,EACL,iBAAiB,EACjB,cAAc,EACd,iBAAiB,EACjB,kBAAkB,EAClB,YAAY,GACb,MAAM,gBAAgB,CAAA;AACvB,YAAY,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAEpD,OAAO,EACL,mBAAmB,EACnB,gBAAgB,EAChB,mBAAmB,EACnB,eAAe,EACf,CAAC,IAAI,YAAY,GAClB,MAAM,WAAW,CAAA;AAClB,YAAY,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAA;AAEzC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,kBAAkB,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACpF,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAA;AAE9E,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAClE,YAAY,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -21,6 +21,7 @@ export { SUITE_NATIVE_APPS, suiteNativeApp, canProbeSuiteApps, installedSuiteApp
|
|
|
21
21
|
export { SUPPORTED_LANGUAGES, DEFAULT_LANGUAGE, isSupportedLanguage, resolveLanguage, t as translateNav, } from './i18n.js';
|
|
22
22
|
export { useUser, useOrg, useOrgRole, signInWithPassword, signOut } from './auth.js';
|
|
23
23
|
export { useHasAccess, useHasFeature, useSeat } from './access.js';
|
|
24
|
+
export { useSeatSession } from './seatSession.js';
|
|
24
25
|
export { useChangelog } from './changelog.js';
|
|
25
26
|
export { track, useUsageTracker } from './usage.js';
|
|
26
27
|
export { useOrgBranding } from './branding.js';
|
|
@@ -104,5 +105,5 @@ export { useIllustrationClock, smoothstep, unSmoothstep } from './illustrationCl
|
|
|
104
105
|
export { PrivacyNote } from './PrivacyNote.js';
|
|
105
106
|
export { AboutAppDialog } from './AboutAppDialog.js';
|
|
106
107
|
export { AdvancedMenu, AdvancedMenuItem } from './AdvancedMenu.js';
|
|
107
|
-
export { useOrgMembers, useOrgSeats, useAuditLog,
|
|
108
|
+
export { useOrgMembers, useOrgSeats, useAuditLog, adminReleaseSeat, releaseHeldSeat, seatIdleTtlMinutes, useIsPlatformAdmin, usePlatformAdminOrgs, useEntitlement, createOrganisation, updateSubscription, setProductEnterpriseAccess, setErgoEnterpriseAccess, findUserByEmail, addOrgMember, removeOrgMember, softDeleteOrg, listAccessCodes, createAccessCode, redeemAccessCode, PLATFORM_ADMIN_EMAIL, } from './admin.js';
|
|
108
109
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;AACZ,4BAA4B;AAC5B,0FAA0F;AAC1F,EAAE;AACF,8EAA8E;AAC9E,2EAA2E;AAC3E,uEAAuE;AACvE,yEAAyE;AACzE,oCAAoC;AAEpC,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,WAAW,EAAE,wBAAwB,EAAE,MAAM,eAAe,CAAA;AAGtG,OAAO,EAAE,kBAAkB,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAE7E,4EAA4E;AAC5E,0EAA0E;AAC1E,8EAA8E;AAC9E,uDAAuD;AACvD,OAAO,EACL,oBAAoB,EACpB,mBAAmB,EACnB,2BAA2B,EAC3B,mBAAmB,EACnB,iBAAiB,EACjB,aAAa,GACd,MAAM,qBAAqB,CAAA;AAQ5B,+EAA+E;AAC/E,6EAA6E;AAC7E,6EAA6E;AAC7E,OAAO,EACL,iBAAiB,EACjB,cAAc,EACd,iBAAiB,EACjB,kBAAkB,EAClB,YAAY,GACb,MAAM,gBAAgB,CAAA;AAGvB,OAAO,EACL,mBAAmB,EACnB,gBAAgB,EAChB,mBAAmB,EACnB,eAAe,EACf,CAAC,IAAI,YAAY,GAClB,MAAM,WAAW,CAAA;AAGlB,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,kBAAkB,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAGpF,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;AACZ,4BAA4B;AAC5B,0FAA0F;AAC1F,EAAE;AACF,8EAA8E;AAC9E,2EAA2E;AAC3E,uEAAuE;AACvE,yEAAyE;AACzE,oCAAoC;AAEpC,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,WAAW,EAAE,wBAAwB,EAAE,MAAM,eAAe,CAAA;AAGtG,OAAO,EAAE,kBAAkB,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAE7E,4EAA4E;AAC5E,0EAA0E;AAC1E,8EAA8E;AAC9E,uDAAuD;AACvD,OAAO,EACL,oBAAoB,EACpB,mBAAmB,EACnB,2BAA2B,EAC3B,mBAAmB,EACnB,iBAAiB,EACjB,aAAa,GACd,MAAM,qBAAqB,CAAA;AAQ5B,+EAA+E;AAC/E,6EAA6E;AAC7E,6EAA6E;AAC7E,OAAO,EACL,iBAAiB,EACjB,cAAc,EACd,iBAAiB,EACjB,kBAAkB,EAClB,YAAY,GACb,MAAM,gBAAgB,CAAA;AAGvB,OAAO,EACL,mBAAmB,EACnB,gBAAgB,EAChB,mBAAmB,EACnB,eAAe,EACf,CAAC,IAAI,YAAY,GAClB,MAAM,WAAW,CAAA;AAGlB,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,kBAAkB,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAGpF,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAElE,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAGjD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAG7C,OAAO,EAAE,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAEnD,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAE9C,OAAO,EACL,KAAK,EACL,OAAO,EACP,QAAQ,EACR,WAAW,EACX,UAAU,EACV,YAAY,GACb,MAAM,YAAY,CAAA;AAGnB,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAG3C,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAA;AAOjF,OAAO,EACL,SAAS,EACT,QAAQ,EACR,kBAAkB,EAClB,YAAY,EACZ,YAAY,EACZ,UAAU,EACV,UAAU,EACV,kBAAkB,EAClB,oBAAoB,GACrB,MAAM,aAAa,CAAA;AAQpB,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAGjE,OAAO,EACL,WAAW,EACX,aAAa,EACb,mBAAmB,EACnB,aAAa,GACd,MAAM,eAAe,CAAA;AAOtB,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAGzC,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAE/D,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAG/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AAQpD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAGlD,OAAO,EACL,mBAAmB,EACnB,kBAAkB,EAClB,gBAAgB,EAChB,eAAe,EACf,aAAa,GACd,MAAM,aAAa,CAAA;AAUpB,OAAO,EACL,iBAAiB,EACjB,0BAA0B,EAC1B,iBAAiB,EACjB,qBAAqB,EACrB,iBAAiB,EACjB,eAAe,GAChB,MAAM,mBAAmB,CAAA;AAY1B,8EAA8E;AAC9E,6EAA6E;AAC7E,0EAA0E;AAC1E,OAAO,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAA;AAM1D,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAGtD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAGhD,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAA;AAG3E,OAAO,EACL,aAAa,EACb,sBAAsB,EACtB,+BAA+B,EAC/B,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,oBAAoB,CAAA;AAG3B,8EAA8E;AAC9E,4EAA4E;AAC5E,6CAA6C;AAC7C,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAEvD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAGlD,OAAO,EAAE,WAAW,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAA;AAGpE,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAA;AAGjF,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAGhD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AAGxD,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAA;AAGlF,OAAO,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAA;AAGnF,6EAA6E;AAC7E,4EAA4E;AAC5E,+CAA+C;AAC/C,OAAO,EACL,QAAQ,EACR,UAAU,EACV,kBAAkB,EAClB,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,MAAM,EACN,KAAK,EACL,KAAK,EACL,MAAM,EACN,YAAY,GACb,MAAM,eAAe,CAAA;AAGtB,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAElD,gFAAgF;AAChF,8EAA8E;AAC9E,uDAAuD;AACvD,OAAO,EACL,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EAChB,UAAU,EACV,iBAAiB,GAClB,MAAM,cAAc,CAAA;AAGrB,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAGhD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAGhD,OAAO,EACL,eAAe,EACf,kBAAkB,EAClB,gBAAgB,EAChB,qBAAqB,EACrB,cAAc,EACd,eAAe,EACf,mBAAmB,EACnB,uBAAuB,GACxB,MAAM,YAAY,CAAA;AAQnB,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA;AAQjF,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAGtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAG9D,+EAA+E;AAC/E,gFAAgF;AAChF,oEAAoE;AACpE,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAE9C,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAGhD,8EAA8E;AAC9E,8EAA8E;AAC9E,6EAA6E;AAC7E,4EAA4E;AAC5E,yEAAyE;AACzE,wDAAwD;AACxD,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AAE1F,gEAAgE;AAChE,6EAA6E;AAC7E,+EAA+E;AAC/E,oEAAoE;AACpE,0EAA0E;AAC1E,2CAA2C;AAC3C,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAA;AAInC,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAEhD,2EAA2E;AAC3E,+EAA+E;AAC/E,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;AAElE,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAExC,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AACjD,6EAA6E;AAC7E,+BAA+B;AAC/B,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAGhD,OAAO,EAAE,oBAAoB,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAA;AAEvF,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAG9C,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAGpD,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AAGlE,OAAO,EACL,aAAa,EACb,WAAW,EACX,WAAW,EACX,gBAAgB,EAChB,eAAe,EACf,kBAAkB,EAClB,kBAAkB,EAClB,oBAAoB,EACpB,cAAc,EACd,kBAAkB,EAClB,kBAAkB,EAClB,0BAA0B,EAC1B,uBAAuB,EACvB,eAAe,EACf,YAAY,EACZ,eAAe,EACf,aAAa,EACb,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EAChB,oBAAoB,GACrB,MAAM,YAAY,CAAA"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { useUniversal } from './provider.js';
|
|
2
|
+
type Supabase = ReturnType<typeof useUniversal>['supabase'];
|
|
3
|
+
export interface SeatClaim {
|
|
4
|
+
/** True while this user holds a seat in the active org. */
|
|
5
|
+
held: boolean;
|
|
6
|
+
/** Why not, when `held` is false. */
|
|
7
|
+
reason: null | 'loading' | 'seats_full' | 'not_a_member' | 'no_subscription' | 'not_signed_in' | 'no_org';
|
|
8
|
+
/** Seats the org is licensed for. */
|
|
9
|
+
seats: number;
|
|
10
|
+
/** Seats occupied right now, this one included. */
|
|
11
|
+
inUse: number;
|
|
12
|
+
/** Minutes of idleness after which a seat frees itself. */
|
|
13
|
+
ttlMinutes: number;
|
|
14
|
+
loading: boolean;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Hand back the seat this tab is holding, now.
|
|
18
|
+
*
|
|
19
|
+
* Called by `signOut` BEFORE the Supabase sign-out, because the RPC needs the
|
|
20
|
+
* caller's own token to run. Without this a colleague would wait out the full
|
|
21
|
+
* idle TTL for a seat whose owner deliberately signed off.
|
|
22
|
+
*/
|
|
23
|
+
export declare function releaseHeldSeat(): Promise<void>;
|
|
24
|
+
/**
|
|
25
|
+
* Claim and hold a concurrent seat in the active org for as long as this
|
|
26
|
+
* component is mounted. Safe to call from several components at once — they
|
|
27
|
+
* share one claim.
|
|
28
|
+
*/
|
|
29
|
+
export declare function useSeatSession(): SeatClaim;
|
|
30
|
+
/**
|
|
31
|
+
* Sign a colleague out of their seat so someone else can work (org admin or
|
|
32
|
+
* platform admin). This is what "revoke seat" became: there is no assignment to
|
|
33
|
+
* take away any more, only a session to end.
|
|
34
|
+
*/
|
|
35
|
+
export declare function adminReleaseSeat(supabase: Supabase, args: {
|
|
36
|
+
orgId: string;
|
|
37
|
+
userId: string;
|
|
38
|
+
}): Promise<{
|
|
39
|
+
ok: true;
|
|
40
|
+
} | {
|
|
41
|
+
ok: false;
|
|
42
|
+
error: string;
|
|
43
|
+
}>;
|
|
44
|
+
/** Minutes of idleness after which a seat frees itself, read from the server so
|
|
45
|
+
* there is exactly one definition of it (migration 0140). */
|
|
46
|
+
export declare function seatIdleTtlMinutes(supabase: Supabase): Promise<number>;
|
|
47
|
+
export {};
|
|
48
|
+
//# sourceMappingURL=seatSession.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"seatSession.d.ts","sourceRoot":"","sources":["../src/seatSession.ts"],"names":[],"mappings":"AAwBA,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAE5C,KAAK,QAAQ,GAAG,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC,UAAU,CAAC,CAAA;AAO3D,MAAM,WAAW,SAAS;IACxB,2DAA2D;IAC3D,IAAI,EAAS,OAAO,CAAA;IACpB,qCAAqC;IACrC,MAAM,EACF,IAAI,GACJ,SAAS,GACT,YAAY,GACZ,cAAc,GACd,iBAAiB,GACjB,eAAe,GACf,QAAQ,CAAA;IACZ,qCAAqC;IACrC,KAAK,EAAQ,MAAM,CAAA;IACnB,mDAAmD;IACnD,KAAK,EAAQ,MAAM,CAAA;IACnB,2DAA2D;IAC3D,UAAU,EAAG,MAAM,CAAA;IACnB,OAAO,EAAM,OAAO,CAAA;CACrB;AAmHD;;;;;;GAMG;AACH,wBAAsB,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC,CAWrD;AAED;;;;GAIG;AACH,wBAAgB,cAAc,IAAI,SAAS,CAyB1C;AAED;;;;GAIG;AACH,wBAAsB,gBAAgB,CACpC,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GACtC,OAAO,CAAC;IAAE,EAAE,EAAE,IAAI,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CAKtD;AAED;8DAC8D;AAC9D,wBAAsB,kBAAkB,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,CAG5E"}
|
|
@@ -0,0 +1,191 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
/**
|
|
3
|
+
* Floating concurrent seats — the client half.
|
|
4
|
+
*
|
|
5
|
+
* A seat is not something you are given, it is something you are HOLDING. This
|
|
6
|
+
* module claims one when a seat-gated product opens, keeps it alive with a
|
|
7
|
+
* heartbeat while the product is in use, and hands it back on sign-out. If the
|
|
8
|
+
* app is closed without signing out the seat simply ages out of the idle TTL
|
|
9
|
+
* server-side (migration 0140) — there is nothing to clean up.
|
|
10
|
+
*
|
|
11
|
+
* ⚠️ **Claiming is opt-in per product, and must stay that way.** The claim lives
|
|
12
|
+
* here rather than in `UniversalProvider` on purpose: every Universal App mounts
|
|
13
|
+
* the provider, and a free org has ONE seat. If opening Universal QR took it,
|
|
14
|
+
* the customer's actual assessor would be locked out of the product they paid
|
|
15
|
+
* for by a free utility they left open in another tab. Only `useSeat()` and
|
|
16
|
+
* `useEntitlement()` claim, and only Assess-style products call those.
|
|
17
|
+
*
|
|
18
|
+
* The claim is refcounted and shared per org: Ergo alone renders three
|
|
19
|
+
* components that ask for entitlement, and they must be one seat and one
|
|
20
|
+
* heartbeat between them, not three.
|
|
21
|
+
*/
|
|
22
|
+
import { useEffect, useState } from 'react';
|
|
23
|
+
import { useUniversal } from './provider.js';
|
|
24
|
+
/** How often to tell the server we are still here. Comfortably inside the
|
|
25
|
+
* server's idle TTL (60 minutes) so a working session never lapses, and rare
|
|
26
|
+
* enough that it costs nothing. */
|
|
27
|
+
const HEARTBEAT_MS = 5 * 60 * 1000;
|
|
28
|
+
const IDLE = {
|
|
29
|
+
held: false, reason: 'loading', seats: 0, inUse: 0, ttlMinutes: 0, loading: true,
|
|
30
|
+
};
|
|
31
|
+
/** The one seat this tab is holding, if any. Module-level so every hook in the
|
|
32
|
+
* app shares it — and so `signOut` can find it without being handed an org. */
|
|
33
|
+
let holder = null;
|
|
34
|
+
function publish(h, state) {
|
|
35
|
+
h.state = state;
|
|
36
|
+
for (const fn of h.listeners)
|
|
37
|
+
fn(state);
|
|
38
|
+
}
|
|
39
|
+
function verdictFrom(row) {
|
|
40
|
+
const r = (row ?? {});
|
|
41
|
+
return {
|
|
42
|
+
held: r.ok === true,
|
|
43
|
+
reason: r.ok === true ? null : (r.reason ?? 'no_org'),
|
|
44
|
+
seats: r.seats ?? 0,
|
|
45
|
+
inUse: r.in_use ?? 0,
|
|
46
|
+
ttlMinutes: r.ttl_minutes ?? 0,
|
|
47
|
+
loading: false,
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
async function claimOnce(h) {
|
|
51
|
+
// The Supabase access token carries a stable `session_id` per login that
|
|
52
|
+
// survives token refresh — the same claim on-prem and Ergo's single-session
|
|
53
|
+
// rule key on. Read it from the session rather than minting our own id, so
|
|
54
|
+
// the server sees the same session the backend does.
|
|
55
|
+
const { data } = await h.supabase.auth.getSession();
|
|
56
|
+
const sessionId = readSessionIdClaim(data.session?.access_token);
|
|
57
|
+
const { data: row, error } = await h.supabase.rpc('claim_seat', {
|
|
58
|
+
p_org: h.orgId,
|
|
59
|
+
p_session_id: sessionId,
|
|
60
|
+
});
|
|
61
|
+
if (error) {
|
|
62
|
+
// Fail OPEN on a transport/storage error, exactly as the server-side
|
|
63
|
+
// enforcement does: a network blip must never read as "your licence is
|
|
64
|
+
// full". Keep whatever verdict we last had; if we never had one, assume
|
|
65
|
+
// held so the product opens and the backend gets the final say.
|
|
66
|
+
console.error('[unisim/sdk] claim_seat failed', error);
|
|
67
|
+
if (h.state.loading) {
|
|
68
|
+
publish(h, { ...h.state, held: true, reason: null, loading: false });
|
|
69
|
+
}
|
|
70
|
+
return;
|
|
71
|
+
}
|
|
72
|
+
publish(h, verdictFrom(row));
|
|
73
|
+
}
|
|
74
|
+
/** Pull the `session_id` claim out of a Supabase access token without adding a
|
|
75
|
+
* JWT dependency. Payload only — this is not verification, and nothing is
|
|
76
|
+
* trusted on the strength of it; the server re-reads the real claim. */
|
|
77
|
+
function readSessionIdClaim(accessToken) {
|
|
78
|
+
if (!accessToken)
|
|
79
|
+
return null;
|
|
80
|
+
try {
|
|
81
|
+
const payload = accessToken.split('.')[1];
|
|
82
|
+
if (!payload)
|
|
83
|
+
return null;
|
|
84
|
+
const json = atob(payload.replace(/-/g, '+').replace(/_/g, '/'));
|
|
85
|
+
const claims = JSON.parse(json);
|
|
86
|
+
return claims.session_id ?? null;
|
|
87
|
+
}
|
|
88
|
+
catch {
|
|
89
|
+
return null;
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
function acquire(supabase, orgId) {
|
|
93
|
+
if (holder && holder.orgId === orgId) {
|
|
94
|
+
holder.refs += 1;
|
|
95
|
+
return holder;
|
|
96
|
+
}
|
|
97
|
+
// Org switched under us — give the old seat back before taking a new one.
|
|
98
|
+
if (holder)
|
|
99
|
+
releaseHolder(holder);
|
|
100
|
+
const h = {
|
|
101
|
+
orgId, supabase, refs: 1, timer: null, state: IDLE, listeners: new Set(),
|
|
102
|
+
};
|
|
103
|
+
holder = h;
|
|
104
|
+
void claimOnce(h);
|
|
105
|
+
h.timer = setInterval(() => { void claimOnce(h); }, HEARTBEAT_MS);
|
|
106
|
+
return h;
|
|
107
|
+
}
|
|
108
|
+
function releaseHolder(h) {
|
|
109
|
+
if (h.timer)
|
|
110
|
+
clearInterval(h.timer);
|
|
111
|
+
h.timer = null;
|
|
112
|
+
if (holder === h)
|
|
113
|
+
holder = null;
|
|
114
|
+
}
|
|
115
|
+
function drop(h) {
|
|
116
|
+
h.refs -= 1;
|
|
117
|
+
if (h.refs > 0)
|
|
118
|
+
return;
|
|
119
|
+
// Last seat-gated component unmounted. Stop the heartbeat but do NOT release
|
|
120
|
+
// the seat: an unmount is usually a route change inside the same product, and
|
|
121
|
+
// handing the seat back only to re-claim it a moment later is how you lose it
|
|
122
|
+
// to a colleague mid-assessment. The idle TTL is what frees an abandoned one.
|
|
123
|
+
releaseHolder(h);
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
126
|
+
* Hand back the seat this tab is holding, now.
|
|
127
|
+
*
|
|
128
|
+
* Called by `signOut` BEFORE the Supabase sign-out, because the RPC needs the
|
|
129
|
+
* caller's own token to run. Without this a colleague would wait out the full
|
|
130
|
+
* idle TTL for a seat whose owner deliberately signed off.
|
|
131
|
+
*/
|
|
132
|
+
export async function releaseHeldSeat() {
|
|
133
|
+
const h = holder;
|
|
134
|
+
if (!h)
|
|
135
|
+
return;
|
|
136
|
+
releaseHolder(h);
|
|
137
|
+
publish(h, { ...IDLE, loading: false, reason: null });
|
|
138
|
+
try {
|
|
139
|
+
await h.supabase.rpc('release_seat', { p_org: h.orgId });
|
|
140
|
+
}
|
|
141
|
+
catch (e) {
|
|
142
|
+
// Nothing to recover: the seat expires on its own within the TTL.
|
|
143
|
+
console.error('[unisim/sdk] release_seat failed', e);
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
/**
|
|
147
|
+
* Claim and hold a concurrent seat in the active org for as long as this
|
|
148
|
+
* component is mounted. Safe to call from several components at once — they
|
|
149
|
+
* share one claim.
|
|
150
|
+
*/
|
|
151
|
+
export function useSeatSession() {
|
|
152
|
+
const { supabase, session, activeOrgId, loading: providerLoading } = useUniversal();
|
|
153
|
+
const isAnon = session?.user?.is_anonymous === true;
|
|
154
|
+
const [state, setState] = useState(IDLE);
|
|
155
|
+
useEffect(() => {
|
|
156
|
+
if (providerLoading)
|
|
157
|
+
return;
|
|
158
|
+
if (!session?.user || isAnon || !activeOrgId) {
|
|
159
|
+
// Anonymous/trial users are not on a licence and must never take a seat
|
|
160
|
+
// from the org that is paying for it.
|
|
161
|
+
setState({ ...IDLE, loading: false, reason: 'no_org' });
|
|
162
|
+
return;
|
|
163
|
+
}
|
|
164
|
+
const h = acquire(supabase, activeOrgId);
|
|
165
|
+
setState(h.state);
|
|
166
|
+
h.listeners.add(setState);
|
|
167
|
+
return () => {
|
|
168
|
+
h.listeners.delete(setState);
|
|
169
|
+
drop(h);
|
|
170
|
+
};
|
|
171
|
+
}, [supabase, session?.user, activeOrgId, isAnon, providerLoading]);
|
|
172
|
+
return providerLoading ? IDLE : state;
|
|
173
|
+
}
|
|
174
|
+
/**
|
|
175
|
+
* Sign a colleague out of their seat so someone else can work (org admin or
|
|
176
|
+
* platform admin). This is what "revoke seat" became: there is no assignment to
|
|
177
|
+
* take away any more, only a session to end.
|
|
178
|
+
*/
|
|
179
|
+
export async function adminReleaseSeat(supabase, args) {
|
|
180
|
+
const { error } = await supabase.rpc('admin_release_seat', {
|
|
181
|
+
p_org: args.orgId, p_user: args.userId,
|
|
182
|
+
});
|
|
183
|
+
return error ? { ok: false, error: error.message } : { ok: true };
|
|
184
|
+
}
|
|
185
|
+
/** Minutes of idleness after which a seat frees itself, read from the server so
|
|
186
|
+
* there is exactly one definition of it (migration 0140). */
|
|
187
|
+
export async function seatIdleTtlMinutes(supabase) {
|
|
188
|
+
const { data, error } = await supabase.rpc('seat_idle_ttl_minutes');
|
|
189
|
+
return error ? 60 : (data ?? 60);
|
|
190
|
+
}
|
|
191
|
+
//# sourceMappingURL=seatSession.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"seatSession.js","sourceRoot":"","sources":["../src/seatSession.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -141,16 +141,31 @@ export interface Subscription {
|
|
|
141
141
|
* is lifetime_at + 3 years. Null for everyone else (migration 0044). */
|
|
142
142
|
lifetime_at: string | null;
|
|
143
143
|
}
|
|
144
|
+
/**
|
|
145
|
+
* One seat in an org's floating concurrent pool.
|
|
146
|
+
*
|
|
147
|
+
* ⚠️ Since migration 0140 a seat is OCCUPIED, not assigned. `assigned_user_id`
|
|
148
|
+
* is whoever is holding it at this instant, and it empties on its own once
|
|
149
|
+
* `last_seen_at` falls outside the idle TTL. Never read these fields as "this
|
|
150
|
+
* person's seat" — that is the named-seat model we stopped selling.
|
|
151
|
+
*/
|
|
144
152
|
export interface Seat {
|
|
145
153
|
id: string;
|
|
146
154
|
org_id: string;
|
|
155
|
+
/** Who is holding this seat right now. Null = free. */
|
|
147
156
|
assigned_user_id: string | null;
|
|
157
|
+
/** When the current holder took it (not when an admin granted it). */
|
|
148
158
|
assigned_at: string | null;
|
|
149
159
|
revoked_at: string | null;
|
|
150
160
|
status: SeatStatus;
|
|
161
|
+
/** The JWT session holding the seat — informational. */
|
|
162
|
+
session_id?: string | null;
|
|
163
|
+
/** Heartbeat. The seat is held while this is inside the idle TTL. */
|
|
164
|
+
last_seen_at?: string | null;
|
|
151
165
|
}
|
|
152
166
|
export interface SeatPool {
|
|
153
167
|
total: number;
|
|
168
|
+
/** Seats occupied by a live session right now. */
|
|
154
169
|
assigned: number;
|
|
155
170
|
available: number;
|
|
156
171
|
}
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED