@unisim/sdk 0.125.1 → 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.
Files changed (50) hide show
  1. package/README.md +13 -0
  2. package/android/src/main/AndroidManifest.xml +12 -1
  3. package/dist/OAuthButtons.d.ts +21 -0
  4. package/dist/OAuthButtons.d.ts.map +1 -0
  5. package/dist/OAuthButtons.js +79 -0
  6. package/dist/OAuthButtons.js.map +1 -0
  7. package/dist/SignInDialog.d.ts.map +1 -1
  8. package/dist/SignInDialog.js +86 -3
  9. package/dist/SignInDialog.js.map +1 -1
  10. package/dist/access.d.ts +22 -3
  11. package/dist/access.d.ts.map +1 -1
  12. package/dist/access.js +21 -30
  13. package/dist/access.js.map +1 -1
  14. package/dist/admin.d.ts +32 -28
  15. package/dist/admin.d.ts.map +1 -1
  16. package/dist/admin.js +59 -95
  17. package/dist/admin.js.map +1 -1
  18. package/dist/auth.d.ts +9 -0
  19. package/dist/auth.d.ts.map +1 -1
  20. package/dist/auth.js +16 -0
  21. package/dist/auth.js.map +1 -1
  22. package/dist/i18n.d.ts.map +1 -1
  23. package/dist/i18n.js +56 -0
  24. package/dist/i18n.js.map +1 -1
  25. package/dist/index.d.ts +9 -1
  26. package/dist/index.d.ts.map +1 -1
  27. package/dist/index.js +5 -1
  28. package/dist/index.js.map +1 -1
  29. package/dist/mockAuth.d.ts.map +1 -1
  30. package/dist/mockAuth.js +56 -0
  31. package/dist/mockAuth.js.map +1 -1
  32. package/dist/oauth.d.ts +99 -0
  33. package/dist/oauth.d.ts.map +1 -0
  34. package/dist/oauth.js +132 -0
  35. package/dist/oauth.js.map +1 -0
  36. package/dist/seatSession.d.ts +48 -0
  37. package/dist/seatSession.d.ts.map +1 -0
  38. package/dist/seatSession.js +191 -0
  39. package/dist/seatSession.js.map +1 -0
  40. package/dist/security.d.ts +56 -0
  41. package/dist/security.d.ts.map +1 -0
  42. package/dist/security.js +129 -0
  43. package/dist/security.js.map +1 -0
  44. package/dist/suiteApps.d.ts +29 -6
  45. package/dist/suiteApps.d.ts.map +1 -1
  46. package/dist/suiteApps.js +25 -6
  47. package/dist/suiteApps.js.map +1 -1
  48. package/dist/types.d.ts +15 -0
  49. package/dist/types.d.ts.map +1 -1
  50. package/package.json +1 -1
package/README.md CHANGED
@@ -252,6 +252,19 @@ the change.
252
252
  script above in every app repo (they all need the new scheme in their queries
253
253
  list, not just the new app).
254
254
 
255
+ ⚠️ **An app that gains a native build later is the same three edits, and nothing
256
+ will tell you.** Ergo Assess shipped a SwiftUI/Compose pair while the registry
257
+ still listed it as web-only; its switcher row went on loading the website inside
258
+ the caller's webview, which is indistinguishable from an app you have not
259
+ installed. `test:suite-apps` now names Ergo specifically, because a category
260
+ ("web-only products") cannot be tested and a named product can.
261
+
262
+ Not every suite app is a Capacitor app. The script tries `ios/App/App/` first,
263
+ then falls back to the single `Info.plist` under `ios/` — which is how it finds
264
+ Ergo's `ios/ErgoAssessCapture/Info.plist` — and reads the bundle id from
265
+ `ios/project.yml` rather than the Capacitor config in that case. It refuses to
266
+ choose when a repo has more than one iOS target.
267
+
255
268
  The row stays a real `<a href>` throughout — the handoff is a click handler over
256
269
  the top, so a launch that fails still navigates and long-press/copy-link keep
257
270
  working. `openSuiteApp()` resolving `false` is the fallback signal, not an
@@ -29,7 +29,11 @@
29
29
  Two Capacitor apps are deliberately absent, and neither is an oversight:
30
30
  Universal AI and Universal Family both run their own Supabase client on
31
31
  their own storage key by an explicit decision recorded in their source,
32
- so they have no shared session to take part in.
32
+ so they have no shared session to take part in. Ergo Assess is absent for
33
+ a different reason again: it is a native Compose app that ships no
34
+ SuiteAuthProvider at all, so there is no authority to name. It carries
35
+ the session in its own Keychain/KeyStore instead, which is why it appears
36
+ in 2b below and not here.
33
37
 
34
38
  2b. The PACKAGE list: who the suite switcher can OPEN, via
35
39
  UnisimSuiteAuthPlugin.installedApps/openApp. Deliberately a separate
@@ -61,6 +65,13 @@
61
65
  <provider
62
66
  android:authorities="uk.co.unisim.coshhassess.unisimsuiteauth;uk.co.unisim.cyberassess.unisimsuiteauth;uk.co.unisim.fireassess.unisimsuiteauth;uk.co.unisim.riskassess.unisimsuiteauth;uk.co.unisim.wfhassess.unisimsuiteauth;uk.co.unisim.blackbook.unisimsuiteauth;uk.co.unisim.compress.unisimsuiteauth;uk.co.unisim.converter.unisimsuiteauth;uk.co.unisim.images.unisimsuiteauth;uk.co.unisim.pdf.unisimsuiteauth;uk.co.unisim.polling.unisimsuiteauth;uk.co.unisim.qr.unisimsuiteauth" />
63
67
 
68
+ <!-- Ergo Assess is the one non-Capacitor app here: a Compose app whose
69
+ MainActivity already carries MAIN/LAUNCHER, which is all
70
+ getLaunchIntentForPackage needs. It keeps the
71
+ com.universalsimulation. prefix from its own Gradle module and is
72
+ absent from the provider list above on purpose — it has no
73
+ SuiteAuthProvider, so it shares no session. -->
74
+ <package android:name="com.universalsimulation.ergoassesscapture" />
64
75
  <package android:name="uk.co.unisim.cyberassess" />
65
76
  <package android:name="uk.co.unisim.wfhassess" />
66
77
  <package android:name="uk.co.unisim.fireassess" />
@@ -0,0 +1,21 @@
1
+ import type { ReactNode } from 'react';
2
+ import { type OAuthProvider } from './oauth.js';
3
+ export interface OAuthButtonsProps {
4
+ /** Called with the chosen provider. The caller starts the redirect. */
5
+ onProvider: (provider: OAuthProvider) => void;
6
+ /** The provider whose redirect is in flight, if any — that button shows busy. */
7
+ busyProvider?: OAuthProvider | null;
8
+ /** Disable the whole row (e.g. while a password submit is running). */
9
+ disabled?: boolean;
10
+ /**
11
+ * Button label builder, so each host can localise through its own i18n
12
+ * stack. Defaults to English "Continue with <Provider>".
13
+ */
14
+ labelFor?: (provider: OAuthProvider) => string;
15
+ /** Text for the rule under the buttons. Omit to render no divider. */
16
+ dividerLabel?: string;
17
+ /** Optional note under the buttons (e.g. the anonymous-trial reassurance). */
18
+ note?: ReactNode;
19
+ }
20
+ export declare function OAuthButtons({ onProvider, busyProvider, disabled, labelFor, dividerLabel, note, }: OAuthButtonsProps): import("react/jsx-runtime").JSX.Element;
21
+ //# sourceMappingURL=OAuthButtons.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OAuthButtons.d.ts","sourceRoot":"","sources":["../src/OAuthButtons.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAiB,SAAS,EAAE,MAAM,OAAO,CAAA;AACrD,OAAO,EAAuC,KAAK,aAAa,EAAE,MAAM,YAAY,CAAA;AAoBpF,MAAM,WAAW,iBAAiB;IAChC,uEAAuE;IACvE,UAAU,EAAE,CAAC,QAAQ,EAAE,aAAa,KAAK,IAAI,CAAA;IAC7C,iFAAiF;IACjF,YAAY,CAAC,EAAE,aAAa,GAAG,IAAI,CAAA;IACnC,uEAAuE;IACvE,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB;;;OAGG;IACH,QAAQ,CAAC,EAAE,CAAC,QAAQ,EAAE,aAAa,KAAK,MAAM,CAAA;IAC9C,sEAAsE;IACtE,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,8EAA8E;IAC9E,IAAI,CAAC,EAAE,SAAS,CAAA;CACjB;AAED,wBAAgB,YAAY,CAAC,EAC3B,UAAU,EACV,YAAmB,EACnB,QAAgB,EAChB,QAAQ,EACR,YAAY,EACZ,IAAI,GACL,EAAE,iBAAiB,2CAqCnB"}
@@ -0,0 +1,79 @@
1
+ 'use client';
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { OAUTH_PROVIDERS, oauthProviderLabel } from './oauth.js';
4
+ export function OAuthButtons({ onProvider, busyProvider = null, disabled = false, labelFor, dividerLabel, note, }) {
5
+ return (_jsxs("div", { children: [_jsx("div", { style: stackStyle, children: OAUTH_PROVIDERS.map((provider) => {
6
+ const busy = busyProvider === provider;
7
+ const off = disabled || busyProvider !== null;
8
+ return (_jsxs("button", { type: "button", onClick: () => onProvider(provider), disabled: off, style: { ...buttonStyle, ...(off ? disabledStyle : null) }, children: [_jsx("span", { style: markStyle, "aria-hidden": true, children: provider === 'google' ? _jsx(GoogleMark, {}) : _jsx(MicrosoftMark, {}) }), _jsx("span", { children: busy ? '…' : (labelFor?.(provider) ?? `Continue with ${oauthProviderLabel(provider)}`) })] }, provider));
9
+ }) }), note && _jsx("div", { style: noteStyle, children: note }), dividerLabel && (_jsxs("div", { style: dividerStyle, children: [_jsx("span", { style: ruleStyle }), _jsx("span", { style: dividerTextStyle, children: dividerLabel }), _jsx("span", { style: ruleStyle })] }))] }));
10
+ }
11
+ // ── Provider marks ────────────────────────────────────────────────────────────
12
+ function GoogleMark() {
13
+ return (_jsxs("svg", { width: "18", height: "18", viewBox: "0 0 48 48", "aria-hidden": true, focusable: "false", children: [_jsx("path", { fill: "#4285F4", d: "M45.12 24.5c0-1.56-.14-3.06-.4-4.5H24v8.51h11.84c-.51 2.75-2.06 5.08-4.39 6.64v5.52h7.11c4.16-3.83 6.56-9.47 6.56-16.17z" }), _jsx("path", { fill: "#34A853", d: "M24 46c5.94 0 10.92-1.97 14.56-5.33l-7.11-5.52c-1.97 1.32-4.49 2.1-7.45 2.1-5.73 0-10.58-3.87-12.31-9.07H4.34v5.7C7.96 41.07 15.4 46 24 46z" }), _jsx("path", { fill: "#FBBC05", d: "M11.69 28.18C11.25 26.86 11 25.45 11 24s.25-2.86.69-4.18v-5.7H4.34C2.85 17.09 2 20.45 2 24s.85 6.91 2.34 9.88l7.35-5.7z" }), _jsx("path", { fill: "#EA4335", d: "M24 10.75c3.23 0 6.13 1.11 8.41 3.29l6.31-6.31C34.91 4.18 29.93 2 24 2 15.4 2 7.96 6.93 4.34 14.12l7.35 5.7c1.73-5.2 6.58-9.07 12.31-9.07z" })] }));
14
+ }
15
+ function MicrosoftMark() {
16
+ return (_jsxs("svg", { width: "18", height: "18", viewBox: "0 0 23 23", "aria-hidden": true, focusable: "false", children: [_jsx("rect", { x: "1", y: "1", width: "10", height: "10", fill: "#F25022" }), _jsx("rect", { x: "12", y: "1", width: "10", height: "10", fill: "#7FBA00" }), _jsx("rect", { x: "1", y: "12", width: "10", height: "10", fill: "#00A4EF" }), _jsx("rect", { x: "12", y: "12", width: "10", height: "10", fill: "#FFB900" })] }));
17
+ }
18
+ // ── Styles ────────────────────────────────────────────────────────────────────
19
+ const stackStyle = {
20
+ display: 'flex',
21
+ flexDirection: 'column',
22
+ gap: 8,
23
+ };
24
+ const buttonStyle = {
25
+ display: 'flex',
26
+ alignItems: 'center',
27
+ justifyContent: 'center',
28
+ gap: 10,
29
+ width: '100%',
30
+ padding: '10px 14px',
31
+ // 15px, not 14: this row sits above a password form whose inputs go to 16px
32
+ // on a touch screen, and a visibly smaller button reads as the lesser option.
33
+ fontSize: 15,
34
+ fontWeight: 600,
35
+ fontFamily: 'inherit',
36
+ color: '#1f2937',
37
+ background: '#ffffff',
38
+ border: '1px solid #d1d5db',
39
+ borderRadius: 8,
40
+ cursor: 'pointer',
41
+ boxSizing: 'border-box',
42
+ };
43
+ const disabledStyle = {
44
+ opacity: 0.6,
45
+ cursor: 'default',
46
+ };
47
+ const markStyle = {
48
+ display: 'inline-flex',
49
+ alignItems: 'center',
50
+ justifyContent: 'center',
51
+ width: 18,
52
+ height: 18,
53
+ flexShrink: 0,
54
+ };
55
+ const noteStyle = {
56
+ marginTop: 10,
57
+ fontSize: 12,
58
+ lineHeight: 1.5,
59
+ color: '#475569',
60
+ };
61
+ const dividerStyle = {
62
+ display: 'flex',
63
+ alignItems: 'center',
64
+ gap: 10,
65
+ margin: '16px 0 4px',
66
+ };
67
+ const ruleStyle = {
68
+ flex: 1,
69
+ height: 1,
70
+ background: '#e5e7eb',
71
+ };
72
+ const dividerTextStyle = {
73
+ fontSize: 11,
74
+ fontWeight: 600,
75
+ letterSpacing: '0.06em',
76
+ textTransform: 'uppercase',
77
+ color: '#94a3b8',
78
+ };
79
+ //# sourceMappingURL=OAuthButtons.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OAuthButtons.js","sourceRoot":"","sources":["../src/OAuthButtons.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"SignInDialog.d.ts","sourceRoot":"","sources":["../src/SignInDialog.tsx"],"names":[],"mappings":"AAiCA,MAAM,MAAM,gBAAgB,GAAG,QAAQ,GAAG,QAAQ,GAAG,OAAO,CAAA;AAE5D,MAAM,WAAW,iBAAiB;IAChC,mCAAmC;IACnC,IAAI,EAAE,OAAO,CAAA;IACb,qFAAqF;IACrF,OAAO,EAAE,MAAM,IAAI,CAAA;IACnB;;;;;OAKG;IACH,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,kDAAkD;IAClD,WAAW,CAAC,EAAE,gBAAgB,CAAA;CAC/B;AAgBD,wBAAgB,YAAY,CAAC,EAC3B,IAAI,EACJ,OAAO,EACP,YAAY,EACZ,WAAsB,GACvB,EAAE,iBAAiB,sCAqMnB"}
1
+ {"version":3,"file":"SignInDialog.d.ts","sourceRoot":"","sources":["../src/SignInDialog.tsx"],"names":[],"mappings":"AA2CA,MAAM,MAAM,gBAAgB,GAAG,QAAQ,GAAG,QAAQ,GAAG,OAAO,CAAA;AAE5D,MAAM,WAAW,iBAAiB;IAChC,mCAAmC;IACnC,IAAI,EAAE,OAAO,CAAA;IACb,qFAAqF;IACrF,OAAO,EAAE,MAAM,IAAI,CAAA;IACnB;;;;;OAKG;IACH,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,kDAAkD;IAClD,WAAW,CAAC,EAAE,gBAAgB,CAAA;CAC/B;AAgBD,wBAAgB,YAAY,CAAC,EAC3B,IAAI,EACJ,OAAO,EACP,YAAY,EACZ,WAAsB,GACvB,EAAE,iBAAiB,sCAwSnB"}
@@ -1,5 +1,5 @@
1
1
  'use client';
2
- import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
3
3
  import { useEffect, useRef, useState, } from 'react';
4
4
  import { createPortal } from 'react-dom';
5
5
  import { BRAND } from './brand.js';
@@ -7,6 +7,8 @@ import { NAV_OVERLAY_Z_INDEX } from './DropdownSurface.js';
7
7
  import { t } from './i18n.js';
8
8
  import { useLanguage, useUniversal } from './provider.js';
9
9
  import { useCanHover } from './hover.js';
10
+ import { OAuthButtons } from './OAuthButtons.js';
11
+ import { abandonTrialAndSignIn, clearOAuthError, isIdentityCollision, isManualLinkingDisabled, readOAuthError, startOAuthSignIn, } from './oauth.js';
10
12
  // Reset links must land somewhere that can host the set-a-password step; the
11
13
  // hub's /login?finish=1 already does and is on Supabase's redirect allowlist,
12
14
  // unlike each app's own origin.
@@ -23,7 +25,7 @@ function hubOrigin(hubLoginHref) {
23
25
  }
24
26
  export function SignInDialog({ open, onClose, hubLoginHref, initialMode = 'signin', }) {
25
27
  const canHover = useCanHover();
26
- const { supabase } = useUniversal();
28
+ const { supabase, session } = useUniversal();
27
29
  const { language } = useLanguage();
28
30
  const [mode, setMode] = useState(initialMode);
29
31
  const [email, setEmail] = useState('');
@@ -32,6 +34,13 @@ export function SignInDialog({ open, onClose, hubLoginHref, initialMode = 'signi
32
34
  const [error, setError] = useState(null);
33
35
  const [info, setInfo] = useState(null);
34
36
  const emailRef = useRef(null);
37
+ // Provider sign-in. `oauthBusy` names the provider whose redirect is in
38
+ // flight; `oauthError` is either a failure to START one or — far more often —
39
+ // one read back off the URL after a failed round trip.
40
+ const [oauthBusy, setOauthBusy] = useState(null);
41
+ const [oauthError, setOauthError] = useState(null);
42
+ const [collisionProvider, setCollisionProvider] = useState(null);
43
+ const isAnonymous = session?.user?.is_anonymous === true;
35
44
  // Fresh form every time the dialog opens — a half-typed password from a
36
45
  // previous attempt must not linger in state while the dialog is hidden.
37
46
  useEffect(() => {
@@ -41,10 +50,28 @@ export function SignInDialog({ open, onClose, hubLoginHref, initialMode = 'signi
41
50
  setPassword('');
42
51
  setError(null);
43
52
  setInfo(null);
53
+ setOauthBusy(null);
54
+ setOauthError(null);
55
+ setCollisionProvider(null);
44
56
  // Focus after the portal content paints.
45
57
  const id = setTimeout(() => emailRef.current?.focus(), 0);
46
58
  return () => clearTimeout(id);
47
59
  }, [open, initialMode]);
60
+ // ⚠️ The provider round trip lands back on the APP's own URL, by which time
61
+ // this dialog has long since unmounted — so a failed Google/Microsoft
62
+ // sign-in has nowhere to report itself and the app simply looks signed out.
63
+ // The failure does survive in the address bar, so the next time the dialog
64
+ // opens we read it there and say what went wrong. Without this the whole
65
+ // feature fails silently, which is the one outcome worth engineering against.
66
+ useEffect(() => {
67
+ if (!open)
68
+ return;
69
+ const found = readOAuthError();
70
+ if (!found)
71
+ return;
72
+ setOauthError(found);
73
+ setCollisionProvider(null);
74
+ }, [open]);
48
75
  useEffect(() => {
49
76
  if (!open)
50
77
  return;
@@ -55,6 +82,37 @@ export function SignInDialog({ open, onClose, hubLoginHref, initialMode = 'signi
55
82
  document.addEventListener('keydown', onKey);
56
83
  return () => document.removeEventListener('keydown', onKey);
57
84
  }, [open, onClose]);
85
+ async function onProvider(provider) {
86
+ setOauthBusy(provider);
87
+ setOauthError(null);
88
+ setCollisionProvider(null);
89
+ setError(null);
90
+ setInfo(null);
91
+ clearOAuthError();
92
+ const { error: err } = await startOAuthSignIn(supabase, provider, {
93
+ redirectTo: window.location.href,
94
+ });
95
+ if (!err)
96
+ return; // redirect in flight — leave the button busy
97
+ setOauthBusy(null);
98
+ setOauthError(err);
99
+ if (isIdentityCollision(err))
100
+ setCollisionProvider(provider);
101
+ }
102
+ // Only reachable from the collision panel, and only after the user has read
103
+ // what it costs: the anonymous session is dropped and its work with it.
104
+ async function onAbandonTrial(provider) {
105
+ setOauthBusy(provider);
106
+ setOauthError(null);
107
+ setCollisionProvider(null);
108
+ const { error: err } = await abandonTrialAndSignIn(supabase, provider, {
109
+ redirectTo: window.location.href,
110
+ });
111
+ if (!err)
112
+ return;
113
+ setOauthBusy(null);
114
+ setOauthError(err);
115
+ }
58
116
  const switchMode = (m) => {
59
117
  setMode(m);
60
118
  setError(null);
@@ -124,7 +182,9 @@ export function SignInDialog({ open, onClose, hubLoginHref, initialMode = 'signi
124
182
  return createPortal(_jsx("div", { style: overlayStyle, onMouseDown: (e) => {
125
183
  if (e.target === e.currentTarget)
126
184
  onClose();
127
- }, children: _jsxs("div", { role: "dialog", "aria-modal": "true", "aria-label": title, style: cardStyle, children: [_jsx("button", { type: "button", "aria-label": t(language, 'signin.close'), onClick: onClose, style: closeButtonStyle, children: _jsx(IconClose, {}) }), _jsx("p", { style: eyebrowStyle, children: "Universal ID" }), _jsx("h2", { style: titleStyle, children: title }), _jsx("p", { style: introStyle, children: t(language, 'signin.intro') }), _jsxs("form", { onSubmit: submit, style: { marginTop: 18 }, children: [_jsxs("label", { style: labelStyle, children: [t(language, 'signin.email'), _jsx("input", { ref: emailRef, type: "email", value: email, onChange: (e) => setEmail(e.target.value), autoComplete: "email", required: true, style: inputStyle(!canHover) })] }), mode !== 'reset' && (_jsxs("label", { style: { ...labelStyle, marginTop: 12 }, children: [t(language, 'signin.password'), _jsx("input", { type: "password", value: password, onChange: (e) => setPassword(e.target.value), autoComplete: mode === 'signin' ? 'current-password' : 'new-password', required: true, style: inputStyle(!canHover) })] })), error && _jsx("p", { style: errorStyle, children: error }), info && _jsx("p", { style: infoStyle, children: info }), _jsx("button", { type: "submit", disabled: busy || !email.trim() || (mode !== 'reset' && !password), style: {
185
+ }, children: _jsxs("div", { role: "dialog", "aria-modal": "true", "aria-label": title, style: cardStyle, children: [_jsx("button", { type: "button", "aria-label": t(language, 'signin.close'), onClick: onClose, style: closeButtonStyle, children: _jsx(IconClose, {}) }), _jsx("p", { style: eyebrowStyle, children: "Universal ID" }), _jsx("h2", { style: titleStyle, children: title }), _jsx("p", { style: introStyle, children: t(language, 'signin.intro') }), mode !== 'reset' && (_jsxs("div", { style: { marginTop: 18 }, children: [_jsx(OAuthButtons, { onProvider: onProvider, busyProvider: oauthBusy, disabled: busy, labelFor: (p) => t(language, p === 'google' ? 'signin.continue_google' : 'signin.continue_microsoft'), dividerLabel: t(language, 'signin.or_email'), note: isAnonymous ? t(language, 'signin.trial_carries') : null }), oauthError && (_jsx("div", { style: oauthErrorStyle, children: collisionProvider ? (_jsxs(_Fragment, { children: [_jsx("p", { style: { margin: 0, fontWeight: 700 }, children: t(language, 'signin.collision_title') }), _jsx("p", { style: { margin: '4px 0 0', fontWeight: 400 }, children: t(language, 'signin.collision_body') }), _jsx("button", { type: "button", onClick: () => onAbandonTrial(collisionProvider), style: collisionButtonStyle, children: t(language, 'signin.collision_cta') })] })) : (_jsx("p", { style: { margin: 0 }, children: isManualLinkingDisabled(oauthError)
186
+ ? t(language, 'signin.link_unavailable')
187
+ : oauthError.message })) }))] })), _jsxs("form", { onSubmit: submit, style: { marginTop: 18 }, children: [_jsxs("label", { style: labelStyle, children: [t(language, 'signin.email'), _jsx("input", { ref: emailRef, type: "email", value: email, onChange: (e) => setEmail(e.target.value), autoComplete: "email", required: true, style: inputStyle(!canHover) })] }), mode !== 'reset' && (_jsxs("label", { style: { ...labelStyle, marginTop: 12 }, children: [t(language, 'signin.password'), _jsx("input", { type: "password", value: password, onChange: (e) => setPassword(e.target.value), autoComplete: mode === 'signin' ? 'current-password' : 'new-password', required: true, style: inputStyle(!canHover) })] })), error && _jsx("p", { style: errorStyle, children: error }), info && _jsx("p", { style: infoStyle, children: info }), _jsx("button", { type: "submit", disabled: busy || !email.trim() || (mode !== 'reset' && !password), style: {
128
188
  ...submitStyle,
129
189
  ...(busy || !email.trim() || (mode !== 'reset' && !password)
130
190
  ? { opacity: 0.6, cursor: 'default' }
@@ -242,6 +302,29 @@ const errorStyle = {
242
302
  fontWeight: 600,
243
303
  color: '#b91c1c',
244
304
  };
305
+ const oauthErrorStyle = {
306
+ marginTop: 12,
307
+ padding: '10px 12px',
308
+ borderRadius: 8,
309
+ border: '1px solid #fecaca',
310
+ background: '#fef2f2',
311
+ fontSize: 12,
312
+ fontWeight: 600,
313
+ lineHeight: 1.5,
314
+ color: '#991b1b',
315
+ };
316
+ const collisionButtonStyle = {
317
+ marginTop: 10,
318
+ padding: '7px 12px',
319
+ fontSize: 12,
320
+ fontWeight: 600,
321
+ fontFamily: 'inherit',
322
+ color: '#7f1d1d',
323
+ background: '#ffffff',
324
+ border: '1px solid #fca5a5',
325
+ borderRadius: 7,
326
+ cursor: 'pointer',
327
+ };
245
328
  const infoStyle = {
246
329
  margin: '10px 0 0',
247
330
  fontSize: 12,
@@ -1 +1 @@
1
- {"version":3,"file":"SignInDialog.js","sourceRoot":"","sources":["../src/SignInDialog.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SignInDialog.js","sourceRoot":"","sources":["../src/SignInDialog.tsx"],"names":[],"mappings":"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"}
package/dist/access.d.ts CHANGED
@@ -1,13 +1,32 @@
1
- import type { ProductCode, Seat } from './types.js';
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
- seat: Seat | null;
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
- /** The current user's seat status in the active org. */
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
@@ -1 +1 @@
1
- {"version":3,"file":"access.d.ts","sourceRoot":"","sources":["../src/access.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,YAAY,CAAA;AA6CnD,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,IAAI,EAAE,IAAI,GAAG,IAAI,CAAA;IACjB,MAAM,EAAE,OAAO,CAAA;IACf,OAAO,EAAE,OAAO,CAAA;CACjB;AAED,wDAAwD;AACxD,wBAAgB,OAAO,IAAI,aAAa,CAkCvC"}
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
- /** The current user's seat status in the active org. */
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 { supabase, session, activeOrgId } = useUniversal();
47
- const [state, setState] = useState({ seat: null, active: false, loading: true });
48
- useEffect(() => {
49
- if (!session || !activeOrgId) {
50
- setState({ seat: null, active: false, loading: false });
51
- return;
52
- }
53
- let cancelled = false;
54
- supabase
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
@@ -1 +1 @@
1
- {"version":3,"file":"access.js","sourceRoot":"","sources":["../src/access.ts"],"names":[],"mappings":"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"}
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
- export declare function assignSeat(supabase: ReturnType<typeof useUniversal>['supabase'], args: {
17
- orgId: string;
18
- userId: string;
19
- assignedByUserId: string;
20
- }): Promise<{
21
- ok: true;
22
- } | {
23
- ok: false;
24
- error: string;
25
- }>;
26
- export declare function revokeSeat(supabase: ReturnType<typeof useUniversal>['supabase'], seatId: string): Promise<{
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' | 'no_seat' | 'no_subscription' | 'expired_and_out_of_credits';
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 has an active seat in this org. */
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. */
@@ -1 +1 @@
1
- {"version":3,"file":"admin.d.ts","sourceRoot":"","sources":["../src/admin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"admin.d.ts","sourceRoot":"","sources":["../src/admin.ts"],"names":[],"mappings":"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"}