@rool-dev/sdk 0.12.4 → 2.0.0-dev.4adc2c2

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 (108) hide show
  1. package/README.md +436 -761
  2. package/dist/agents.d.ts +130 -0
  3. package/dist/agents.d.ts.map +1 -0
  4. package/dist/agents.js +348 -0
  5. package/dist/agents.js.map +1 -0
  6. package/dist/auth-base.d.ts +43 -88
  7. package/dist/auth-base.d.ts.map +1 -1
  8. package/dist/auth-base.js +178 -298
  9. package/dist/auth-base.js.map +1 -1
  10. package/dist/auth-browser.d.ts +7 -25
  11. package/dist/auth-browser.d.ts.map +1 -1
  12. package/dist/auth-browser.js +45 -82
  13. package/dist/auth-browser.js.map +1 -1
  14. package/dist/auth-native.d.ts +9 -56
  15. package/dist/auth-native.d.ts.map +1 -1
  16. package/dist/auth-native.js +88 -177
  17. package/dist/auth-native.js.map +1 -1
  18. package/dist/auth-node.d.ts +32 -32
  19. package/dist/auth-node.d.ts.map +1 -1
  20. package/dist/auth-node.js +339 -255
  21. package/dist/auth-node.js.map +1 -1
  22. package/dist/auth-url.d.ts +6 -0
  23. package/dist/auth-url.d.ts.map +1 -0
  24. package/dist/auth-url.js +30 -0
  25. package/dist/auth-url.js.map +1 -0
  26. package/dist/client.d.ts +35 -277
  27. package/dist/client.d.ts.map +1 -1
  28. package/dist/client.js +275 -620
  29. package/dist/client.js.map +1 -1
  30. package/dist/events.d.ts +40 -0
  31. package/dist/events.d.ts.map +1 -0
  32. package/dist/events.js +175 -0
  33. package/dist/events.js.map +1 -0
  34. package/dist/files.d.ts +170 -0
  35. package/dist/files.d.ts.map +1 -0
  36. package/dist/files.js +846 -0
  37. package/dist/files.js.map +1 -0
  38. package/dist/index.d.ts +16 -17
  39. package/dist/index.d.ts.map +1 -1
  40. package/dist/index.js +7 -19
  41. package/dist/index.js.map +1 -1
  42. package/dist/machine.d.ts +49 -0
  43. package/dist/machine.d.ts.map +1 -0
  44. package/dist/machine.js +142 -0
  45. package/dist/machine.js.map +1 -0
  46. package/dist/problem.d.ts +11 -0
  47. package/dist/problem.d.ts.map +1 -0
  48. package/dist/problem.js +20 -0
  49. package/dist/problem.js.map +1 -0
  50. package/dist/structured.d.ts +84 -0
  51. package/dist/structured.d.ts.map +1 -0
  52. package/dist/structured.js +405 -0
  53. package/dist/structured.js.map +1 -0
  54. package/dist/types.d.ts +119 -520
  55. package/dist/types.d.ts.map +1 -1
  56. package/package.json +11 -16
  57. package/dist/auth.d.ts +0 -85
  58. package/dist/auth.d.ts.map +0 -1
  59. package/dist/auth.js +0 -181
  60. package/dist/auth.js.map +0 -1
  61. package/dist/client-info.d.ts +0 -18
  62. package/dist/client-info.d.ts.map +0 -1
  63. package/dist/client-info.js +0 -25
  64. package/dist/client-info.js.map +0 -1
  65. package/dist/event-emitter.d.ts +0 -45
  66. package/dist/event-emitter.d.ts.map +0 -1
  67. package/dist/event-emitter.js +0 -86
  68. package/dist/event-emitter.js.map +0 -1
  69. package/dist/graphql.d.ts +0 -90
  70. package/dist/graphql.d.ts.map +0 -1
  71. package/dist/graphql.js +0 -463
  72. package/dist/graphql.js.map +0 -1
  73. package/dist/logger.d.ts +0 -13
  74. package/dist/logger.d.ts.map +0 -1
  75. package/dist/logger.js +0 -17
  76. package/dist/logger.js.map +0 -1
  77. package/dist/path.d.ts +0 -6
  78. package/dist/path.d.ts.map +0 -1
  79. package/dist/path.js +0 -47
  80. package/dist/path.js.map +0 -1
  81. package/dist/reroute.d.ts +0 -22
  82. package/dist/reroute.d.ts.map +0 -1
  83. package/dist/reroute.js +0 -70
  84. package/dist/reroute.js.map +0 -1
  85. package/dist/rest.d.ts +0 -54
  86. package/dist/rest.d.ts.map +0 -1
  87. package/dist/rest.js +0 -171
  88. package/dist/rest.js.map +0 -1
  89. package/dist/router.d.ts +0 -20
  90. package/dist/router.d.ts.map +0 -1
  91. package/dist/router.js +0 -54
  92. package/dist/router.js.map +0 -1
  93. package/dist/space-session.d.ts +0 -30
  94. package/dist/space-session.d.ts.map +0 -1
  95. package/dist/space-session.js +0 -83
  96. package/dist/space-session.js.map +0 -1
  97. package/dist/space.d.ts +0 -161
  98. package/dist/space.d.ts.map +0 -1
  99. package/dist/space.js +0 -618
  100. package/dist/space.js.map +0 -1
  101. package/dist/subscription.d.ts +0 -36
  102. package/dist/subscription.d.ts.map +0 -1
  103. package/dist/subscription.js +0 -419
  104. package/dist/subscription.js.map +0 -1
  105. package/dist/webdav.d.ts +0 -171
  106. package/dist/webdav.d.ts.map +0 -1
  107. package/dist/webdav.js +0 -481
  108. package/dist/webdav.js.map +0 -1
@@ -1,52 +1,23 @@
1
- // =============================================================================
2
- // Native PKCE auth provider
3
- // For app shells that run JavaScript but sign in through an external system
4
- // browser (Capacitor, Cordova, Tauri, ...). The app hands off to the auth
5
- // server's /authorize in an external browser, then feeds the deep-link callback
6
- // back into handleRedirect(), which exchanges the code + verifier at /token.
7
- //
8
- // The SDK stays platform-agnostic: the app injects how to open an external URL
9
- // (openExternal) and calls handleRedirect() from its own deep-link listener.
10
- // Token storage and refresh are inherited from BaseTokenAuthProvider.
11
- // =============================================================================
12
- import { BaseTokenAuthProvider } from './auth-base.js';
13
- export class NativePkceAuthProvider extends BaseTokenAuthProvider {
1
+ import { TokenAuth, } from "./auth-base.js";
2
+ export class NativeAuth extends TokenAuth {
14
3
  redirectUri;
15
4
  defaultProvider;
16
5
  openExternal;
17
6
  constructor(config) {
18
- super();
7
+ super(config);
19
8
  this.redirectUri = config.redirectUri;
20
- this.defaultProvider = config.defaultProvider ?? 'google';
9
+ this.defaultProvider = config.defaultProvider ?? "google";
21
10
  this.openExternal = config.openExternal;
22
11
  }
23
- /**
24
- * No synchronous callback to process — the app drives completion via
25
- * handleRedirect(). Just arm refresh for any persisted session.
26
- */
27
- initialize() {
28
- this.initBase();
29
- return false;
12
+ async initialize() {
13
+ return this.isAuthenticated();
30
14
  }
31
- /**
32
- * Begin sign-in. `params.provider` ('google' | 'apple') overrides the
33
- * default; `params.rvid` is forwarded for signup attribution.
34
- */
35
- login(_appName, params) {
36
- return this.startPkce(params);
15
+ async login(_appName, params) {
16
+ await this.startPkce(params);
37
17
  }
38
- /**
39
- * Same flow as login — the providers don't distinguish signup from login
40
- * for native, and the auth server creates the account on first sign-in.
41
- */
42
- signup(_appName, params) {
43
- return this.startPkce(params);
18
+ async signup(_appName, params) {
19
+ await this.startPkce(params);
44
20
  }
45
- /**
46
- * Complete a sign-in from the deep link the app received (e.g. Capacitor's
47
- * appUrlOpen). Validates state, exchanges the code + stored verifier at
48
- * /token, and persists the session. Returns true once signed in.
49
- */
50
21
  async handleRedirect(url) {
51
22
  if (!url.startsWith(this.redirectUri))
52
23
  return false;
@@ -57,204 +28,144 @@ export class NativePkceAuthProvider extends BaseTokenAuthProvider {
57
28
  catch {
58
29
  return false;
59
30
  }
60
- const error = parsed.searchParams.get('error');
31
+ const error = parsed.searchParams.get("error");
61
32
  if (error) {
62
- this.logger.warn(`[RoolClient] Native auth error: ${error}`);
33
+ console.warn(`[RoolAuth] Native auth error: ${error}`);
63
34
  this.clearTransientState();
64
35
  return false;
65
36
  }
66
- const code = parsed.searchParams.get('code');
67
- const incomingState = parsed.searchParams.get('state');
68
- if (!code)
69
- return false;
37
+ const code = parsed.searchParams.get("code");
38
+ const incomingState = parsed.searchParams.get("state");
70
39
  const verifier = this.readString(this.verifierKey);
71
40
  const storedState = this.readString(this.stateKey);
72
- if (!verifier) {
73
- this.logger.error('[RoolClient] No PKCE verifier for redirect. Ignored.');
41
+ if (!code || !verifier)
74
42
  return false;
75
- }
76
43
  if (storedState && incomingState !== storedState) {
77
- this.logger.error('[RoolClient] Native auth state mismatch. Ignored.');
78
44
  this.clearTransientState();
79
45
  return false;
80
46
  }
81
47
  let response;
82
48
  try {
83
- response = await fetch(`${this.authBaseUrl}/token`, {
84
- method: 'POST',
85
- headers: { 'Content-Type': 'application/json' },
49
+ response = await this.fetchAuth("/token", {
50
+ method: "POST",
51
+ headers: { "Content-Type": "application/json" },
86
52
  body: JSON.stringify({ code, code_verifier: verifier }),
87
53
  });
88
54
  }
89
- catch (err) {
90
- // Network error - keep the verifier so a retry can still complete.
91
- this.logger.error('[RoolClient] /token network error:', err);
55
+ catch (error) {
56
+ console.error("[RoolAuth] Native token exchange failed:", error);
92
57
  return false;
93
58
  }
94
- // The code is single-use and the verifier is now spent either way.
95
59
  this.clearTransientState();
96
- if (!response.ok) {
97
- this.logger.warn(`[RoolClient] /token failed: ${response.status}`);
60
+ if (!response.ok)
98
61
  return false;
99
- }
100
- let data;
101
- try {
102
- data = await response.json();
103
- }
104
- catch (err) {
105
- this.logger.error('[RoolClient] /token response parse error:', err);
106
- return false;
107
- }
108
- const idToken = data.id_token ?? null;
109
- const refreshToken = data.refresh_token ?? null;
110
- const expiresAt = data.expires_in ? Date.now() + data.expires_in * 1000 : NaN;
111
- if (!idToken || !Number.isFinite(expiresAt)) {
112
- this.logger.error('[RoolClient] /token response missing id_token or expires_in');
62
+ const data = await readJson(response);
63
+ if (!data || !this.acceptTokenResponse(data))
113
64
  return false;
114
- }
115
- this.acceptTokens(idToken, refreshToken, data.rool_token ?? null, expiresAt);
116
- this.notifyAuthState(true);
65
+ this.emitAuthState(true);
117
66
  return true;
118
67
  }
119
- /**
120
- * Sign in with email + password. No redirect involved — the auth server
121
- * returns the token set as JSON, which we persist directly.
122
- *
123
- * Resolves `signed_in` on success, or `verify_required` when the account's
124
- * email isn't verified (the server has emailed a magic link). Rejects with
125
- * a human-readable Error on bad credentials or server failure.
126
- */
127
68
  async signInWithPassword(email, password) {
128
69
  let response;
129
70
  try {
130
- response = await fetch(`${this.authBaseUrl}/login-password`, {
131
- method: 'POST',
132
- headers: { 'Content-Type': 'application/json' },
71
+ response = await this.fetchAuth("/login-password", {
72
+ method: "POST",
73
+ headers: { "Content-Type": "application/json" },
133
74
  body: JSON.stringify({ email, password }),
134
75
  });
135
76
  }
136
- catch (err) {
137
- this.logger.error('[RoolClient] login-password network error:', err);
138
- throw new Error('Network error. Please try again.');
139
- }
140
- let data;
141
- try {
142
- data = await response.json();
143
- }
144
- catch {
145
- throw new Error('Unexpected response. Please try again.');
77
+ catch (error) {
78
+ console.error("[RoolAuth] Password sign-in failed:", error);
79
+ throw new Error("Network error. Please try again.");
146
80
  }
81
+ const data = await readJson(response);
82
+ if (!data)
83
+ throw new Error("Unexpected response. Please try again.");
147
84
  if (!response.ok || data.ok === false) {
148
- throw new Error(data.error || 'Invalid email or password.');
85
+ throw new Error(data.error || "Invalid email or password.");
149
86
  }
150
- if (data.status === 'verify_required') {
151
- return { status: 'verify_required' };
87
+ if (data.status === "verify_required") {
88
+ return { status: "verify_required" };
152
89
  }
153
- const idToken = data.id_token ?? null;
154
- const refreshToken = data.refresh_token ?? null;
155
- const expiresAt = data.expires_in ? Date.now() + data.expires_in * 1000 : NaN;
156
- if (!idToken || !Number.isFinite(expiresAt)) {
157
- this.logger.error('[RoolClient] login-password response missing id_token or expires_in');
158
- throw new Error('Sign-in failed. Please try again.');
90
+ if (!this.acceptTokenResponse(data)) {
91
+ throw new Error("Sign-in failed. Please try again.");
159
92
  }
160
- this.acceptTokens(idToken, refreshToken, data.rool_token ?? null, expiresAt);
161
- this.notifyAuthState(true);
162
- return { status: 'signed_in' };
93
+ this.emitAuthState(true);
94
+ return { status: "signed_in" };
163
95
  }
164
- /**
165
- * Request a magic sign-in link by email. The server emails a link carrying
166
- * a verify token; the user completes sign-in by following it, which lands
167
- * back in the app and is finished via `verify(token)`. Resolves once the
168
- * email is accepted; rejects with a human-readable Error if the address is
169
- * rejected (invalid / disposable / unreachable).
170
- *
171
- * NOTE: the emailed link is an https URL (`<appsDomain>/?verify=…`), so on
172
- * native it only re-opens the app if Universal Links / App Links are set up
173
- * for that domain. Without them the link completes on the website instead.
174
- */
175
96
  async requestMagicLink(email) {
176
97
  let response;
177
98
  try {
178
- response = await fetch(`${this.authBaseUrl}/magic-link`, {
179
- method: 'POST',
180
- headers: { 'Content-Type': 'application/json' },
99
+ response = await this.fetchAuth("/magic-link", {
100
+ method: "POST",
101
+ headers: { "Content-Type": "application/json" },
181
102
  body: JSON.stringify({ email }),
182
103
  });
183
104
  }
184
- catch (err) {
185
- this.logger.error('[RoolClient] magic-link network error:', err);
186
- throw new Error('Network error. Please try again.');
187
- }
188
- let data;
189
- try {
190
- data = await response.json();
191
- }
192
- catch {
193
- data = {};
105
+ catch (error) {
106
+ console.error("[RoolAuth] Magic-link request failed:", error);
107
+ throw new Error("Network error. Please try again.");
194
108
  }
195
- if (!response.ok || data.ok === false) {
196
- throw new Error(data.error || 'Could not send the sign-in link. Please try again.');
109
+ const data = await readJson(response);
110
+ if (!response.ok || data?.ok === false) {
111
+ throw new Error(data?.error || "Could not send the sign-in link. Please try again.");
197
112
  }
198
113
  }
199
- // ===========================================================================
200
- // Private
201
- // ===========================================================================
114
+ clearTransientState() {
115
+ this.removeString(this.verifierKey);
116
+ this.removeString(this.stateKey);
117
+ }
202
118
  get verifierKey() {
203
- return this.keyFor('pkce_verifier');
119
+ return this.keyFor("pkce_verifier");
204
120
  }
205
121
  get stateKey() {
206
- return this.keyFor('pkce_state');
122
+ return this.keyFor("pkce_state");
207
123
  }
208
124
  async startPkce(params) {
209
- const provider = normalizeProvider(params?.provider) ?? this.defaultProvider;
210
- const verifier = generateCodeVerifier();
211
- const challenge = await deriveCodeChallenge(verifier);
212
- const state = generateState();
213
- // Stash the verifier + state for handleRedirect(). localStorage (not
214
- // sessionStorage) so it survives the app being backgrounded while the
215
- // external browser is in front.
125
+ const requestedProvider = params?.provider;
126
+ const provider = isProvider(requestedProvider)
127
+ ? requestedProvider
128
+ : this.defaultProvider;
129
+ const verifier = base64Url(randomBytes(32));
130
+ const challenge = base64Url(await crypto.subtle.digest("SHA-256", new TextEncoder().encode(verifier)));
131
+ const state = Array.from(randomBytes(16), (byte) => byte.toString(16).padStart(2, "0")).join("");
216
132
  this.writeString(this.verifierKey, verifier);
217
133
  this.writeString(this.stateKey, state);
218
134
  const url = new URL(`${this.authBaseUrl}/authorize`);
219
- url.searchParams.set('provider', provider);
220
- url.searchParams.set('redirect_uri', this.redirectUri);
221
- url.searchParams.set('state', state);
222
- url.searchParams.set('code_challenge', challenge);
223
- url.searchParams.set('code_challenge_method', 'S256');
135
+ url.searchParams.set("provider", provider);
136
+ url.searchParams.set("redirect_uri", this.redirectUri);
137
+ url.searchParams.set("state", state);
138
+ url.searchParams.set("code_challenge", challenge);
139
+ url.searchParams.set("code_challenge_method", "S256");
224
140
  if (params?.rvid)
225
- url.searchParams.set('rvid', params.rvid);
141
+ url.searchParams.set("rvid", params.rvid);
226
142
  await this.openExternal(url.toString());
227
143
  }
228
- clearTransientState() {
229
- this.removeString(this.verifierKey);
230
- this.removeString(this.stateKey);
231
- }
232
144
  }
233
- function normalizeProvider(value) {
234
- return value === 'google' || value === 'apple' ? value : null;
145
+ function isProvider(value) {
146
+ return value === "google" || value === "apple";
235
147
  }
236
- /** RFC 7636 code verifier: base64url of 32 random bytes (43 chars, unreserved). */
237
- function generateCodeVerifier() {
238
- const bytes = new Uint8Array(32);
148
+ function randomBytes(length) {
149
+ const bytes = new Uint8Array(length);
239
150
  crypto.getRandomValues(bytes);
240
- return base64UrlEncode(bytes.buffer);
151
+ return bytes;
241
152
  }
242
- /** S256 challenge: base64url(SHA-256(verifier)). */
243
- async function deriveCodeChallenge(verifier) {
244
- const digest = await crypto.subtle.digest('SHA-256', new TextEncoder().encode(verifier));
245
- return base64UrlEncode(digest);
153
+ function base64Url(buffer) {
154
+ const bytes = buffer instanceof Uint8Array ? buffer : new Uint8Array(buffer);
155
+ let binary = "";
156
+ for (const byte of bytes)
157
+ binary += String.fromCharCode(byte);
158
+ return btoa(binary)
159
+ .replace(/\+/g, "-")
160
+ .replace(/\//g, "_")
161
+ .replace(/=+$/, "");
246
162
  }
247
- function generateState() {
248
- const bytes = new Uint8Array(16);
249
- crypto.getRandomValues(bytes);
250
- return Array.from(bytes, (b) => b.toString(16).padStart(2, '0')).join('');
251
- }
252
- function base64UrlEncode(buffer) {
253
- const bytes = new Uint8Array(buffer);
254
- let binary = '';
255
- for (let i = 0; i < bytes.length; i++) {
256
- binary += String.fromCharCode(bytes[i]);
163
+ async function readJson(response) {
164
+ try {
165
+ return (await response.json());
166
+ }
167
+ catch {
168
+ return null;
257
169
  }
258
- return btoa(binary).replace(/\+/g, '-').replace(/\//g, '_').replace(/=+$/, '');
259
170
  }
260
171
  //# sourceMappingURL=auth-native.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"auth-native.js","sourceRoot":"","sources":["../src/auth-native.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,4BAA4B;AAC5B,4EAA4E;AAC5E,0EAA0E;AAC1E,gFAAgF;AAChF,6EAA6E;AAC7E,EAAE;AACF,+EAA+E;AAC/E,6EAA6E;AAC7E,sEAAsE;AACtE,gFAAgF;AAEhF,OAAO,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAsBvD,MAAM,OAAO,sBAAuB,SAAQ,qBAAqB;IAC5C,WAAW,CAAS;IACpB,eAAe,CAAyB;IACxC,YAAY,CAAwC;IAErE,YAAY,MAA4B;QACpC,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;QACtC,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,eAAe,IAAI,QAAQ,CAAC;QAC1D,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC;IAC5C,CAAC;IAED;;;OAGG;IACH,UAAU;QACN,IAAI,CAAC,QAAQ,EAAE,CAAC;QAChB,OAAO,KAAK,CAAC;IACjB,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,QAAgB,EAAE,MAA+B;QACnD,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAClC,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,QAAgB,EAAE,MAA+B;QACpD,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAClC,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,cAAc,CAAC,GAAW;QAC5B,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC;YAAE,OAAO,KAAK,CAAC;QAEpD,IAAI,MAAW,CAAC;QAChB,IAAI,CAAC;YACD,MAAM,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;QAC1B,CAAC;QAAC,MAAM,CAAC;YACL,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,MAAM,KAAK,GAAG,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAC/C,IAAI,KAAK,EAAE,CAAC;YACR,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,mCAAmC,KAAK,EAAE,CAAC,CAAC;YAC7D,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAC3B,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC7C,MAAM,aAAa,GAAG,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACvD,IAAI,CAAC,IAAI;YAAE,OAAO,KAAK,CAAC;QAExB,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACnD,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACnD,IAAI,CAAC,QAAQ,EAAE,CAAC;YACZ,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,sDAAsD,CAAC,CAAC;YAC1E,OAAO,KAAK,CAAC;QACjB,CAAC;QACD,IAAI,WAAW,IAAI,aAAa,KAAK,WAAW,EAAE,CAAC;YAC/C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,mDAAmD,CAAC,CAAC;YACvE,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAC3B,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,IAAI,QAAkB,CAAC;QACvB,IAAI,CAAC;YACD,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,IAAI,CAAC,WAAW,QAAQ,EAAE;gBAChD,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;gBAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,QAAQ,EAAE,CAAC;aAC1D,CAAC,CAAC;QACP,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,mEAAmE;YACnE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,oCAAoC,EAAE,GAAG,CAAC,CAAC;YAC7D,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,mEAAmE;QACnE,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAE3B,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,+BAA+B,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;YACnE,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,IAAI,IAKH,CAAC;QACF,IAAI,CAAC;YACD,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QACjC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,2CAA2C,EAAE,GAAG,CAAC,CAAC;YACpE,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC;QACtC,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC;QAChD,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC;QAC9E,IAAI,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;YAC1C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,6DAA6D,CAAC,CAAC;YACjF,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,YAAY,EAAE,IAAI,CAAC,UAAU,IAAI,IAAI,EAAE,SAAS,CAAC,CAAC;QAC7E,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QAC3B,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,kBAAkB,CAAC,KAAa,EAAE,QAAgB;QACpD,IAAI,QAAkB,CAAC;QACvB,IAAI,CAAC;YACD,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,IAAI,CAAC,WAAW,iBAAiB,EAAE;gBACzD,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;gBAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;aAC5C,CAAC,CAAC;QACP,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,4CAA4C,EAAE,GAAG,CAAC,CAAC;YACrE,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;QACxD,CAAC;QAED,IAAI,IAQH,CAAC;QACF,IAAI,CAAC;YACD,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QACjC,CAAC;QAAC,MAAM,CAAC;YACL,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;QAC9D,CAAC;QAED,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,IAAI,CAAC,EAAE,KAAK,KAAK,EAAE,CAAC;YACpC,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,4BAA4B,CAAC,CAAC;QAChE,CAAC;QAED,IAAI,IAAI,CAAC,MAAM,KAAK,iBAAiB,EAAE,CAAC;YACpC,OAAO,EAAE,MAAM,EAAE,iBAAiB,EAAE,CAAC;QACzC,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC;QACtC,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC;QAChD,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC;QAC9E,IAAI,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;YAC1C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,qEAAqE,CAAC,CAAC;YACzF,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;QACzD,CAAC;QAED,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,YAAY,EAAE,IAAI,CAAC,UAAU,IAAI,IAAI,EAAE,SAAS,CAAC,CAAC;QAC7E,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QAC3B,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;IACnC,CAAC;IAED;;;;;;;;;;OAUG;IACH,KAAK,CAAC,gBAAgB,CAAC,KAAa;QAChC,IAAI,QAAkB,CAAC;QACvB,IAAI,CAAC;YACD,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,IAAI,CAAC,WAAW,aAAa,EAAE;gBACrD,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;gBAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,CAAC;aAClC,CAAC,CAAC;QACP,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,wCAAwC,EAAE,GAAG,CAAC,CAAC;YACjE,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;QACxD,CAAC;QAED,IAAI,IAAsC,CAAC;QAC3C,IAAI,CAAC;YACD,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QACjC,CAAC;QAAC,MAAM,CAAC;YACL,IAAI,GAAG,EAAE,CAAC;QACd,CAAC;QAED,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,IAAI,CAAC,EAAE,KAAK,KAAK,EAAE,CAAC;YACpC,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,oDAAoD,CAAC,CAAC;QACxF,CAAC;IACL,CAAC;IAED,8EAA8E;IAC9E,UAAU;IACV,8EAA8E;IAE9E,IAAY,WAAW;QACnB,OAAO,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;IACxC,CAAC;IAED,IAAY,QAAQ;QAChB,OAAO,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IACrC,CAAC;IAEO,KAAK,CAAC,SAAS,CAAC,MAA+B;QACnD,MAAM,QAAQ,GAAG,iBAAiB,CAAC,MAAM,EAAE,QAAQ,CAAC,IAAI,IAAI,CAAC,eAAe,CAAC;QAC7E,MAAM,QAAQ,GAAG,oBAAoB,EAAE,CAAC;QACxC,MAAM,SAAS,GAAG,MAAM,mBAAmB,CAAC,QAAQ,CAAC,CAAC;QACtD,MAAM,KAAK,GAAG,aAAa,EAAE,CAAC;QAE9B,qEAAqE;QACrE,sEAAsE;QACtE,gCAAgC;QAChC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;QAC7C,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QAEvC,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,WAAW,YAAY,CAAC,CAAC;QACrD,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;QAC3C,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,cAAc,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QACvD,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QACrC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,gBAAgB,EAAE,SAAS,CAAC,CAAC;QAClD,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,uBAAuB,EAAE,MAAM,CAAC,CAAC;QACtD,IAAI,MAAM,EAAE,IAAI;YAAE,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;QAE5D,MAAM,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC5C,CAAC;IAES,mBAAmB;QACzB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACpC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACrC,CAAC;CACJ;AAED,SAAS,iBAAiB,CAAC,KAAyB;IAChD,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;AAClE,CAAC;AAED,mFAAmF;AACnF,SAAS,oBAAoB;IACzB,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC;IACjC,MAAM,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;IAC9B,OAAO,eAAe,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;AACzC,CAAC;AAED,oDAAoD;AACpD,KAAK,UAAU,mBAAmB,CAAC,QAAgB;IAC/C,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;IACzF,OAAO,eAAe,CAAC,MAAM,CAAC,CAAC;AACnC,CAAC;AAED,SAAS,aAAa;IAClB,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC;IACjC,MAAM,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;IAC9B,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAC9E,CAAC;AAED,SAAS,eAAe,CAAC,MAAmB;IACxC,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC;IACrC,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACpC,MAAM,IAAI,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5C,CAAC;IACD,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;AACnF,CAAC"}
1
+ {"version":3,"file":"auth-native.js","sourceRoot":"","sources":["../src/auth-native.ts"],"names":[],"mappings":"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"}
@@ -1,45 +1,45 @@
1
- import type { AuthProvider, AuthTokens, AuthUser } from './types.js';
2
- import { type Logger } from './logger.js';
1
+ import type { RoolAuth, RoolRequestTokens } from "./types.js";
3
2
  export interface NodeAuthConfig {
4
- /** Path to store credentials (default: ~/.config/rool/credentials.json) */
3
+ /** API origin used to derive the auth endpoint. */
4
+ apiUrl?: string;
5
+ /** Auth endpoint override, required when the API origin is loopback. */
6
+ authUrl?: string;
7
+ /** Credential profile stored independently for the resolved auth endpoint. */
8
+ profile?: string;
9
+ /** Explicit credential file path, overriding the endpoint and profile path. */
5
10
  credentialsPath?: string;
6
- /** Timeout for login flow in ms (default: 5 minutes) */
11
+ /** Browser login timeout in milliseconds. */
7
12
  loginTimeoutMs?: number;
8
- onAuthStateChanged?: (authenticated: boolean) => void;
13
+ /** Custom transport for token refresh. */
14
+ fetch?: typeof globalThis.fetch;
15
+ /** Custom browser launcher. */
16
+ openUrl?: (url: string) => void | Promise<void>;
9
17
  }
10
- export declare class NodeAuthProvider implements AuthProvider {
11
- private config;
12
- private _authUrl;
13
- private logger;
18
+ export declare class NodeAuthLoginRequiredError extends Error {
19
+ constructor(message?: string);
20
+ }
21
+ export declare class NodeAuth implements RoolAuth {
22
+ readonly credentialsPath: string;
23
+ readonly getTokens: () => Promise<RoolRequestTokens | undefined>;
24
+ readonly getAccessToken: () => Promise<string>;
25
+ private readonly authUrl;
26
+ private readonly listeners;
27
+ private readonly loginTimeoutMs;
28
+ private readonly fetchRequest;
29
+ private readonly openUrl;
30
+ private refreshInFlight;
14
31
  constructor(config?: NodeAuthConfig);
15
- /** Called by AuthManager to inject the auth URL */
16
- setAuthUrl(url: string): void;
17
- /** Called by AuthManager to inject the logger */
18
- setLogger(logger: Logger): void;
19
- /**
20
- * Get a short hash of the auth URL for scoping credentials by endpoint.
21
- */
22
- private get endpointHash();
23
- private get credentialsPath();
24
- /**
25
- * Get the auth endpoint URL (without trailing slash).
26
- */
27
- private get authEndpoint();
28
- initialize(): boolean;
29
- getTokens(): Promise<{
30
- accessToken: string;
31
- roolToken: string;
32
- } | undefined>;
33
- getAuthUser(): AuthUser;
32
+ initialize(): Promise<boolean>;
34
33
  isAuthenticated(): Promise<boolean>;
35
34
  login(appName: string, params?: Record<string, string>): Promise<void>;
36
35
  signup(appName: string, params?: Record<string, string>): Promise<void>;
36
+ onAuthStateChanged(listener: (authenticated: boolean) => void): () => void;
37
+ readonly logout: () => Promise<void>;
37
38
  private authFlow;
38
- replaceTokens(tokens: AuthTokens): void;
39
- logout(): void;
39
+ private emitAuthState;
40
+ private resolveTokens;
41
+ private refresh;
40
42
  private readCredentials;
41
43
  private writeCredentials;
42
- private refreshToken;
43
- private startLoopbackServer;
44
44
  }
45
45
  //# sourceMappingURL=auth-node.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"auth-node.d.ts","sourceRoot":"","sources":["../src/auth-node.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACrE,OAAO,EAAiB,KAAK,MAAM,EAAE,MAAM,aAAa,CAAC;AAEzD,MAAM,WAAW,cAAc;IAC3B,2EAA2E;IAC3E,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,wDAAwD;IACxD,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,kBAAkB,CAAC,EAAE,CAAC,aAAa,EAAE,OAAO,KAAK,IAAI,CAAC;CACzD;AASD,qBAAa,gBAAiB,YAAW,YAAY;IACjD,OAAO,CAAC,MAAM,CAAiB;IAC/B,OAAO,CAAC,QAAQ,CAAuB;IACvC,OAAO,CAAC,MAAM,CAAyB;gBAE3B,MAAM,GAAE,cAAmB;IAIvC,mDAAmD;IACnD,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAI7B,iDAAiD;IACjD,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAI/B;;OAEG;IACH,OAAO,KAAK,YAAY,GAKvB;IAED,OAAO,KAAK,eAAe,GAQ1B;IAED;;OAEG;IACH,OAAO,KAAK,YAAY,GAKvB;IAED,UAAU,IAAI,OAAO;IAMf,SAAS,IAAI,OAAO,CAAC;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS,CAAC;IAgBlF,WAAW,IAAI,QAAQ;IAejB,eAAe,IAAI,OAAO,CAAC,OAAO,CAAC;IAKnC,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAItE,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;YAI/D,QAAQ;IAmDtB,aAAa,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI;IAWvC,MAAM,IAAI,IAAI;IAYd,OAAO,CAAC,eAAe;IAWvB,OAAO,CAAC,gBAAgB;YAYV,YAAY;IAyC1B,OAAO,CAAC,mBAAmB;CAyE9B"}
1
+ {"version":3,"file":"auth-node.d.ts","sourceRoot":"","sources":["../src/auth-node.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,QAAQ,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAqB9D,MAAM,WAAW,cAAc;IAC7B,mDAAmD;IACnD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,wEAAwE;IACxE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,8EAA8E;IAC9E,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,+EAA+E;IAC/E,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,6CAA6C;IAC7C,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,0CAA0C;IAC1C,KAAK,CAAC,EAAE,OAAO,UAAU,CAAC,KAAK,CAAC;IAChC,+BAA+B;IAC/B,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACjD;AAED,qBAAa,0BAA2B,SAAQ,KAAK;gBACvC,OAAO,SAAkD;CAItE;AAED,qBAAa,QAAS,YAAW,QAAQ;IACvC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,SAAS,EAAE,MAAM,OAAO,CAAC,iBAAiB,GAAG,SAAS,CAAC,CAAC;IACjE,QAAQ,CAAC,cAAc,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;IAE/C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA+C;IACzE,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;IACxC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAA0B;IACvD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAwC;IAChE,OAAO,CAAC,eAAe,CAA2C;gBAEtD,MAAM,GAAE,cAAmB;IAkBvC,UAAU,IAAI,OAAO,CAAC,OAAO,CAAC;IAIxB,eAAe,IAAI,OAAO,CAAC,OAAO,CAAC;IAIzC,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI1E,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI3E,kBAAkB,CAAC,QAAQ,EAAE,CAAC,aAAa,EAAE,OAAO,KAAK,IAAI,GAAG,MAAM,IAAI;IAK1E,QAAQ,CAAC,MAAM,QAAa,OAAO,CAAC,IAAI,CAAC,CAOvC;YAEY,QAAQ;IA0CtB,OAAO,CAAC,aAAa;YAIP,aAAa;YAmBb,OAAO;YA2DP,eAAe;YA6Bf,gBAAgB;CAqB/B"}