@olib-ai/owl-browser-sdk 1.0.1 → 1.1.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/README.md +99 -6
- package/dist/connection.d.ts +6 -1
- package/dist/connection.d.ts.map +1 -1
- package/dist/connection.js +48 -3
- package/dist/connection.js.map +1 -1
- package/dist/errors.d.ts +49 -0
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +105 -1
- package/dist/errors.js.map +1 -1
- package/dist/index.d.ts +4 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +11 -1
- package/dist/index.js.map +1 -1
- package/dist/jwt.d.ts +160 -0
- package/dist/jwt.d.ts.map +1 -0
- package/dist/jwt.js +310 -0
- package/dist/jwt.js.map +1 -0
- package/dist/types.d.ts +47 -2
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -48,7 +48,7 @@ Connects to a remote browser server via REST API. Best for Docker deployments, m
|
|
|
48
48
|
```typescript
|
|
49
49
|
import { Browser } from '@olib-ai/owl-browser-sdk';
|
|
50
50
|
|
|
51
|
-
// HTTP mode - connect to remote server
|
|
51
|
+
// HTTP mode - connect to remote server (simple token auth)
|
|
52
52
|
const browser = new Browser({
|
|
53
53
|
mode: 'http',
|
|
54
54
|
http: {
|
|
@@ -60,19 +60,69 @@ const browser = new Browser({
|
|
|
60
60
|
await browser.launch();
|
|
61
61
|
```
|
|
62
62
|
|
|
63
|
+
#### JWT Authentication
|
|
64
|
+
|
|
65
|
+
For enhanced security, the server supports JWT (JSON Web Token) authentication with RSA signing. The SDK can automatically generate and refresh JWT tokens using your private key:
|
|
66
|
+
|
|
67
|
+
```typescript
|
|
68
|
+
import { Browser } from '@olib-ai/owl-browser-sdk';
|
|
69
|
+
|
|
70
|
+
// HTTP mode with JWT authentication (auto-generated tokens)
|
|
71
|
+
const browser = new Browser({
|
|
72
|
+
mode: 'http',
|
|
73
|
+
http: {
|
|
74
|
+
baseUrl: 'http://localhost:8080',
|
|
75
|
+
authMode: 'jwt',
|
|
76
|
+
jwt: {
|
|
77
|
+
privateKey: '/path/to/private.pem', // RSA private key
|
|
78
|
+
expiresIn: 3600, // Token validity (1 hour)
|
|
79
|
+
refreshThreshold: 300, // Refresh 5 min before expiry
|
|
80
|
+
issuer: 'my-app', // Optional claims
|
|
81
|
+
subject: 'user-123'
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
});
|
|
85
|
+
await browser.launch();
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
You can also use the JWT utilities directly:
|
|
89
|
+
|
|
90
|
+
```typescript
|
|
91
|
+
import { generateJWT, decodeJWT, JWTManager } from '@olib-ai/owl-browser-sdk';
|
|
92
|
+
|
|
93
|
+
// Generate a single token
|
|
94
|
+
const token = generateJWT('/path/to/private.pem', {
|
|
95
|
+
expiresIn: 7200,
|
|
96
|
+
issuer: 'my-app'
|
|
97
|
+
});
|
|
98
|
+
|
|
99
|
+
// Or use JWTManager for auto-refresh
|
|
100
|
+
const jwtManager = new JWTManager('/path/to/private.pem', {
|
|
101
|
+
expiresIn: 3600,
|
|
102
|
+
refreshThreshold: 300
|
|
103
|
+
});
|
|
104
|
+
const token = jwtManager.getToken(); // Auto-refreshes when needed
|
|
105
|
+
```
|
|
106
|
+
|
|
63
107
|
**Setting up the HTTP server:**
|
|
64
108
|
|
|
65
109
|
```bash
|
|
66
110
|
# Build the HTTP server
|
|
67
111
|
cd build && cmake .. -DCMAKE_BUILD_TYPE=Release && make owl_http_server
|
|
68
112
|
|
|
69
|
-
# Run
|
|
113
|
+
# Run with simple token authentication
|
|
70
114
|
OWL_HTTP_TOKEN=your-secret-token \
|
|
71
115
|
OWL_BROWSER_PATH=/path/to/owl_browser \
|
|
72
116
|
./build/Release/owl_http_server
|
|
117
|
+
|
|
118
|
+
# Run with JWT authentication
|
|
119
|
+
OWL_AUTH_MODE=jwt \
|
|
120
|
+
OWL_JWT_PUBLIC_KEY=/path/to/public.pem \
|
|
121
|
+
OWL_BROWSER_PATH=/path/to/owl_browser \
|
|
122
|
+
./build/Release/owl_http_server
|
|
73
123
|
```
|
|
74
124
|
|
|
75
|
-
See [HTTP Server Documentation](../http-server/README.md) for more details.
|
|
125
|
+
See [HTTP Server Documentation](../http-server/README.md) for more details on JWT configuration and key generation.
|
|
76
126
|
|
|
77
127
|
## Quick Start
|
|
78
128
|
|
|
@@ -502,11 +552,27 @@ const summary = await page.queryPage('Summarize this article in 2 sentences');
|
|
|
502
552
|
|
|
503
553
|
## Error Handling
|
|
504
554
|
|
|
555
|
+
The SDK provides specific exception types for different error scenarios:
|
|
556
|
+
|
|
505
557
|
```typescript
|
|
506
|
-
import {
|
|
558
|
+
import {
|
|
559
|
+
Browser,
|
|
560
|
+
AuthenticationError,
|
|
561
|
+
RateLimitError,
|
|
562
|
+
IPBlockedError,
|
|
563
|
+
LicenseError,
|
|
564
|
+
BrowserInitializationError
|
|
565
|
+
} from '@olib-ai/owl-browser-sdk';
|
|
507
566
|
|
|
508
567
|
async function withErrorHandling() {
|
|
509
|
-
const browser = new Browser(
|
|
568
|
+
const browser = new Browser({
|
|
569
|
+
mode: 'http',
|
|
570
|
+
http: {
|
|
571
|
+
baseUrl: 'http://localhost:8080',
|
|
572
|
+
authMode: 'jwt',
|
|
573
|
+
jwt: { privateKey: '/path/to/private.pem' }
|
|
574
|
+
}
|
|
575
|
+
});
|
|
510
576
|
|
|
511
577
|
try {
|
|
512
578
|
await browser.launch();
|
|
@@ -516,13 +582,40 @@ async function withErrorHandling() {
|
|
|
516
582
|
// Your automation code...
|
|
517
583
|
|
|
518
584
|
} catch (error) {
|
|
519
|
-
|
|
585
|
+
if (error instanceof AuthenticationError) {
|
|
586
|
+
// 401 - Invalid or expired token
|
|
587
|
+
console.error('Auth failed:', error.message);
|
|
588
|
+
console.error('Reason:', error.reason);
|
|
589
|
+
} else if (error instanceof RateLimitError) {
|
|
590
|
+
// 429 - Too many requests
|
|
591
|
+
console.error('Rate limited. Retry after:', error.retryAfter, 'seconds');
|
|
592
|
+
} else if (error instanceof IPBlockedError) {
|
|
593
|
+
// 403 - IP not whitelisted
|
|
594
|
+
console.error('IP blocked:', error.ipAddress);
|
|
595
|
+
} else if (error instanceof LicenseError) {
|
|
596
|
+
// License validation failed
|
|
597
|
+
console.error('License error:', error.status);
|
|
598
|
+
} else {
|
|
599
|
+
console.error('Automation failed:', error);
|
|
600
|
+
}
|
|
520
601
|
} finally {
|
|
521
602
|
await browser.close();
|
|
522
603
|
}
|
|
523
604
|
}
|
|
524
605
|
```
|
|
525
606
|
|
|
607
|
+
### Exception Types
|
|
608
|
+
|
|
609
|
+
| Exception | HTTP Code | Description |
|
|
610
|
+
|-----------|-----------|-------------|
|
|
611
|
+
| `AuthenticationError` | 401 | Invalid/expired token or JWT signature mismatch |
|
|
612
|
+
| `RateLimitError` | 429 | Too many requests, includes `retryAfter` in seconds |
|
|
613
|
+
| `IPBlockedError` | 403 | Client IP not in whitelist |
|
|
614
|
+
| `LicenseError` | 503 | Browser license validation failed |
|
|
615
|
+
| `BrowserInitializationError` | - | Failed to start/connect to browser |
|
|
616
|
+
| `CommandTimeoutError` | - | Operation timed out |
|
|
617
|
+
| `ElementNotFoundError` | - | Element not found on page |
|
|
618
|
+
|
|
526
619
|
## Performance Tips
|
|
527
620
|
|
|
528
621
|
1. **Reuse browser instances** - Creating a new browser is expensive
|
package/dist/connection.d.ts
CHANGED
|
@@ -51,11 +51,16 @@ export declare class LocalConnection implements BrowserConnection {
|
|
|
51
51
|
*/
|
|
52
52
|
export declare class HttpConnection implements BrowserConnection {
|
|
53
53
|
private baseUrl;
|
|
54
|
-
private
|
|
54
|
+
private staticToken?;
|
|
55
|
+
private jwtManager?;
|
|
55
56
|
private timeout;
|
|
56
57
|
private verbose;
|
|
57
58
|
private connected;
|
|
58
59
|
constructor(config: BrowserConfig);
|
|
60
|
+
/**
|
|
61
|
+
* Get the current authentication token (static or JWT)
|
|
62
|
+
*/
|
|
63
|
+
private getAuthToken;
|
|
59
64
|
initialize(): Promise<void>;
|
|
60
65
|
/**
|
|
61
66
|
* Map SDK method names to HTTP API tool names
|
package/dist/connection.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connection.d.ts","sourceRoot":"","sources":["../src/connection.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAOH,OAAO,KAAK,EAAE,aAAa,EAA8B,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"connection.d.ts","sourceRoot":"","sources":["../src/connection.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAOH,OAAO,KAAK,EAAE,aAAa,EAA8B,MAAM,SAAS,CAAC;AAazE;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,gCAAgC;IAChC,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAE5B,4CAA4C;IAC5C,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IAExE,8BAA8B;IAC9B,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAE1B,wCAAwC;IACxC,SAAS,IAAI,OAAO,CAAC;CACtB;AA0BD;;GAEG;AACH,qBAAa,eAAgB,YAAW,iBAAiB;IACvD,OAAO,CAAC,cAAc,CAA6B;IACnD,OAAO,CAAC,SAAS,CAAK;IACtB,OAAO,CAAC,eAAe,CAAqC;IAC5D,OAAO,CAAC,MAAM,CAAM;IACpB,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,OAAO,CAAU;IAGzB,OAAO,CAAC,YAAY,CAA2D;IAC/E,OAAO,CAAC,mBAAmB,CAAuB;gBAEtC,MAAM,EAAE,aAAa;IAOjC;;OAEG;IACH,OAAO,CAAC,iBAAiB;IA8BnB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAiHjC;;OAEG;IACH,OAAO,CAAC,cAAc;IAqBhB,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,GAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IA2B3E,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAgE/B,SAAS,IAAI,OAAO;CAGrB;AAID;;GAEG;AACH,qBAAa,cAAe,YAAW,iBAAiB;IACtD,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,WAAW,CAAC,CAAS;IAC7B,OAAO,CAAC,UAAU,CAAC,CAAa;IAChC,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,OAAO,CAAU;IACzB,OAAO,CAAC,SAAS,CAAS;gBAEd,MAAM,EAAE,aAAa;IAsCjC;;OAEG;IACH,OAAO,CAAC,YAAY;IAUd,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAqCjC;;OAEG;IACH,OAAO,CAAC,eAAe;IAsEvB;;OAEG;IACH,OAAO,CAAC,SAAS;IA8EX,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,GAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAsD3E,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAO/B,SAAS,IAAI,OAAO;IAIpB;;OAEG;IACH,OAAO,CAAC,WAAW;CAwGpB;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,aAAa,GAAG,iBAAiB,CAWzE"}
|
package/dist/connection.js
CHANGED
|
@@ -47,6 +47,7 @@ const fs = __importStar(require("fs"));
|
|
|
47
47
|
const http = __importStar(require("http"));
|
|
48
48
|
const https = __importStar(require("https"));
|
|
49
49
|
const errors_1 = require("./errors");
|
|
50
|
+
const jwt_1 = require("./jwt");
|
|
50
51
|
// License error detection patterns (matching output from native binary)
|
|
51
52
|
const LICENSE_ERROR_PATTERNS = {
|
|
52
53
|
NOT_FOUND: /LICENSE ERROR: No valid license found|License file not found/i,
|
|
@@ -318,9 +319,45 @@ class HttpConnection {
|
|
|
318
319
|
throw new Error('HTTP configuration is required for HTTP connection mode');
|
|
319
320
|
}
|
|
320
321
|
this.baseUrl = config.http.baseUrl.replace(/\/$/, ''); // Remove trailing slash
|
|
321
|
-
this.token = config.http.token;
|
|
322
322
|
this.timeout = config.http.timeout ?? config.initTimeout ?? 30000;
|
|
323
323
|
this.verbose = config.verbose ?? false;
|
|
324
|
+
// Setup authentication
|
|
325
|
+
const authMode = config.http.authMode ?? 'token';
|
|
326
|
+
if (authMode === 'jwt' && config.http.jwt) {
|
|
327
|
+
// JWT mode with auto-generation
|
|
328
|
+
this.jwtManager = new jwt_1.JWTManager(config.http.jwt.privateKey, {
|
|
329
|
+
expiresIn: config.http.jwt.expiresIn,
|
|
330
|
+
issuer: config.http.jwt.issuer,
|
|
331
|
+
subject: config.http.jwt.subject,
|
|
332
|
+
audience: config.http.jwt.audience,
|
|
333
|
+
claims: config.http.jwt.claims,
|
|
334
|
+
}, config.http.jwt.refreshThreshold);
|
|
335
|
+
if (this.verbose) {
|
|
336
|
+
console.error('[HTTP] Using JWT authentication with auto-refresh');
|
|
337
|
+
}
|
|
338
|
+
}
|
|
339
|
+
else if (config.http.token) {
|
|
340
|
+
// Static token mode
|
|
341
|
+
this.staticToken = config.http.token;
|
|
342
|
+
if (this.verbose) {
|
|
343
|
+
console.error('[HTTP] Using static token authentication');
|
|
344
|
+
}
|
|
345
|
+
}
|
|
346
|
+
else {
|
|
347
|
+
throw new Error('Authentication is required: provide either token or jwt configuration');
|
|
348
|
+
}
|
|
349
|
+
}
|
|
350
|
+
/**
|
|
351
|
+
* Get the current authentication token (static or JWT)
|
|
352
|
+
*/
|
|
353
|
+
getAuthToken() {
|
|
354
|
+
if (this.jwtManager) {
|
|
355
|
+
return this.jwtManager.getToken();
|
|
356
|
+
}
|
|
357
|
+
if (this.staticToken) {
|
|
358
|
+
return this.staticToken;
|
|
359
|
+
}
|
|
360
|
+
throw new Error('No authentication token available');
|
|
324
361
|
}
|
|
325
362
|
async initialize() {
|
|
326
363
|
// Check server health
|
|
@@ -572,7 +609,7 @@ class HttpConnection {
|
|
|
572
609
|
}
|
|
573
610
|
// Add auth header for non-health endpoints
|
|
574
611
|
if (path !== '/health') {
|
|
575
|
-
headers['Authorization'] = `Bearer ${this.
|
|
612
|
+
headers['Authorization'] = `Bearer ${this.getAuthToken()}`;
|
|
576
613
|
}
|
|
577
614
|
const options = {
|
|
578
615
|
hostname: url.hostname,
|
|
@@ -593,7 +630,15 @@ class HttpConnection {
|
|
|
593
630
|
// Handle HTTP error status codes
|
|
594
631
|
if (res.statusCode && res.statusCode >= 400) {
|
|
595
632
|
if (res.statusCode === 401) {
|
|
596
|
-
reject(new
|
|
633
|
+
reject(new errors_1.AuthenticationError(json.error || 'Invalid or missing authorization token', json.reason));
|
|
634
|
+
}
|
|
635
|
+
else if (res.statusCode === 403) {
|
|
636
|
+
// Could be IP blocked
|
|
637
|
+
reject(new errors_1.IPBlockedError(json.error || 'Access forbidden - IP not allowed', json.client_ip));
|
|
638
|
+
}
|
|
639
|
+
else if (res.statusCode === 429) {
|
|
640
|
+
// Rate limit exceeded
|
|
641
|
+
reject(new errors_1.RateLimitError(json.error || 'Rate limit exceeded', json.retry_after || 60, json.limit, json.remaining));
|
|
597
642
|
}
|
|
598
643
|
else if (res.statusCode === 503 && json.license_status) {
|
|
599
644
|
reject(new errors_1.LicenseError(json.license_message || 'License error', json.license_status, json.hardware_fingerprint));
|
package/dist/connection.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connection.js","sourceRoot":"","sources":["../src/connection.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"connection.js","sourceRoot":"","sources":["../src/connection.ts"],"names":[],"mappings":"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"}
|
package/dist/errors.d.ts
CHANGED
|
@@ -80,4 +80,53 @@ export declare class NavigationError extends OwlBrowserError {
|
|
|
80
80
|
export declare class ElementNotFoundError extends OwlBrowserError {
|
|
81
81
|
constructor(selector: string);
|
|
82
82
|
}
|
|
83
|
+
/**
|
|
84
|
+
* Raised when authentication fails (401 Unauthorized).
|
|
85
|
+
*
|
|
86
|
+
* This can happen when:
|
|
87
|
+
* - The bearer token is invalid or missing
|
|
88
|
+
* - The JWT token has expired
|
|
89
|
+
* - The JWT token signature is invalid
|
|
90
|
+
* - The JWT token was issued for a different audience
|
|
91
|
+
*/
|
|
92
|
+
export declare class AuthenticationError extends OwlBrowserError {
|
|
93
|
+
/** The HTTP status code (always 401) */
|
|
94
|
+
readonly statusCode: number;
|
|
95
|
+
/** Optional reason for authentication failure */
|
|
96
|
+
readonly reason?: string;
|
|
97
|
+
constructor(message: string, reason?: string);
|
|
98
|
+
private static formatMessage;
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* Raised when the client is rate limited (429 Too Many Requests).
|
|
102
|
+
*
|
|
103
|
+
* The server implements rate limiting to prevent abuse. When this error
|
|
104
|
+
* is thrown, the client should wait before retrying.
|
|
105
|
+
*/
|
|
106
|
+
export declare class RateLimitError extends OwlBrowserError {
|
|
107
|
+
/** The HTTP status code (always 429) */
|
|
108
|
+
readonly statusCode: number;
|
|
109
|
+
/** Number of seconds to wait before retrying */
|
|
110
|
+
readonly retryAfter: number;
|
|
111
|
+
/** Maximum requests allowed per window */
|
|
112
|
+
readonly limit?: number;
|
|
113
|
+
/** Remaining requests in current window */
|
|
114
|
+
readonly remaining?: number;
|
|
115
|
+
constructor(message: string, retryAfter: number, limit?: number, remaining?: number);
|
|
116
|
+
private static formatMessage;
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* Raised when the client IP is blacklisted/not whitelisted (403 Forbidden).
|
|
120
|
+
*
|
|
121
|
+
* The server may implement IP-based access control. When this error
|
|
122
|
+
* is thrown, the client's IP is not allowed to access the server.
|
|
123
|
+
*/
|
|
124
|
+
export declare class IPBlockedError extends OwlBrowserError {
|
|
125
|
+
/** The HTTP status code (always 403) */
|
|
126
|
+
readonly statusCode: number;
|
|
127
|
+
/** The blocked IP address (if known) */
|
|
128
|
+
readonly ipAddress?: string;
|
|
129
|
+
constructor(message: string, ipAddress?: string);
|
|
130
|
+
private static formatMessage;
|
|
131
|
+
}
|
|
83
132
|
//# sourceMappingURL=errors.d.ts.map
|
package/dist/errors.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;GAEG;AACH,qBAAa,eAAgB,SAAQ,KAAK;gBAC5B,OAAO,EAAE,MAAM;CAI5B;AAED;;GAEG;AACH,oBAAY,aAAa;IACvB,SAAS,cAAc;IACvB,OAAO,YAAY;IACnB,iBAAiB,sBAAsB;IACvC,SAAS,cAAc;IACvB,iBAAiB,sBAAsB;IACvC,QAAQ,aAAa;IACrB,cAAc,mBAAmB;IACjC,iBAAiB,sBAAsB;IACvC,qBAAqB,0BAA0B;IAC/C,yBAAyB,8BAA8B;IACvD,aAAa,kBAAkB;CAChC;AAED;;;;;;;;;;GAUG;AACH,qBAAa,YAAa,SAAQ,eAAe;IAC/C,8BAA8B;IAC9B,SAAgB,MAAM,EAAE,aAAa,GAAG,MAAM,GAAG,SAAS,CAAC;IAE3D,uEAAuE;IACvE,SAAgB,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;gBAG9C,OAAO,EAAE,MAAM,EACf,MAAM,CAAC,EAAE,aAAa,GAAG,MAAM,EAC/B,WAAW,CAAC,EAAE,MAAM;IAQtB,OAAO,CAAC,MAAM,CAAC,aAAa;CAuC7B;AAED;;GAEG;AACH,qBAAa,0BAA2B,SAAQ,eAAe;gBACjD,OAAO,EAAE,MAAM;CAI5B;AAED;;GAEG;AACH,qBAAa,sBAAuB,SAAQ,eAAe;gBAC7C,OAAO,GAAE,MAAiC;CAIvD;AAED;;GAEG;AACH,qBAAa,mBAAoB,SAAQ,eAAe;gBAC1C,OAAO,EAAE,MAAM;CAI5B;AAED;;GAEG;AACH,qBAAa,YAAa,SAAQ,eAAe;gBACnC,OAAO,EAAE,MAAM;CAI5B;AAED;;GAEG;AACH,qBAAa,eAAgB,SAAQ,eAAe;gBACtC,OAAO,EAAE,MAAM;CAI5B;AAED;;GAEG;AACH,qBAAa,oBAAqB,SAAQ,eAAe;gBAC3C,QAAQ,EAAE,MAAM;CAI7B"}
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;GAEG;AACH,qBAAa,eAAgB,SAAQ,KAAK;gBAC5B,OAAO,EAAE,MAAM;CAI5B;AAED;;GAEG;AACH,oBAAY,aAAa;IACvB,SAAS,cAAc;IACvB,OAAO,YAAY;IACnB,iBAAiB,sBAAsB;IACvC,SAAS,cAAc;IACvB,iBAAiB,sBAAsB;IACvC,QAAQ,aAAa;IACrB,cAAc,mBAAmB;IACjC,iBAAiB,sBAAsB;IACvC,qBAAqB,0BAA0B;IAC/C,yBAAyB,8BAA8B;IACvD,aAAa,kBAAkB;CAChC;AAED;;;;;;;;;;GAUG;AACH,qBAAa,YAAa,SAAQ,eAAe;IAC/C,8BAA8B;IAC9B,SAAgB,MAAM,EAAE,aAAa,GAAG,MAAM,GAAG,SAAS,CAAC;IAE3D,uEAAuE;IACvE,SAAgB,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;gBAG9C,OAAO,EAAE,MAAM,EACf,MAAM,CAAC,EAAE,aAAa,GAAG,MAAM,EAC/B,WAAW,CAAC,EAAE,MAAM;IAQtB,OAAO,CAAC,MAAM,CAAC,aAAa;CAuC7B;AAED;;GAEG;AACH,qBAAa,0BAA2B,SAAQ,eAAe;gBACjD,OAAO,EAAE,MAAM;CAI5B;AAED;;GAEG;AACH,qBAAa,sBAAuB,SAAQ,eAAe;gBAC7C,OAAO,GAAE,MAAiC;CAIvD;AAED;;GAEG;AACH,qBAAa,mBAAoB,SAAQ,eAAe;gBAC1C,OAAO,EAAE,MAAM;CAI5B;AAED;;GAEG;AACH,qBAAa,YAAa,SAAQ,eAAe;gBACnC,OAAO,EAAE,MAAM;CAI5B;AAED;;GAEG;AACH,qBAAa,eAAgB,SAAQ,eAAe;gBACtC,OAAO,EAAE,MAAM;CAI5B;AAED;;GAEG;AACH,qBAAa,oBAAqB,SAAQ,eAAe;gBAC3C,QAAQ,EAAE,MAAM;CAI7B;AAED;;;;;;;;GAQG;AACH,qBAAa,mBAAoB,SAAQ,eAAe;IACtD,wCAAwC;IACxC,SAAgB,UAAU,EAAE,MAAM,CAAO;IAEzC,iDAAiD;IACjD,SAAgB,MAAM,CAAC,EAAE,MAAM,CAAC;gBAEpB,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM;IAM5C,OAAO,CAAC,MAAM,CAAC,aAAa;CAqB7B;AAED;;;;;GAKG;AACH,qBAAa,cAAe,SAAQ,eAAe;IACjD,wCAAwC;IACxC,SAAgB,UAAU,EAAE,MAAM,CAAO;IAEzC,gDAAgD;IAChD,SAAgB,UAAU,EAAE,MAAM,CAAC;IAEnC,0CAA0C;IAC1C,SAAgB,KAAK,CAAC,EAAE,MAAM,CAAC;IAE/B,2CAA2C;IAC3C,SAAgB,SAAS,CAAC,EAAE,MAAM,CAAC;gBAGjC,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,EAClB,KAAK,CAAC,EAAE,MAAM,EACd,SAAS,CAAC,EAAE,MAAM;IASpB,OAAO,CAAC,MAAM,CAAC,aAAa;CA0B7B;AAED;;;;;GAKG;AACH,qBAAa,cAAe,SAAQ,eAAe;IACjD,wCAAwC;IACxC,SAAgB,UAAU,EAAE,MAAM,CAAO;IAEzC,wCAAwC;IACxC,SAAgB,SAAS,CAAC,EAAE,MAAM,CAAC;gBAEvB,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM;IAM/C,OAAO,CAAC,MAAM,CAAC,aAAa;CAoB7B"}
|
package/dist/errors.js
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* Custom error classes for better error handling and reporting.
|
|
6
6
|
*/
|
|
7
7
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
-
exports.ElementNotFoundError = exports.NavigationError = exports.ContextError = exports.CommandTimeoutError = exports.BrowserNotRunningError = exports.BrowserInitializationError = exports.LicenseError = exports.LicenseStatus = exports.OwlBrowserError = void 0;
|
|
8
|
+
exports.IPBlockedError = exports.RateLimitError = exports.AuthenticationError = exports.ElementNotFoundError = exports.NavigationError = exports.ContextError = exports.CommandTimeoutError = exports.BrowserNotRunningError = exports.BrowserInitializationError = exports.LicenseError = exports.LicenseStatus = exports.OwlBrowserError = void 0;
|
|
9
9
|
/**
|
|
10
10
|
* Base error for all Owl Browser SDK errors
|
|
11
11
|
*/
|
|
@@ -147,4 +147,108 @@ class ElementNotFoundError extends OwlBrowserError {
|
|
|
147
147
|
}
|
|
148
148
|
}
|
|
149
149
|
exports.ElementNotFoundError = ElementNotFoundError;
|
|
150
|
+
/**
|
|
151
|
+
* Raised when authentication fails (401 Unauthorized).
|
|
152
|
+
*
|
|
153
|
+
* This can happen when:
|
|
154
|
+
* - The bearer token is invalid or missing
|
|
155
|
+
* - The JWT token has expired
|
|
156
|
+
* - The JWT token signature is invalid
|
|
157
|
+
* - The JWT token was issued for a different audience
|
|
158
|
+
*/
|
|
159
|
+
class AuthenticationError extends OwlBrowserError {
|
|
160
|
+
constructor(message, reason) {
|
|
161
|
+
super(AuthenticationError.formatMessage(message, reason));
|
|
162
|
+
/** The HTTP status code (always 401) */
|
|
163
|
+
this.statusCode = 401;
|
|
164
|
+
this.name = 'AuthenticationError';
|
|
165
|
+
this.reason = reason;
|
|
166
|
+
}
|
|
167
|
+
static formatMessage(message, reason) {
|
|
168
|
+
const lines = [`Authentication Error: ${message}`];
|
|
169
|
+
if (reason) {
|
|
170
|
+
lines.push(`Reason: ${reason}`);
|
|
171
|
+
}
|
|
172
|
+
lines.push('');
|
|
173
|
+
lines.push('Possible causes:');
|
|
174
|
+
lines.push(' - Invalid or expired bearer token');
|
|
175
|
+
lines.push(' - JWT token has expired (check exp claim)');
|
|
176
|
+
lines.push(' - JWT signature verification failed');
|
|
177
|
+
lines.push(' - Token issued for different audience (aud claim mismatch)');
|
|
178
|
+
lines.push('');
|
|
179
|
+
lines.push('For JWT authentication, ensure your token:');
|
|
180
|
+
lines.push(' - Has not expired (exp > current time)');
|
|
181
|
+
lines.push(' - Is signed with the correct private key');
|
|
182
|
+
lines.push(' - Has matching issuer (iss) and audience (aud) claims');
|
|
183
|
+
return lines.join('\n');
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
exports.AuthenticationError = AuthenticationError;
|
|
187
|
+
/**
|
|
188
|
+
* Raised when the client is rate limited (429 Too Many Requests).
|
|
189
|
+
*
|
|
190
|
+
* The server implements rate limiting to prevent abuse. When this error
|
|
191
|
+
* is thrown, the client should wait before retrying.
|
|
192
|
+
*/
|
|
193
|
+
class RateLimitError extends OwlBrowserError {
|
|
194
|
+
constructor(message, retryAfter, limit, remaining) {
|
|
195
|
+
super(RateLimitError.formatMessage(message, retryAfter, limit, remaining));
|
|
196
|
+
/** The HTTP status code (always 429) */
|
|
197
|
+
this.statusCode = 429;
|
|
198
|
+
this.name = 'RateLimitError';
|
|
199
|
+
this.retryAfter = retryAfter;
|
|
200
|
+
this.limit = limit;
|
|
201
|
+
this.remaining = remaining;
|
|
202
|
+
}
|
|
203
|
+
static formatMessage(message, retryAfter, limit, remaining) {
|
|
204
|
+
const lines = [`Rate Limit Error: ${message}`];
|
|
205
|
+
lines.push(`Retry After: ${retryAfter} seconds`);
|
|
206
|
+
if (limit !== undefined) {
|
|
207
|
+
lines.push(`Rate Limit: ${limit} requests per window`);
|
|
208
|
+
}
|
|
209
|
+
if (remaining !== undefined) {
|
|
210
|
+
lines.push(`Remaining: ${remaining}`);
|
|
211
|
+
}
|
|
212
|
+
lines.push('');
|
|
213
|
+
lines.push('To avoid rate limiting:');
|
|
214
|
+
lines.push(' - Reduce request frequency');
|
|
215
|
+
lines.push(' - Implement exponential backoff');
|
|
216
|
+
lines.push(' - Contact support for higher limits');
|
|
217
|
+
return lines.join('\n');
|
|
218
|
+
}
|
|
219
|
+
}
|
|
220
|
+
exports.RateLimitError = RateLimitError;
|
|
221
|
+
/**
|
|
222
|
+
* Raised when the client IP is blacklisted/not whitelisted (403 Forbidden).
|
|
223
|
+
*
|
|
224
|
+
* The server may implement IP-based access control. When this error
|
|
225
|
+
* is thrown, the client's IP is not allowed to access the server.
|
|
226
|
+
*/
|
|
227
|
+
class IPBlockedError extends OwlBrowserError {
|
|
228
|
+
constructor(message, ipAddress) {
|
|
229
|
+
super(IPBlockedError.formatMessage(message, ipAddress));
|
|
230
|
+
/** The HTTP status code (always 403) */
|
|
231
|
+
this.statusCode = 403;
|
|
232
|
+
this.name = 'IPBlockedError';
|
|
233
|
+
this.ipAddress = ipAddress;
|
|
234
|
+
}
|
|
235
|
+
static formatMessage(message, ipAddress) {
|
|
236
|
+
const lines = [`IP Blocked Error: ${message}`];
|
|
237
|
+
if (ipAddress) {
|
|
238
|
+
lines.push(`Your IP: ${ipAddress}`);
|
|
239
|
+
}
|
|
240
|
+
lines.push('');
|
|
241
|
+
lines.push('Your IP address is not allowed to access this server.');
|
|
242
|
+
lines.push('');
|
|
243
|
+
lines.push('Possible causes:');
|
|
244
|
+
lines.push(' - IP whitelist is enabled and your IP is not whitelisted');
|
|
245
|
+
lines.push(' - Your IP has been blocked due to suspicious activity');
|
|
246
|
+
lines.push('');
|
|
247
|
+
lines.push('To resolve:');
|
|
248
|
+
lines.push(' - Contact the server administrator');
|
|
249
|
+
lines.push(' - Request your IP to be added to the whitelist');
|
|
250
|
+
return lines.join('\n');
|
|
251
|
+
}
|
|
252
|
+
}
|
|
253
|
+
exports.IPBlockedError = IPBlockedError;
|
|
150
254
|
//# sourceMappingURL=errors.js.map
|
package/dist/errors.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -48,6 +48,8 @@
|
|
|
48
48
|
export { Browser } from './browser';
|
|
49
49
|
export { BrowserContext } from './context';
|
|
50
50
|
export { sleep } from './helpers';
|
|
51
|
-
export {
|
|
52
|
-
export type {
|
|
51
|
+
export { generateJWT, decodeJWT, isJWTExpired, getJWTRemainingTime, JWTManager, } from './jwt';
|
|
52
|
+
export type { JWTClaims, JWTOptions } from './jwt';
|
|
53
|
+
export { OwlBrowserError, LicenseError, LicenseStatus, BrowserInitializationError, BrowserNotRunningError, CommandTimeoutError, ContextError, NavigationError, ElementNotFoundError, AuthenticationError, RateLimitError, IPBlockedError, } from './errors';
|
|
54
|
+
export type { BrowserConfig, ContextId, NavigateOptions, ScreenshotOptions, Viewport, PageInfo, ElementMatch, CleanLevel, MarkdownOptions, VideoRecordingOptions, VideoStats, WaitForSelectorOptions, LLMStatus, ExtractionTemplate, KeyName, DemographicsInfo, LocationInfo, DateTimeInfo, WeatherInfo, TestStep, TestTemplate, TestExecutionOptions, TestExecutionResult, Cookie, CookieSameSite, SetCookieOptions, ProxyType, ProxyConfig, ProxyStatus, ContextOptions, BrowserFingerprint, BrowserProfile, HttpConfig, JWTConfig, ConnectionMode, AuthMode, } from './types';
|
|
53
55
|
//# 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":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8CG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AAGlC,OAAO,EACL,eAAe,EACf,YAAY,EACZ,aAAa,EACb,0BAA0B,EAC1B,sBAAsB,EACtB,mBAAmB,EACnB,YAAY,EACZ,eAAe,EACf,oBAAoB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8CG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AAGlC,OAAO,EACL,WAAW,EACX,SAAS,EACT,YAAY,EACZ,mBAAmB,EACnB,UAAU,GACX,MAAM,OAAO,CAAC;AACf,YAAY,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAGnD,OAAO,EACL,eAAe,EACf,YAAY,EACZ,aAAa,EACb,0BAA0B,EAC1B,sBAAsB,EACtB,mBAAmB,EACnB,YAAY,EACZ,eAAe,EACf,oBAAoB,EACpB,mBAAmB,EACnB,cAAc,EACd,cAAc,GACf,MAAM,UAAU,CAAC;AAClB,YAAY,EACV,aAAa,EACb,SAAS,EACT,eAAe,EACf,iBAAiB,EACjB,QAAQ,EACR,QAAQ,EACR,YAAY,EACZ,UAAU,EACV,eAAe,EACf,qBAAqB,EACrB,UAAU,EACV,sBAAsB,EACtB,SAAS,EACT,kBAAkB,EAClB,OAAO,EACP,gBAAgB,EAChB,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,QAAQ,EACR,YAAY,EACZ,oBAAoB,EACpB,mBAAmB,EAEnB,MAAM,EACN,cAAc,EACd,gBAAgB,EAEhB,SAAS,EACT,WAAW,EACX,WAAW,EAEX,cAAc,EAEd,kBAAkB,EAClB,cAAc,EAEd,UAAU,EACV,SAAS,EACT,cAAc,EACd,QAAQ,GACT,MAAM,SAAS,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -47,13 +47,20 @@
|
|
|
47
47
|
* ```
|
|
48
48
|
*/
|
|
49
49
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
50
|
-
exports.ElementNotFoundError = exports.NavigationError = exports.ContextError = exports.CommandTimeoutError = exports.BrowserNotRunningError = exports.BrowserInitializationError = exports.LicenseStatus = exports.LicenseError = exports.OwlBrowserError = exports.sleep = exports.BrowserContext = exports.Browser = void 0;
|
|
50
|
+
exports.IPBlockedError = exports.RateLimitError = exports.AuthenticationError = exports.ElementNotFoundError = exports.NavigationError = exports.ContextError = exports.CommandTimeoutError = exports.BrowserNotRunningError = exports.BrowserInitializationError = exports.LicenseStatus = exports.LicenseError = exports.OwlBrowserError = exports.JWTManager = exports.getJWTRemainingTime = exports.isJWTExpired = exports.decodeJWT = exports.generateJWT = exports.sleep = exports.BrowserContext = exports.Browser = void 0;
|
|
51
51
|
var browser_1 = require("./browser");
|
|
52
52
|
Object.defineProperty(exports, "Browser", { enumerable: true, get: function () { return browser_1.Browser; } });
|
|
53
53
|
var context_1 = require("./context");
|
|
54
54
|
Object.defineProperty(exports, "BrowserContext", { enumerable: true, get: function () { return context_1.BrowserContext; } });
|
|
55
55
|
var helpers_1 = require("./helpers");
|
|
56
56
|
Object.defineProperty(exports, "sleep", { enumerable: true, get: function () { return helpers_1.sleep; } });
|
|
57
|
+
// JWT utilities for HTTP authentication
|
|
58
|
+
var jwt_1 = require("./jwt");
|
|
59
|
+
Object.defineProperty(exports, "generateJWT", { enumerable: true, get: function () { return jwt_1.generateJWT; } });
|
|
60
|
+
Object.defineProperty(exports, "decodeJWT", { enumerable: true, get: function () { return jwt_1.decodeJWT; } });
|
|
61
|
+
Object.defineProperty(exports, "isJWTExpired", { enumerable: true, get: function () { return jwt_1.isJWTExpired; } });
|
|
62
|
+
Object.defineProperty(exports, "getJWTRemainingTime", { enumerable: true, get: function () { return jwt_1.getJWTRemainingTime; } });
|
|
63
|
+
Object.defineProperty(exports, "JWTManager", { enumerable: true, get: function () { return jwt_1.JWTManager; } });
|
|
57
64
|
// Error classes and types
|
|
58
65
|
var errors_1 = require("./errors");
|
|
59
66
|
Object.defineProperty(exports, "OwlBrowserError", { enumerable: true, get: function () { return errors_1.OwlBrowserError; } });
|
|
@@ -65,4 +72,7 @@ Object.defineProperty(exports, "CommandTimeoutError", { enumerable: true, get: f
|
|
|
65
72
|
Object.defineProperty(exports, "ContextError", { enumerable: true, get: function () { return errors_1.ContextError; } });
|
|
66
73
|
Object.defineProperty(exports, "NavigationError", { enumerable: true, get: function () { return errors_1.NavigationError; } });
|
|
67
74
|
Object.defineProperty(exports, "ElementNotFoundError", { enumerable: true, get: function () { return errors_1.ElementNotFoundError; } });
|
|
75
|
+
Object.defineProperty(exports, "AuthenticationError", { enumerable: true, get: function () { return errors_1.AuthenticationError; } });
|
|
76
|
+
Object.defineProperty(exports, "RateLimitError", { enumerable: true, get: function () { return errors_1.RateLimitError; } });
|
|
77
|
+
Object.defineProperty(exports, "IPBlockedError", { enumerable: true, get: function () { return errors_1.IPBlockedError; } });
|
|
68
78
|
//# 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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8CG;;;AAEH,qCAAoC;AAA3B,kGAAA,OAAO,OAAA;AAChB,qCAA2C;AAAlC,yGAAA,cAAc,OAAA;AACvB,qCAAkC;AAAzB,gGAAA,KAAK,OAAA;AAEd,0BAA0B;AAC1B,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8CG;;;AAEH,qCAAoC;AAA3B,kGAAA,OAAO,OAAA;AAChB,qCAA2C;AAAlC,yGAAA,cAAc,OAAA;AACvB,qCAAkC;AAAzB,gGAAA,KAAK,OAAA;AAEd,wCAAwC;AACxC,6BAMe;AALb,kGAAA,WAAW,OAAA;AACX,gGAAA,SAAS,OAAA;AACT,mGAAA,YAAY,OAAA;AACZ,0GAAA,mBAAmB,OAAA;AACnB,iGAAA,UAAU,OAAA;AAIZ,0BAA0B;AAC1B,mCAakB;AAZhB,yGAAA,eAAe,OAAA;AACf,sGAAA,YAAY,OAAA;AACZ,uGAAA,aAAa,OAAA;AACb,oHAAA,0BAA0B,OAAA;AAC1B,gHAAA,sBAAsB,OAAA;AACtB,6GAAA,mBAAmB,OAAA;AACnB,sGAAA,YAAY,OAAA;AACZ,yGAAA,eAAe,OAAA;AACf,8GAAA,oBAAoB,OAAA;AACpB,6GAAA,mBAAmB,OAAA;AACnB,wGAAA,cAAc,OAAA;AACd,wGAAA,cAAc,OAAA"}
|
package/dist/jwt.d.ts
ADDED
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* JWT (JSON Web Token) utilities for RS256 signing.
|
|
3
|
+
*
|
|
4
|
+
* This module provides JWT generation capabilities using RSA-SHA256 (RS256)
|
|
5
|
+
* algorithm for secure authentication with the Owl Browser HTTP server.
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* JWT claims structure
|
|
9
|
+
*/
|
|
10
|
+
export interface JWTClaims {
|
|
11
|
+
/** Issuer - identifies who issued the token */
|
|
12
|
+
iss?: string;
|
|
13
|
+
/** Subject - identifies the principal (e.g., user ID) */
|
|
14
|
+
sub?: string;
|
|
15
|
+
/** Audience - identifies the intended recipient */
|
|
16
|
+
aud?: string;
|
|
17
|
+
/** Expiration time (Unix timestamp) */
|
|
18
|
+
exp?: number;
|
|
19
|
+
/** Not before time (Unix timestamp) */
|
|
20
|
+
nbf?: number;
|
|
21
|
+
/** Issued at time (Unix timestamp) */
|
|
22
|
+
iat?: number;
|
|
23
|
+
/** JWT ID - unique identifier for the token */
|
|
24
|
+
jti?: string;
|
|
25
|
+
/** Additional custom claims */
|
|
26
|
+
[key: string]: any;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Options for JWT generation
|
|
30
|
+
*/
|
|
31
|
+
export interface JWTOptions {
|
|
32
|
+
/** Token validity duration in seconds (default: 3600 = 1 hour) */
|
|
33
|
+
expiresIn?: number;
|
|
34
|
+
/** Issuer claim */
|
|
35
|
+
issuer?: string;
|
|
36
|
+
/** Subject claim */
|
|
37
|
+
subject?: string;
|
|
38
|
+
/** Audience claim */
|
|
39
|
+
audience?: string;
|
|
40
|
+
/** Additional custom claims */
|
|
41
|
+
claims?: Record<string, any>;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Generate a JWT token signed with RS256.
|
|
45
|
+
*
|
|
46
|
+
* @param privateKey - PEM-encoded RSA private key string or path to key file
|
|
47
|
+
* @param options - JWT generation options
|
|
48
|
+
* @returns Signed JWT token string
|
|
49
|
+
*
|
|
50
|
+
* @example
|
|
51
|
+
* ```typescript
|
|
52
|
+
* import { generateJWT } from '@olib-ai/owl-browser-sdk';
|
|
53
|
+
*
|
|
54
|
+
* // Generate with default options (1 hour expiry)
|
|
55
|
+
* const token = generateJWT('/path/to/private.pem');
|
|
56
|
+
*
|
|
57
|
+
* // Generate with custom options
|
|
58
|
+
* const token = generateJWT('/path/to/private.pem', {
|
|
59
|
+
* expiresIn: 7200, // 2 hours
|
|
60
|
+
* issuer: 'my-app',
|
|
61
|
+
* subject: 'user-123',
|
|
62
|
+
* claims: { role: 'admin' }
|
|
63
|
+
* });
|
|
64
|
+
* ```
|
|
65
|
+
*/
|
|
66
|
+
export declare function generateJWT(privateKey: string, options?: JWTOptions): string;
|
|
67
|
+
/**
|
|
68
|
+
* Decode a JWT token without verifying the signature.
|
|
69
|
+
* Useful for debugging or inspecting token contents.
|
|
70
|
+
*
|
|
71
|
+
* @param token - JWT token string
|
|
72
|
+
* @returns Decoded header and payload
|
|
73
|
+
*
|
|
74
|
+
* @example
|
|
75
|
+
* ```typescript
|
|
76
|
+
* const { header, payload } = decodeJWT(token);
|
|
77
|
+
* console.log('Token expires at:', new Date(payload.exp * 1000));
|
|
78
|
+
* ```
|
|
79
|
+
*/
|
|
80
|
+
export declare function decodeJWT(token: string): {
|
|
81
|
+
header: any;
|
|
82
|
+
payload: JWTClaims;
|
|
83
|
+
};
|
|
84
|
+
/**
|
|
85
|
+
* Check if a JWT token is expired.
|
|
86
|
+
*
|
|
87
|
+
* @param token - JWT token string
|
|
88
|
+
* @param clockSkew - Allowed clock skew in seconds (default: 60)
|
|
89
|
+
* @returns True if the token is expired
|
|
90
|
+
*/
|
|
91
|
+
export declare function isJWTExpired(token: string, clockSkew?: number): boolean;
|
|
92
|
+
/**
|
|
93
|
+
* Get the remaining validity time of a JWT token in seconds.
|
|
94
|
+
*
|
|
95
|
+
* @param token - JWT token string
|
|
96
|
+
* @returns Remaining time in seconds, or -1 if expired/invalid
|
|
97
|
+
*/
|
|
98
|
+
export declare function getJWTRemainingTime(token: string): number;
|
|
99
|
+
/**
|
|
100
|
+
* JWTManager class for managing JWT tokens with automatic refresh.
|
|
101
|
+
*
|
|
102
|
+
* This class handles token generation and automatic refresh before expiration,
|
|
103
|
+
* making it easy to maintain a valid token for long-running operations.
|
|
104
|
+
*
|
|
105
|
+
* @example
|
|
106
|
+
* ```typescript
|
|
107
|
+
* import { JWTManager } from '@olib-ai/owl-browser-sdk';
|
|
108
|
+
*
|
|
109
|
+
* const jwtManager = new JWTManager('/path/to/private.pem', {
|
|
110
|
+
* expiresIn: 3600,
|
|
111
|
+
* refreshThreshold: 300, // Refresh 5 minutes before expiry
|
|
112
|
+
* issuer: 'my-app'
|
|
113
|
+
* });
|
|
114
|
+
*
|
|
115
|
+
* // Get a valid token (auto-refreshes if needed)
|
|
116
|
+
* const token = jwtManager.getToken();
|
|
117
|
+
* ```
|
|
118
|
+
*/
|
|
119
|
+
export declare class JWTManager {
|
|
120
|
+
private privateKey;
|
|
121
|
+
private options;
|
|
122
|
+
private refreshThreshold;
|
|
123
|
+
private currentToken;
|
|
124
|
+
/**
|
|
125
|
+
* Create a new JWTManager.
|
|
126
|
+
*
|
|
127
|
+
* @param privateKeyOrPath - PEM-encoded RSA private key string or path to key file
|
|
128
|
+
* @param options - JWT generation options
|
|
129
|
+
* @param refreshThreshold - Seconds before expiry to refresh token (default: 300 = 5 minutes)
|
|
130
|
+
*/
|
|
131
|
+
constructor(privateKeyOrPath: string, options?: JWTOptions, refreshThreshold?: number);
|
|
132
|
+
/**
|
|
133
|
+
* Get a valid JWT token. Automatically generates a new token if the current
|
|
134
|
+
* one is expired or about to expire.
|
|
135
|
+
*
|
|
136
|
+
* @returns Valid JWT token string
|
|
137
|
+
*/
|
|
138
|
+
getToken(): string;
|
|
139
|
+
/**
|
|
140
|
+
* Force refresh the token regardless of expiration status.
|
|
141
|
+
*
|
|
142
|
+
* @returns New JWT token string
|
|
143
|
+
*/
|
|
144
|
+
refreshToken(): string;
|
|
145
|
+
/**
|
|
146
|
+
* Check if the current token should be refreshed.
|
|
147
|
+
*/
|
|
148
|
+
private shouldRefresh;
|
|
149
|
+
/**
|
|
150
|
+
* Get the remaining validity time of the current token.
|
|
151
|
+
*
|
|
152
|
+
* @returns Remaining time in seconds, or -1 if no valid token
|
|
153
|
+
*/
|
|
154
|
+
getRemainingTime(): number;
|
|
155
|
+
/**
|
|
156
|
+
* Clear the current token (for cleanup or forced re-authentication).
|
|
157
|
+
*/
|
|
158
|
+
clearToken(): void;
|
|
159
|
+
}
|
|
160
|
+
//# sourceMappingURL=jwt.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jwt.d.ts","sourceRoot":"","sources":["../src/jwt.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,+CAA+C;IAC/C,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,yDAAyD;IACzD,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,mDAAmD;IACnD,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,uCAAuC;IACvC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,uCAAuC;IACvC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,sCAAsC;IACtC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,+CAA+C;IAC/C,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,+BAA+B;IAC/B,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,kEAAkE;IAClE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,mBAAmB;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,oBAAoB;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,qBAAqB;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,+BAA+B;IAC/B,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC9B;AAqCD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,WAAW,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,GAAE,UAAe,GAAG,MAAM,CAmDhF;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG;IAAE,MAAM,EAAE,GAAG,CAAC;IAAC,OAAO,EAAE,SAAS,CAAA;CAAE,CAe5E;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,GAAE,MAAW,GAAG,OAAO,CAW3E;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAYzD;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,qBAAa,UAAU;IACrB,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,OAAO,CAAa;IAC5B,OAAO,CAAC,gBAAgB,CAAS;IACjC,OAAO,CAAC,YAAY,CAAuB;IAE3C;;;;;;OAMG;gBAED,gBAAgB,EAAE,MAAM,EACxB,OAAO,GAAE,UAAe,EACxB,gBAAgB,GAAE,MAAY;IAgBhC;;;;;OAKG;IACH,QAAQ,IAAI,MAAM;IASlB;;;;OAIG;IACH,YAAY,IAAI,MAAM;IAKtB;;OAEG;IACH,OAAO,CAAC,aAAa;IASrB;;;;OAIG;IACH,gBAAgB,IAAI,MAAM;IAO1B;;OAEG;IACH,UAAU,IAAI,IAAI;CAGnB"}
|
package/dist/jwt.js
ADDED
|
@@ -0,0 +1,310 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* JWT (JSON Web Token) utilities for RS256 signing.
|
|
4
|
+
*
|
|
5
|
+
* This module provides JWT generation capabilities using RSA-SHA256 (RS256)
|
|
6
|
+
* algorithm for secure authentication with the Owl Browser HTTP server.
|
|
7
|
+
*/
|
|
8
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
9
|
+
if (k2 === undefined) k2 = k;
|
|
10
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
11
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
12
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
13
|
+
}
|
|
14
|
+
Object.defineProperty(o, k2, desc);
|
|
15
|
+
}) : (function(o, m, k, k2) {
|
|
16
|
+
if (k2 === undefined) k2 = k;
|
|
17
|
+
o[k2] = m[k];
|
|
18
|
+
}));
|
|
19
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
20
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
21
|
+
}) : function(o, v) {
|
|
22
|
+
o["default"] = v;
|
|
23
|
+
});
|
|
24
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
25
|
+
var ownKeys = function(o) {
|
|
26
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
27
|
+
var ar = [];
|
|
28
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
29
|
+
return ar;
|
|
30
|
+
};
|
|
31
|
+
return ownKeys(o);
|
|
32
|
+
};
|
|
33
|
+
return function (mod) {
|
|
34
|
+
if (mod && mod.__esModule) return mod;
|
|
35
|
+
var result = {};
|
|
36
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
37
|
+
__setModuleDefault(result, mod);
|
|
38
|
+
return result;
|
|
39
|
+
};
|
|
40
|
+
})();
|
|
41
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
42
|
+
exports.JWTManager = void 0;
|
|
43
|
+
exports.generateJWT = generateJWT;
|
|
44
|
+
exports.decodeJWT = decodeJWT;
|
|
45
|
+
exports.isJWTExpired = isJWTExpired;
|
|
46
|
+
exports.getJWTRemainingTime = getJWTRemainingTime;
|
|
47
|
+
const crypto = __importStar(require("crypto"));
|
|
48
|
+
const fs = __importStar(require("fs"));
|
|
49
|
+
/**
|
|
50
|
+
* Base64URL encode a buffer or string
|
|
51
|
+
*/
|
|
52
|
+
function base64urlEncode(data) {
|
|
53
|
+
const buffer = typeof data === 'string' ? Buffer.from(data, 'utf-8') : data;
|
|
54
|
+
return buffer
|
|
55
|
+
.toString('base64')
|
|
56
|
+
.replace(/\+/g, '-')
|
|
57
|
+
.replace(/\//g, '_')
|
|
58
|
+
.replace(/=+$/, '');
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Base64URL decode a string to buffer
|
|
62
|
+
*/
|
|
63
|
+
function base64urlDecode(str) {
|
|
64
|
+
// Add padding if needed
|
|
65
|
+
let padded = str.replace(/-/g, '+').replace(/_/g, '/');
|
|
66
|
+
const padding = padded.length % 4;
|
|
67
|
+
if (padding) {
|
|
68
|
+
padded += '='.repeat(4 - padding);
|
|
69
|
+
}
|
|
70
|
+
return Buffer.from(padded, 'base64');
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Sign data using RS256 (RSA-SHA256)
|
|
74
|
+
*/
|
|
75
|
+
function signRS256(data, privateKey) {
|
|
76
|
+
const sign = crypto.createSign('RSA-SHA256');
|
|
77
|
+
sign.update(data, 'utf-8');
|
|
78
|
+
sign.end();
|
|
79
|
+
return sign.sign(privateKey);
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Generate a JWT token signed with RS256.
|
|
83
|
+
*
|
|
84
|
+
* @param privateKey - PEM-encoded RSA private key string or path to key file
|
|
85
|
+
* @param options - JWT generation options
|
|
86
|
+
* @returns Signed JWT token string
|
|
87
|
+
*
|
|
88
|
+
* @example
|
|
89
|
+
* ```typescript
|
|
90
|
+
* import { generateJWT } from '@olib-ai/owl-browser-sdk';
|
|
91
|
+
*
|
|
92
|
+
* // Generate with default options (1 hour expiry)
|
|
93
|
+
* const token = generateJWT('/path/to/private.pem');
|
|
94
|
+
*
|
|
95
|
+
* // Generate with custom options
|
|
96
|
+
* const token = generateJWT('/path/to/private.pem', {
|
|
97
|
+
* expiresIn: 7200, // 2 hours
|
|
98
|
+
* issuer: 'my-app',
|
|
99
|
+
* subject: 'user-123',
|
|
100
|
+
* claims: { role: 'admin' }
|
|
101
|
+
* });
|
|
102
|
+
* ```
|
|
103
|
+
*/
|
|
104
|
+
function generateJWT(privateKey, options = {}) {
|
|
105
|
+
// Load private key from file if it's a path
|
|
106
|
+
let keyPem;
|
|
107
|
+
if (privateKey.includes('-----BEGIN') || privateKey.includes('PRIVATE KEY')) {
|
|
108
|
+
keyPem = privateKey;
|
|
109
|
+
}
|
|
110
|
+
else {
|
|
111
|
+
// Treat as file path
|
|
112
|
+
if (!fs.existsSync(privateKey)) {
|
|
113
|
+
throw new Error(`Private key file not found: ${privateKey}`);
|
|
114
|
+
}
|
|
115
|
+
keyPem = fs.readFileSync(privateKey, 'utf-8');
|
|
116
|
+
}
|
|
117
|
+
// Build header
|
|
118
|
+
const header = {
|
|
119
|
+
alg: 'RS256',
|
|
120
|
+
typ: 'JWT',
|
|
121
|
+
};
|
|
122
|
+
// Build claims
|
|
123
|
+
const now = Math.floor(Date.now() / 1000);
|
|
124
|
+
const expiresIn = options.expiresIn ?? 3600; // Default 1 hour
|
|
125
|
+
const claims = {
|
|
126
|
+
iat: now,
|
|
127
|
+
exp: now + expiresIn,
|
|
128
|
+
...options.claims,
|
|
129
|
+
};
|
|
130
|
+
if (options.issuer) {
|
|
131
|
+
claims.iss = options.issuer;
|
|
132
|
+
}
|
|
133
|
+
if (options.subject) {
|
|
134
|
+
claims.sub = options.subject;
|
|
135
|
+
}
|
|
136
|
+
if (options.audience) {
|
|
137
|
+
claims.aud = options.audience;
|
|
138
|
+
}
|
|
139
|
+
// Encode header and payload
|
|
140
|
+
const headerB64 = base64urlEncode(JSON.stringify(header));
|
|
141
|
+
const payloadB64 = base64urlEncode(JSON.stringify(claims));
|
|
142
|
+
const signingInput = `${headerB64}.${payloadB64}`;
|
|
143
|
+
// Sign
|
|
144
|
+
const signature = signRS256(signingInput, keyPem);
|
|
145
|
+
const signatureB64 = base64urlEncode(signature);
|
|
146
|
+
return `${signingInput}.${signatureB64}`;
|
|
147
|
+
}
|
|
148
|
+
/**
|
|
149
|
+
* Decode a JWT token without verifying the signature.
|
|
150
|
+
* Useful for debugging or inspecting token contents.
|
|
151
|
+
*
|
|
152
|
+
* @param token - JWT token string
|
|
153
|
+
* @returns Decoded header and payload
|
|
154
|
+
*
|
|
155
|
+
* @example
|
|
156
|
+
* ```typescript
|
|
157
|
+
* const { header, payload } = decodeJWT(token);
|
|
158
|
+
* console.log('Token expires at:', new Date(payload.exp * 1000));
|
|
159
|
+
* ```
|
|
160
|
+
*/
|
|
161
|
+
function decodeJWT(token) {
|
|
162
|
+
const parts = token.split('.');
|
|
163
|
+
if (parts.length !== 3) {
|
|
164
|
+
throw new Error('Invalid JWT format: expected 3 parts separated by dots');
|
|
165
|
+
}
|
|
166
|
+
const [headerB64, payloadB64] = parts;
|
|
167
|
+
try {
|
|
168
|
+
const header = JSON.parse(base64urlDecode(headerB64).toString('utf-8'));
|
|
169
|
+
const payload = JSON.parse(base64urlDecode(payloadB64).toString('utf-8'));
|
|
170
|
+
return { header, payload };
|
|
171
|
+
}
|
|
172
|
+
catch (e) {
|
|
173
|
+
throw new Error(`Failed to decode JWT: ${e.message}`);
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
/**
|
|
177
|
+
* Check if a JWT token is expired.
|
|
178
|
+
*
|
|
179
|
+
* @param token - JWT token string
|
|
180
|
+
* @param clockSkew - Allowed clock skew in seconds (default: 60)
|
|
181
|
+
* @returns True if the token is expired
|
|
182
|
+
*/
|
|
183
|
+
function isJWTExpired(token, clockSkew = 60) {
|
|
184
|
+
try {
|
|
185
|
+
const { payload } = decodeJWT(token);
|
|
186
|
+
if (!payload.exp) {
|
|
187
|
+
return false; // No expiration claim
|
|
188
|
+
}
|
|
189
|
+
const now = Math.floor(Date.now() / 1000);
|
|
190
|
+
return payload.exp < now - clockSkew;
|
|
191
|
+
}
|
|
192
|
+
catch {
|
|
193
|
+
return true; // Treat invalid tokens as expired
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
/**
|
|
197
|
+
* Get the remaining validity time of a JWT token in seconds.
|
|
198
|
+
*
|
|
199
|
+
* @param token - JWT token string
|
|
200
|
+
* @returns Remaining time in seconds, or -1 if expired/invalid
|
|
201
|
+
*/
|
|
202
|
+
function getJWTRemainingTime(token) {
|
|
203
|
+
try {
|
|
204
|
+
const { payload } = decodeJWT(token);
|
|
205
|
+
if (!payload.exp) {
|
|
206
|
+
return -1; // No expiration claim
|
|
207
|
+
}
|
|
208
|
+
const now = Math.floor(Date.now() / 1000);
|
|
209
|
+
const remaining = payload.exp - now;
|
|
210
|
+
return remaining > 0 ? remaining : -1;
|
|
211
|
+
}
|
|
212
|
+
catch {
|
|
213
|
+
return -1;
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
/**
|
|
217
|
+
* JWTManager class for managing JWT tokens with automatic refresh.
|
|
218
|
+
*
|
|
219
|
+
* This class handles token generation and automatic refresh before expiration,
|
|
220
|
+
* making it easy to maintain a valid token for long-running operations.
|
|
221
|
+
*
|
|
222
|
+
* @example
|
|
223
|
+
* ```typescript
|
|
224
|
+
* import { JWTManager } from '@olib-ai/owl-browser-sdk';
|
|
225
|
+
*
|
|
226
|
+
* const jwtManager = new JWTManager('/path/to/private.pem', {
|
|
227
|
+
* expiresIn: 3600,
|
|
228
|
+
* refreshThreshold: 300, // Refresh 5 minutes before expiry
|
|
229
|
+
* issuer: 'my-app'
|
|
230
|
+
* });
|
|
231
|
+
*
|
|
232
|
+
* // Get a valid token (auto-refreshes if needed)
|
|
233
|
+
* const token = jwtManager.getToken();
|
|
234
|
+
* ```
|
|
235
|
+
*/
|
|
236
|
+
class JWTManager {
|
|
237
|
+
/**
|
|
238
|
+
* Create a new JWTManager.
|
|
239
|
+
*
|
|
240
|
+
* @param privateKeyOrPath - PEM-encoded RSA private key string or path to key file
|
|
241
|
+
* @param options - JWT generation options
|
|
242
|
+
* @param refreshThreshold - Seconds before expiry to refresh token (default: 300 = 5 minutes)
|
|
243
|
+
*/
|
|
244
|
+
constructor(privateKeyOrPath, options = {}, refreshThreshold = 300) {
|
|
245
|
+
this.currentToken = null;
|
|
246
|
+
// Load private key
|
|
247
|
+
if (privateKeyOrPath.includes('-----BEGIN') || privateKeyOrPath.includes('PRIVATE KEY')) {
|
|
248
|
+
this.privateKey = privateKeyOrPath;
|
|
249
|
+
}
|
|
250
|
+
else {
|
|
251
|
+
if (!fs.existsSync(privateKeyOrPath)) {
|
|
252
|
+
throw new Error(`Private key file not found: ${privateKeyOrPath}`);
|
|
253
|
+
}
|
|
254
|
+
this.privateKey = fs.readFileSync(privateKeyOrPath, 'utf-8');
|
|
255
|
+
}
|
|
256
|
+
this.options = options;
|
|
257
|
+
this.refreshThreshold = refreshThreshold;
|
|
258
|
+
}
|
|
259
|
+
/**
|
|
260
|
+
* Get a valid JWT token. Automatically generates a new token if the current
|
|
261
|
+
* one is expired or about to expire.
|
|
262
|
+
*
|
|
263
|
+
* @returns Valid JWT token string
|
|
264
|
+
*/
|
|
265
|
+
getToken() {
|
|
266
|
+
if (this.currentToken && !this.shouldRefresh()) {
|
|
267
|
+
return this.currentToken;
|
|
268
|
+
}
|
|
269
|
+
this.currentToken = generateJWT(this.privateKey, this.options);
|
|
270
|
+
return this.currentToken;
|
|
271
|
+
}
|
|
272
|
+
/**
|
|
273
|
+
* Force refresh the token regardless of expiration status.
|
|
274
|
+
*
|
|
275
|
+
* @returns New JWT token string
|
|
276
|
+
*/
|
|
277
|
+
refreshToken() {
|
|
278
|
+
this.currentToken = generateJWT(this.privateKey, this.options);
|
|
279
|
+
return this.currentToken;
|
|
280
|
+
}
|
|
281
|
+
/**
|
|
282
|
+
* Check if the current token should be refreshed.
|
|
283
|
+
*/
|
|
284
|
+
shouldRefresh() {
|
|
285
|
+
if (!this.currentToken) {
|
|
286
|
+
return true;
|
|
287
|
+
}
|
|
288
|
+
const remaining = getJWTRemainingTime(this.currentToken);
|
|
289
|
+
return remaining < this.refreshThreshold;
|
|
290
|
+
}
|
|
291
|
+
/**
|
|
292
|
+
* Get the remaining validity time of the current token.
|
|
293
|
+
*
|
|
294
|
+
* @returns Remaining time in seconds, or -1 if no valid token
|
|
295
|
+
*/
|
|
296
|
+
getRemainingTime() {
|
|
297
|
+
if (!this.currentToken) {
|
|
298
|
+
return -1;
|
|
299
|
+
}
|
|
300
|
+
return getJWTRemainingTime(this.currentToken);
|
|
301
|
+
}
|
|
302
|
+
/**
|
|
303
|
+
* Clear the current token (for cleanup or forced re-authentication).
|
|
304
|
+
*/
|
|
305
|
+
clearToken() {
|
|
306
|
+
this.currentToken = null;
|
|
307
|
+
}
|
|
308
|
+
}
|
|
309
|
+
exports.JWTManager = JWTManager;
|
|
310
|
+
//# sourceMappingURL=jwt.js.map
|
package/dist/jwt.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jwt.js","sourceRoot":"","sources":["../src/jwt.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -101,14 +101,59 @@ export interface VideoStats {
|
|
|
101
101
|
/** Is currently paused */
|
|
102
102
|
isPaused: boolean;
|
|
103
103
|
}
|
|
104
|
+
/**
|
|
105
|
+
* Authentication mode for HTTP connection
|
|
106
|
+
*/
|
|
107
|
+
export type AuthMode = 'token' | 'jwt';
|
|
108
|
+
/**
|
|
109
|
+
* JWT configuration options
|
|
110
|
+
*/
|
|
111
|
+
export interface JWTConfig {
|
|
112
|
+
/**
|
|
113
|
+
* Path to RSA private key file (PEM format) or the key string itself.
|
|
114
|
+
* Used to sign JWT tokens for authentication.
|
|
115
|
+
*/
|
|
116
|
+
privateKey: string;
|
|
117
|
+
/**
|
|
118
|
+
* Token validity duration in seconds (default: 3600 = 1 hour)
|
|
119
|
+
*/
|
|
120
|
+
expiresIn?: number;
|
|
121
|
+
/**
|
|
122
|
+
* Seconds before expiry to auto-refresh token (default: 300 = 5 minutes)
|
|
123
|
+
*/
|
|
124
|
+
refreshThreshold?: number;
|
|
125
|
+
/** Issuer claim (iss) */
|
|
126
|
+
issuer?: string;
|
|
127
|
+
/** Subject claim (sub) */
|
|
128
|
+
subject?: string;
|
|
129
|
+
/** Audience claim (aud) */
|
|
130
|
+
audience?: string;
|
|
131
|
+
/** Additional custom claims */
|
|
132
|
+
claims?: Record<string, any>;
|
|
133
|
+
}
|
|
104
134
|
/**
|
|
105
135
|
* HTTP server connection configuration
|
|
106
136
|
*/
|
|
107
137
|
export interface HttpConfig {
|
|
108
138
|
/** HTTP server base URL (e.g., 'http://localhost:8080') */
|
|
109
139
|
baseUrl: string;
|
|
110
|
-
/**
|
|
111
|
-
|
|
140
|
+
/**
|
|
141
|
+
* Authentication mode: 'token' (default) or 'jwt'
|
|
142
|
+
* - 'token': Simple bearer token authentication
|
|
143
|
+
* - 'jwt': JWT (JSON Web Token) authentication with RSA signing
|
|
144
|
+
*/
|
|
145
|
+
authMode?: AuthMode;
|
|
146
|
+
/**
|
|
147
|
+
* Bearer token for authentication (required for 'token' mode)
|
|
148
|
+
* Not needed if using 'jwt' mode with jwtConfig.
|
|
149
|
+
*/
|
|
150
|
+
token?: string;
|
|
151
|
+
/**
|
|
152
|
+
* JWT configuration (required for 'jwt' mode)
|
|
153
|
+
* If provided with authMode='jwt', the SDK will automatically generate
|
|
154
|
+
* and refresh JWT tokens using the provided private key.
|
|
155
|
+
*/
|
|
156
|
+
jwt?: JWTConfig;
|
|
112
157
|
/** Request timeout in milliseconds (default: 30000) */
|
|
113
158
|
timeout?: number;
|
|
114
159
|
}
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC;AAE/B;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,yBAAyB;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ,oDAAoD;IACpD,SAAS,CAAC,EAAE,MAAM,GAAG,kBAAkB,GAAG,aAAa,CAAC;IACxD,8BAA8B;IAC9B,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,iFAAiF;IACjF,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,qCAAqC;IACrC,MAAM,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;IACxB,yCAAyC;IACzC,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,sBAAsB;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,uBAAuB;IACvB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,kBAAkB;IAClB,GAAG,EAAE,MAAM,CAAC;IACZ,iBAAiB;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,wBAAwB;IACxB,SAAS,EAAE,OAAO,CAAC;IACnB,2BAA2B;IAC3B,YAAY,EAAE,OAAO,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,mCAAmC;IACnC,QAAQ,EAAE,MAAM,CAAC;IACjB,6BAA6B;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,0BAA0B;IAC1B,OAAO,EAAE;QACP,GAAG,EAAE,MAAM,CAAC;QACZ,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,CAAC,EAAE,MAAM,CAAC;QACV,CAAC,EAAE,MAAM,CAAC;QACV,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;CACH;AAED;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG,SAAS,GAAG,OAAO,GAAG,YAAY,CAAC;AAE5D;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,gCAAgC;IAChC,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,iCAAiC;IACjC,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,qDAAqD;IACrD,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,sCAAsC;IACtC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,uCAAuC;IACvC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,gCAAgC;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,0BAA0B;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,6BAA6B;IAC7B,WAAW,EAAE,OAAO,CAAC;IACrB,0BAA0B;IAC1B,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,2DAA2D;IAC3D,OAAO,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC;AAE/B;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,yBAAyB;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ,oDAAoD;IACpD,SAAS,CAAC,EAAE,MAAM,GAAG,kBAAkB,GAAG,aAAa,CAAC;IACxD,8BAA8B;IAC9B,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,iFAAiF;IACjF,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,qCAAqC;IACrC,MAAM,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;IACxB,yCAAyC;IACzC,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,sBAAsB;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,uBAAuB;IACvB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,kBAAkB;IAClB,GAAG,EAAE,MAAM,CAAC;IACZ,iBAAiB;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,wBAAwB;IACxB,SAAS,EAAE,OAAO,CAAC;IACnB,2BAA2B;IAC3B,YAAY,EAAE,OAAO,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,mCAAmC;IACnC,QAAQ,EAAE,MAAM,CAAC;IACjB,6BAA6B;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,0BAA0B;IAC1B,OAAO,EAAE;QACP,GAAG,EAAE,MAAM,CAAC;QACZ,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,CAAC,EAAE,MAAM,CAAC;QACV,CAAC,EAAE,MAAM,CAAC;QACV,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;CACH;AAED;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG,SAAS,GAAG,OAAO,GAAG,YAAY,CAAC;AAE5D;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,gCAAgC;IAChC,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,iCAAiC;IACjC,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,qDAAqD;IACrD,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,sCAAsC;IACtC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,uCAAuC;IACvC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,gCAAgC;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,0BAA0B;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,6BAA6B;IAC7B,WAAW,EAAE,OAAO,CAAC;IACrB,0BAA0B;IAC1B,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,KAAK,CAAC;AAEvC;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB;;;OAGG;IACH,UAAU,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B,yBAAyB;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,0BAA0B;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,2BAA2B;IAC3B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,+BAA+B;IAC/B,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC9B;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,2DAA2D;IAC3D,OAAO,EAAE,MAAM,CAAC;IAEhB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,QAAQ,CAAC;IAEpB;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;;;OAIG;IACH,GAAG,CAAC,EAAE,SAAS,CAAC;IAEhB,uDAAuD;IACvD,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,OAAO,GAAG,MAAM,CAAC;AAE9C;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B;;;;OAIG;IACH,IAAI,CAAC,EAAE,cAAc,CAAC;IAItB,6DAA6D;IAC7D,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,2CAA2C;IAC3C,QAAQ,CAAC,EAAE,OAAO,CAAC;IAInB,+DAA+D;IAC/D,IAAI,CAAC,EAAE,UAAU,CAAC;IAIlB,6BAA6B;IAC7B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,sEAAsE;IACtE,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,8CAA8C;IAC9C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,qCAAqC;IACrC,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG,OAAO,GAAG,SAAS,GAAG,aAAa,CAAC;AAE5D;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAC1B,eAAe,GACf,WAAW,GACX,gBAAgB,GAChB,aAAa,GACb,cAAc,GACd,eAAe,GACf,EAAE,CAAC;AAEP;;GAEG;AACH,MAAM,MAAM,OAAO,GACf,OAAO,GACP,QAAQ,GACR,KAAK,GACL,QAAQ,GACR,KAAK,GACL,WAAW,GACX,QAAQ,GACR,KAAK,GACL,SAAS,GACT,IAAI,GACJ,WAAW,GACX,MAAM,GACN,WAAW,GACX,MAAM,GACN,YAAY,GACZ,OAAO,GACP,OAAO,GACP,MAAM,GACN,KAAK,GACL,QAAQ,GACR,UAAU,CAAC;AAEf;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,0CAA0C;IAC1C,OAAO,EAAE,MAAM,CAAC;IAChB,gCAAgC;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,8BAA8B;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,sBAAsB;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,oBAAoB;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,sBAAsB;IACtB,eAAe,EAAE,MAAM,CAAC;IACxB,qBAAqB;IACrB,cAAc,EAAE,MAAM,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,qBAAqB;IACrB,OAAO,EAAE,OAAO,CAAC;IACjB,wBAAwB;IACxB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,gBAAgB;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,wBAAwB;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,mBAAmB;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,yBAAyB;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,eAAe;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gBAAgB;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,8BAA8B;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,qBAAqB;IACrB,OAAO,EAAE,OAAO,CAAC;IACjB,wBAAwB;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,0BAA0B;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,6BAA6B;IAC7B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,gCAAgC;IAChC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,0BAA0B;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,yBAAyB;IACzB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,wBAAwB;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,8BAA8B;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,gCAAgC;IAChC,QAAQ,EAAE,YAAY,CAAC;IACvB,0CAA0C;IAC1C,QAAQ,CAAC,EAAE,YAAY,CAAC;IACxB,yCAAyC;IACzC,OAAO,CAAC,EAAE,WAAW,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,gBAAgB;IAChB,IAAI,EAAE,UAAU,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,YAAY,GAAG,SAAS,GAAG,aAAa,GAAG,OAAO,GAAG,KAAK,GAAG,eAAe,GAAG,WAAW,GAAG,WAAW,GAAG,aAAa,GAAG,cAAc,GAAG,YAAY,CAAC;IACjN,+EAA+E;IAC/E,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,uBAAuB;IACvB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,yDAAyD;IACzD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,oBAAoB;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,qBAAqB;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,uCAAuC;IACvC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,8BAA8B;IAC9B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,2BAA2B;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,2BAA2B;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,2BAA2B;IAC3B,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,gBAAgB;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,uBAAuB;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iBAAiB;IACjB,KAAK,EAAE,QAAQ,EAAE,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,yCAAyC;IACzC,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,+CAA+C;IAC/C,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,uCAAuC;IACvC,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,gBAAgB;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,kBAAkB;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,qBAAqB;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,uBAAuB;IACvB,eAAe,EAAE,MAAM,CAAC;IACxB,mBAAmB;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,qCAAqC;IACrC,aAAa,EAAE,MAAM,CAAC;IACtB,qBAAqB;IACrB,OAAO,EAAE,OAAO,CAAC;IACjB,yBAAyB;IACzB,MAAM,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAChE;AAID;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,KAAK,GAAG,QAAQ,CAAC;AAEvD;;GAEG;AACH,MAAM,WAAW,MAAM;IACrB,kBAAkB;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,mBAAmB;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,oBAAoB;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,kBAAkB;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,4CAA4C;IAC5C,MAAM,EAAE,OAAO,CAAC;IAChB,iEAAiE;IACjE,QAAQ,EAAE,OAAO,CAAC;IAClB,yBAAyB;IACzB,QAAQ,EAAE,cAAc,CAAC;IACzB,iEAAiE;IACjE,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,kEAAkE;IAClE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,iCAAiC;IACjC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,oDAAoD;IACpD,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,mDAAmD;IACnD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,0CAA0C;IAC1C,QAAQ,CAAC,EAAE,cAAc,CAAC;IAC1B,+DAA+D;IAC/D,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAID;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAC;AAE3E;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,wDAAwD;IACxD,IAAI,EAAE,SAAS,CAAC;IAChB,kCAAkC;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,wBAAwB;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,yCAAyC;IACzC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,yCAAyC;IACzC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,4FAA4F;IAC5F,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,uDAAuD;IACvD,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,6CAA6C;IAC7C,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,qDAAqD;IACrD,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,0DAA0D;IAC1D,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,+CAA+C;IAC/C,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,iEAAiE;IACjE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,uEAAuE;IACvE,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,+BAA+B;IAC/B,OAAO,EAAE,OAAO,CAAC;IACjB,iCAAiC;IACjC,SAAS,EAAE,OAAO,CAAC;IACnB,+BAA+B;IAC/B,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,+BAA+B;IAC/B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,+BAA+B;IAC/B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,2BAA2B;IAC3B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,8BAA8B;IAC9B,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,wBAAwB;IACxB,GAAG,CAAC,EAAE;QACJ,0CAA0C;QAC1C,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,gDAAgD;QAChD,UAAU,CAAC,EAAE,OAAO,CAAC;QACrB,gCAAgC;QAChC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,8BAA8B;QAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,+BAA+B;QAC/B,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,0BAA0B;IAC1B,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,gEAAgE;IAChE,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAID;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,6BAA6B;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,+BAA+B;IAC/B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,mCAAmC;IACnC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,gDAAgD;IAChD,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,gBAAgB;IAChB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,0BAA0B;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,oBAAoB;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB,yDAAyD;IACzD,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB,8DAA8D;IAC9D,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,0BAA0B;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,4BAA4B;IAC5B,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB,6BAA6B;IAC7B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,8BAA8B;IAC9B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,iCAAiC;IACjC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,yBAAyB;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,+CAA+C;IAC/C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,6BAA6B;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,+BAA+B;IAC/B,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB,gCAAgC;IAChC,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAE1B,qBAAqB;IACrB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,4BAA4B;IAC5B,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,gCAAgC;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,kCAAkC;IAClC,WAAW,EAAE,MAAM,CAAC;IACpB,kCAAkC;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,uCAAuC;IACvC,UAAU,EAAE,MAAM,CAAC;IACnB,qCAAqC;IACrC,OAAO,EAAE,MAAM,CAAC;IAEhB,wCAAwC;IACxC,WAAW,CAAC,EAAE,kBAAkB,CAAC;IAEjC,qBAAqB;IACrB,OAAO,EAAE,MAAM,EAAE,CAAC;IAElB,oCAAoC;IACpC,YAAY,EAAE,OAAO,CAAC;IACtB,wBAAwB;IACxB,SAAS,CAAC,EAAE;QACV,OAAO,EAAE,OAAO,CAAC;QACjB,UAAU,EAAE,OAAO,CAAC;QACpB,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,aAAa,CAAC,EAAE,MAAM,CAAC;KACxB,CAAC;IAEF,sCAAsC;IACtC,cAAc,EAAE,OAAO,CAAC;IACxB,0BAA0B;IAC1B,WAAW,CAAC,EAAE,WAAW,CAAC;IAE1B,4CAA4C;IAC5C,eAAe,EAAE,OAAO,CAAC;IACzB,4BAA4B;IAC5B,mBAAmB,EAAE,OAAO,CAAC;CAC9B"}
|