@atxp/common 0.7.2 → 0.7.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cache.d.ts +40 -0
- package/dist/cache.d.ts.map +1 -0
- package/dist/commonTestHelpers.d.ts.map +1 -0
- package/dist/eip1271JwtHelper.d.ts +49 -0
- package/dist/eip1271JwtHelper.d.ts.map +1 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -0
- package/dist/jwt.d.ts +9 -0
- package/dist/jwt.d.ts.map +1 -0
- package/dist/logger.d.ts +18 -0
- package/dist/logger.d.ts.map +1 -0
- package/dist/mcpJson.d.ts +9 -0
- package/dist/mcpJson.d.ts.map +1 -0
- package/dist/memoryOAuthDb.d.ts +25 -0
- package/dist/memoryOAuthDb.d.ts.map +1 -0
- package/dist/oAuthResource.d.ts +35 -0
- package/dist/oAuthResource.d.ts.map +1 -0
- package/dist/paymentRequiredError.d.ts +6 -0
- package/dist/paymentRequiredError.d.ts.map +1 -0
- package/dist/platform/index.d.ts +14 -0
- package/dist/platform/index.d.ts.map +1 -0
- package/dist/servers.d.ts +14 -0
- package/dist/servers.d.ts.map +1 -0
- package/dist/sseParser.d.ts +27 -0
- package/dist/sseParser.d.ts.map +1 -0
- package/dist/types.d.ts +79 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/utils.d.ts +19 -0
- package/dist/utils.d.ts.map +1 -0
- package/package.json +1 -1
package/dist/cache.d.ts
ADDED
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Cache interface for abstracting cache mechanisms
|
|
3
|
+
* This allows for easy mocking in tests and potential future
|
|
4
|
+
* support for different cache backends (e.g., React Native AsyncStorage)
|
|
5
|
+
*/
|
|
6
|
+
export interface ICache<T = string> {
|
|
7
|
+
get(key: string): T | null;
|
|
8
|
+
set(key: string, value: T): void;
|
|
9
|
+
delete(key: string): void;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Type-safe cache wrapper for JSON data
|
|
13
|
+
*/
|
|
14
|
+
export declare class JsonCache<T> {
|
|
15
|
+
private cache;
|
|
16
|
+
constructor(cache: ICache<string>);
|
|
17
|
+
get(key: string): T | null;
|
|
18
|
+
set(key: string, data: T): void;
|
|
19
|
+
delete(key: string): void;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Browser localStorage implementation
|
|
23
|
+
*/
|
|
24
|
+
export declare class BrowserCache implements ICache<string> {
|
|
25
|
+
private isAvailable;
|
|
26
|
+
get(key: string): string | null;
|
|
27
|
+
set(key: string, value: string): void;
|
|
28
|
+
delete(key: string): void;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* In-memory cache implementation for testing
|
|
32
|
+
*/
|
|
33
|
+
export declare class MemoryCache implements ICache<string> {
|
|
34
|
+
private store;
|
|
35
|
+
get(key: string): string | null;
|
|
36
|
+
set(key: string, value: string): void;
|
|
37
|
+
delete(key: string): void;
|
|
38
|
+
clear(): void;
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=cache.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cache.d.ts","sourceRoot":"","sources":["../src/cache.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,WAAW,MAAM,CAAC,CAAC,GAAG,MAAM;IAChC,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC;IAC3B,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC;IACjC,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED;;GAEG;AACH,qBAAa,SAAS,CAAC,CAAC;IACV,OAAO,CAAC,KAAK;gBAAL,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC;IAEzC,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,CAAC,GAAG,IAAI;IAY1B,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,GAAG,IAAI;IAI/B,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;CAG1B;AAED;;GAEG;AACH,qBAAa,YAAa,YAAW,MAAM,CAAC,MAAM,CAAC;IACjD,OAAO,CAAC,WAAW;IAInB,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAK/B,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAKrC,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;CAI1B;AAED;;GAEG;AACH,qBAAa,WAAY,YAAW,MAAM,CAAC,MAAM,CAAC;IAChD,OAAO,CAAC,KAAK,CAAkC;IAE/C,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAI/B,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAIrC,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAIzB,KAAK,IAAI,IAAI;CAGd"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"commonTestHelpers.d.ts","sourceRoot":"","sources":["../src/commonTestHelpers.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAAE,eAAe,EAAE,MAAM,EAAE,cAAc,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAGzH,eAAO,MAAM,WAAW,oBAAoB,CAAC;AAC7C,eAAO,MAAM,MAAM,eAAe,CAAC;AAGnC,wBAAgB,WAAW,CAAC,EAAC,EAAM,EAAE,MAAwB,EAAC,GAAE;IAC9D,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,MAAM,CAAA;CACX,GAAG,eAAe,CAEvB;AAED,wBAAgB,aAAa,CAAC,EAC1B,OAA+C,EAC/C,iBAA6B,EAC7B,OAAe,EAChB,GAAE;IACD,OAAO,CAAC,EAAE,YAAY,EAAE,CAAC;IACzB,iBAAiB,CAAC,EAAE,GAAG,CAAC;IACxB,OAAO,CAAC,EAAE,OAAO,CAAC;CACd,GAAG,cAAc,CAExB;AAED,wBAAgB,oBAAoB,CAAC,EACnC,OAA8C,EAC9C,iBAA6B,GAC9B,GAAE;IACD,OAAO,CAAC,EAAE,YAAY,EAAE,CAAC;IACzB,iBAAiB,CAAC,EAAE,GAAG,CAAC;CACpB,GAAG,eAAe,CAGvB;AAED,wBAAgB,sBAAsB,CAAC,UAAU,EAAE,SAAS,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAGhF;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,mBAAmB,GAAE,MAAuE;;;;;EAOhI;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,EAAE,GAAE,MAAU,EAAE,eAAe,GAAE,MAAqB;;;;;;;;;EAY3F;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,EAAE,GAAE,MAAU,EAAE,IAAI,GAAE,MAAsB;;;;;;;;;EAO3E;AAED,wBAAgB,kBAAkB,CAAC,YAAY,GAAE,eAAmD,IAClF,KAAK,GAAG,EAAE,MAAM,GAAG;;;;;;;;;;;;;;;EAyCpC;AAED,wBAAgB,gBAAgB,CAAC,EAAC,EAAM,EAAE,IAAa,EAAE,OAAsB,EAAE,IAAgB,EAAC,EAAG;IACnG,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,GAAG,CAAA;CACX,GAAG,YAAY,CAMf;AAED,wBAAgB,mCAAmC,CAAC,EAAC,EAAM,EAAE,OAAsB,EAAE,aAAqB,EAAE,GAAgD,EAAE,IAAS,EAAC,EAAG;IACzK,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,IAAI,CAAC,EAAE,GAAG,CAAA;CACX,GAAG,YAAY,CAKf"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* EIP-1271 JWT helper utilities for creating properly formatted JWTs
|
|
3
|
+
* from EIP-1271 auth data.
|
|
4
|
+
*/
|
|
5
|
+
interface EIP1271AuthData {
|
|
6
|
+
type: 'EIP1271_AUTH';
|
|
7
|
+
walletAddress: string;
|
|
8
|
+
message: string;
|
|
9
|
+
signature: string;
|
|
10
|
+
timestamp: number;
|
|
11
|
+
nonce?: string;
|
|
12
|
+
code_challenge?: string;
|
|
13
|
+
payment_request_id?: string;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Convert EIP-1271 auth data to JWT format
|
|
17
|
+
* @param authData The EIP-1271 auth data (signature will be moved to JWT signature section)
|
|
18
|
+
* @returns JWT string in the format header.payload.signature
|
|
19
|
+
*/
|
|
20
|
+
export declare function createEIP1271JWT(authData: EIP1271AuthData): string;
|
|
21
|
+
/**
|
|
22
|
+
* Legacy function to create the old base64url encoded auth data format
|
|
23
|
+
* This is kept for backward compatibility during transition period
|
|
24
|
+
*/
|
|
25
|
+
export declare function createLegacyEIP1271Auth(authData: EIP1271AuthData): string;
|
|
26
|
+
/**
|
|
27
|
+
* Create auth data structure from signing parameters
|
|
28
|
+
*/
|
|
29
|
+
export declare function createEIP1271AuthData({ walletAddress, message, signature, timestamp, nonce, codeChallenge, paymentRequestId }: {
|
|
30
|
+
walletAddress: string;
|
|
31
|
+
message: string;
|
|
32
|
+
signature: string;
|
|
33
|
+
timestamp: number;
|
|
34
|
+
nonce?: string;
|
|
35
|
+
codeChallenge?: string;
|
|
36
|
+
paymentRequestId?: string;
|
|
37
|
+
}): EIP1271AuthData;
|
|
38
|
+
/**
|
|
39
|
+
* Construct the standardized message format for EIP-1271 signing
|
|
40
|
+
*/
|
|
41
|
+
export declare function constructEIP1271Message({ walletAddress, timestamp, nonce, codeChallenge, paymentRequestId }: {
|
|
42
|
+
walletAddress: string;
|
|
43
|
+
timestamp: number;
|
|
44
|
+
nonce?: string;
|
|
45
|
+
codeChallenge?: string;
|
|
46
|
+
paymentRequestId?: string;
|
|
47
|
+
}): string;
|
|
48
|
+
export {};
|
|
49
|
+
//# sourceMappingURL=eip1271JwtHelper.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"eip1271JwtHelper.d.ts","sourceRoot":"","sources":["../src/eip1271JwtHelper.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,UAAU,eAAe;IACvB,IAAI,EAAE,cAAc,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AA4BD;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,eAAe,GAAG,MAAM,CA4BlE;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,eAAe,GAAG,MAAM,CAEzE;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,EACpC,aAAa,EACb,OAAO,EACP,SAAS,EACT,SAAS,EACT,KAAK,EACL,aAAa,EACb,gBAAgB,EACjB,EAAE;IACD,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B,GAAG,eAAe,CAWlB;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,EACtC,aAAa,EACb,SAAS,EACT,KAAK,EACL,aAAa,EACb,gBAAgB,EACjB,EAAE;IACD,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B,GAAG,MAAM,CAsBT"}
|
package/dist/index.d.ts
CHANGED
|
@@ -26,7 +26,7 @@ type Logger = {
|
|
|
26
26
|
type UrlString = `http://${string}` | `https://${string}`;
|
|
27
27
|
type AuthorizationServerUrl = UrlString;
|
|
28
28
|
type Currency = 'USDC';
|
|
29
|
-
type Network = 'solana' | 'base' | 'world' | 'base_sepolia' | 'world_sepolia';
|
|
29
|
+
type Network = 'solana' | 'base' | 'world' | 'base_sepolia' | 'world_sepolia' | 'atxp_base' | 'atxp_base_sepolia';
|
|
30
30
|
type PaymentRequestDestination = {
|
|
31
31
|
network: Network;
|
|
32
32
|
currency: Currency;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAGvC,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAG5C,OAAO,EACL,aAAa,EACb,KAAK,mBAAmB,EACzB,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EACL,mBAAmB,EACnB,KAAK,yBAAyB,EAC/B,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EACL,2BAA2B,EAC3B,yBAAyB,EACzB,oBAAoB,EACrB,MAAM,2BAA2B,CAAC;AAGnC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAGvC,OAAO,EACL,4BAA4B,EAC5B,QAAQ,EACR,KAAK,MAAM,EACX,KAAK,SAAS,EACd,KAAK,sBAAsB,EAC3B,KAAK,QAAQ,EACb,KAAK,OAAO,EACZ,KAAK,yBAAyB,EAC9B,KAAK,kBAAkB,EACvB,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EACtB,KAAK,UAAU,EACf,KAAK,WAAW,EAChB,KAAK,eAAe,EACpB,KAAK,OAAO,EACZ,KAAK,SAAS,EACd,KAAK,SAAS,EACd,KAAK,oBAAoB,EAC1B,MAAM,YAAY,CAAC;AAGpB,OAAO,EACL,WAAW,EACX,WAAW,EACZ,MAAM,YAAY,CAAC;AAGpB,OAAO,EACL,oBAAoB,EACpB,gBAAgB,EACjB,MAAM,cAAc,CAAC;AAGtB,OAAO,EACL,KAAK,UAAU,EACf,gBAAgB,EAChB,kBAAkB,EAClB,aAAa,EACd,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EACL,KAAK,cAAc,EACnB,gBAAgB,EAChB,MAAM,EACN,SAAS,EACT,QAAQ,EACR,gBAAgB,EAChB,0BAA0B,EAC1B,MAAM,EACP,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EACL,gBAAgB,EAChB,uBAAuB,EACvB,qBAAqB,EACrB,uBAAuB,EACxB,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EACL,KAAK,MAAM,EACX,SAAS,EACT,YAAY,EACZ,WAAW,EACZ,MAAM,YAAY,CAAC"}
|
package/dist/jwt.d.ts
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generate a JWT using the jose library and EdDSA (Ed25519) private key.
|
|
3
|
+
* @param walletId - The subject (public key, wallet address, etc.)
|
|
4
|
+
* @param privateKey - Ed25519 private key as a CryptoKey or Uint8Array
|
|
5
|
+
* @param paymentIds - Optional array of payment IDs to include in the payload
|
|
6
|
+
* @returns JWT string
|
|
7
|
+
*/
|
|
8
|
+
export declare const generateJWT: (walletId: string, privateKey: CryptoKey | Uint8Array, paymentRequestId: string, codeChallenge: string) => Promise<string>;
|
|
9
|
+
//# sourceMappingURL=jwt.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jwt.d.ts","sourceRoot":"","sources":["../src/jwt.ts"],"names":[],"mappings":"AAOA;;;;;;GAMG;AACH,eAAO,MAAM,WAAW,GACtB,UAAU,MAAM,EAChB,YAAY,SAAS,GAAG,UAAU,EAClC,kBAAkB,MAAM,EACxB,eAAe,MAAM,KACpB,OAAO,CAAC,MAAM,CAehB,CAAC"}
|
package/dist/logger.d.ts
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { Logger, LogLevel } from './types.js';
|
|
2
|
+
export declare class ConsoleLogger implements Logger {
|
|
3
|
+
private readonly prefix;
|
|
4
|
+
private _level;
|
|
5
|
+
constructor({ prefix, level }?: Partial<{
|
|
6
|
+
prefix: string;
|
|
7
|
+
level: LogLevel;
|
|
8
|
+
}>);
|
|
9
|
+
get level(): LogLevel;
|
|
10
|
+
set level(level: LogLevel);
|
|
11
|
+
private log;
|
|
12
|
+
private getConsoleMethod;
|
|
13
|
+
debug: (message: string) => void;
|
|
14
|
+
info: (message: string) => void;
|
|
15
|
+
warn: (message: string) => void;
|
|
16
|
+
error: (message: string) => void;
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=logger.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE9C,qBAAa,aAAc,YAAW,MAAM;IAC1C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,MAAM,CAAW;gBAEb,EAAC,MAAiB,EAAE,KAAqB,EAAC,GAAE,OAAO,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,QAAQ,CAAA;KAAC,CAAM;IAKvG,IAAI,KAAK,IAAI,QAAQ,CAEpB;IAED,IAAI,KAAK,CAAC,KAAK,EAAE,QAAQ,EAExB;IAED,OAAO,CAAC,GAAG;IAOX,OAAO,CAAC,gBAAgB;IAUxB,KAAK,GAAI,SAAS,MAAM,UAEvB;IACD,IAAI,GAAI,SAAS,MAAM,UAEtB;IACD,IAAI,GAAI,SAAS,MAAM,UAEtB;IACD,KAAK,GAAI,SAAS,MAAM,UAEvB;CACF"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { AuthorizationServerUrl } from './types.js';
|
|
2
|
+
import { JSONRPCMessage } from '@modelcontextprotocol/sdk/types.js';
|
|
3
|
+
import { Logger } from './types.js';
|
|
4
|
+
export declare function parsePaymentRequests(message: JSONRPCMessage): {
|
|
5
|
+
url: AuthorizationServerUrl;
|
|
6
|
+
id: string;
|
|
7
|
+
}[];
|
|
8
|
+
export declare function parseMcpMessages(json: unknown, logger?: Logger): Promise<JSONRPCMessage[]>;
|
|
9
|
+
//# sourceMappingURL=mcpJson.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mcpJson.d.ts","sourceRoot":"","sources":["../src/mcpJson.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AACpD,OAAO,EAAmE,cAAc,EAAwB,MAAM,oCAAoC,CAAC;AAC3J,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAIpC,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,cAAc,GAAG;IAAC,GAAG,EAAE,sBAAsB,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAC,EAAE,CAsDzG;AAeD,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC,CAiDhG"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { OAuthDb, ClientCredentials, PKCEValues, AccessToken, Logger } from './types.js';
|
|
2
|
+
export interface MemoryOAuthDbConfig {
|
|
3
|
+
logger?: Logger;
|
|
4
|
+
}
|
|
5
|
+
export declare class MemoryOAuthDb implements OAuthDb {
|
|
6
|
+
private clientCredentials;
|
|
7
|
+
private pkceValues;
|
|
8
|
+
private accessTokens;
|
|
9
|
+
private logger;
|
|
10
|
+
constructor(config?: MemoryOAuthDbConfig);
|
|
11
|
+
getClientCredentials(serverUrl: string): Promise<ClientCredentials | null>;
|
|
12
|
+
saveClientCredentials(serverUrl: string, credentials: ClientCredentials): Promise<void>;
|
|
13
|
+
getPKCEValues(userId: string, state: string): Promise<PKCEValues | null>;
|
|
14
|
+
savePKCEValues(userId: string, state: string, values: PKCEValues): Promise<void>;
|
|
15
|
+
getAccessToken(userId: string, url: string): Promise<AccessToken | null>;
|
|
16
|
+
saveAccessToken(userId: string, url: string, token: AccessToken): Promise<void>;
|
|
17
|
+
close(): Promise<void>;
|
|
18
|
+
getStats(): {
|
|
19
|
+
clientCredentials: number;
|
|
20
|
+
pkceValues: number;
|
|
21
|
+
accessTokens: number;
|
|
22
|
+
};
|
|
23
|
+
cleanupExpiredTokens(): number;
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=memoryOAuthDb.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"memoryOAuthDb.d.ts","sourceRoot":"","sources":["../src/memoryOAuthDb.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,iBAAiB,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,EAAY,MAAM,YAAY,CAAC;AAGnG,MAAM,WAAW,mBAAmB;IAClC,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,qBAAa,aAAc,YAAW,OAAO;IAC3C,OAAO,CAAC,iBAAiB,CAAwC;IACjE,OAAO,CAAC,UAAU,CAAiC;IACnD,OAAO,CAAC,YAAY,CAAkC;IACtD,OAAO,CAAC,MAAM,CAAS;gBAEX,MAAM,GAAE,mBAAwB;IAMtC,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC;IAW1E,qBAAqB,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IAOvF,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;IAMxE,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAMhF,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;IAqBxE,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAW/E,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAQ5B,QAAQ;;;;;IASR,oBAAoB,IAAI,MAAM;CAiB/B"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import * as oauth from 'oauth4webapi';
|
|
2
|
+
import { ClientCredentials, FetchLike, OAuthResourceDb, OAuthDb, TokenData, Logger } from './types.js';
|
|
3
|
+
export interface OAuthResourceClientConfig {
|
|
4
|
+
db: OAuthDb;
|
|
5
|
+
callbackUrl?: string;
|
|
6
|
+
isPublic?: boolean;
|
|
7
|
+
sideChannelFetch?: FetchLike;
|
|
8
|
+
strict?: boolean;
|
|
9
|
+
allowInsecureRequests?: boolean;
|
|
10
|
+
clientName?: string;
|
|
11
|
+
logger?: Logger;
|
|
12
|
+
}
|
|
13
|
+
export declare class OAuthResourceClient {
|
|
14
|
+
protected db: OAuthResourceDb;
|
|
15
|
+
protected allowInsecureRequests: boolean;
|
|
16
|
+
protected callbackUrl: string;
|
|
17
|
+
protected sideChannelFetch: FetchLike;
|
|
18
|
+
protected strict: boolean;
|
|
19
|
+
protected clientName: string;
|
|
20
|
+
protected isPublic: boolean;
|
|
21
|
+
protected logger: Logger;
|
|
22
|
+
private registrationLocks;
|
|
23
|
+
constructor({ db, callbackUrl, isPublic, sideChannelFetch, strict, allowInsecureRequests, clientName, logger }: OAuthResourceClientConfig);
|
|
24
|
+
static trimToPath: (url: string) => string;
|
|
25
|
+
static getParentPath: (url: string) => string | null;
|
|
26
|
+
introspectToken: (authorizationServerUrl: string, token: string, additionalParameters?: Record<string, string>) => Promise<TokenData>;
|
|
27
|
+
getAuthorizationServer: (resourceServerUrl: string) => Promise<oauth.AuthorizationServer>;
|
|
28
|
+
authorizationServerFromUrl: (authServerUrl: URL) => Promise<oauth.AuthorizationServer>;
|
|
29
|
+
protected normalizeResourceServerUrl: (resourceServerUrl: string) => string;
|
|
30
|
+
protected getRegistrationMetadata: () => Promise<Partial<oauth.OmitSymbolProperties<oauth.Client>>>;
|
|
31
|
+
protected registerClient: (authorizationServer: oauth.AuthorizationServer) => Promise<ClientCredentials>;
|
|
32
|
+
protected getClientCredentials: (authorizationServer: oauth.AuthorizationServer) => Promise<ClientCredentials>;
|
|
33
|
+
protected makeOAuthClientAndAuth: (credentials: ClientCredentials) => [oauth.Client, oauth.ClientAuth];
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=oAuthResource.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"oAuthResource.d.ts","sourceRoot":"","sources":["../src/oAuthResource.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,iBAAiB,EAAE,SAAS,EAAE,eAAe,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAGvG,MAAM,WAAW,yBAAyB;IACxC,EAAE,EAAE,OAAO,CAAC;IACZ,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,gBAAgB,CAAC,EAAE,SAAS,CAAC;IAC7B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,qBAAa,mBAAmB;IAK9B,SAAS,CAAC,EAAE,EAAE,eAAe,CAAC;IAC9B,SAAS,CAAC,qBAAqB,EAAE,OAAO,CAAC;IACzC,SAAS,CAAC,WAAW,EAAE,MAAM,CAAC;IAC9B,SAAS,CAAC,gBAAgB,EAAE,SAAS,CAAC;IACtC,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC;IAC1B,SAAS,CAAC,UAAU,EAAE,MAAM,CAAC;IAG7B,SAAS,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC5B,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC;IAEzB,OAAO,CAAC,iBAAiB,CAAiD;gBAE9D,EACV,EAAE,EACF,WAAkE,EAClE,QAAgB,EAChB,gBAAwB,EACxB,MAAc,EACd,qBAA8D,EAC9D,UAAyC,EACzC,MAA4B,EAC7B,EAAE,yBAAyB;IAa5B,MAAM,CAAC,UAAU,GAAI,KAAK,MAAM,KAAG,MAAM,CAWxC;IAED,MAAM,CAAC,aAAa,GAAI,KAAK,MAAM,KAAG,MAAM,GAAG,IAAI,CAKlD;IAED,eAAe,GAAU,wBAAwB,MAAM,EAAE,OAAO,MAAM,EAAE,uBAAuB,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAAG,OAAO,CAAC,SAAS,CAAC,CAkEzI;IAED,sBAAsB,GAAU,mBAAmB,MAAM,KAAG,OAAO,CAAC,KAAK,CAAC,mBAAmB,CAAC,CA8D7F;IAED,0BAA0B,GAAU,eAAe,GAAG,KAAG,OAAO,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAmB1F;IAED,SAAS,CAAC,0BAA0B,GAAI,mBAAmB,MAAM,KAAG,MAAM,CAQzE;IAED,SAAS,CAAC,uBAAuB,QAAa,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,oBAAoB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAYvG;IAED,SAAS,CAAC,cAAc,GAAU,qBAAqB,KAAK,CAAC,mBAAmB,KAAG,OAAO,CAAC,iBAAiB,CAAC,CAyC5G;IAED,SAAS,CAAC,oBAAoB,GAAU,qBAAqB,KAAK,CAAC,mBAAmB,KAAG,OAAO,CAAC,iBAAiB,CAAC,CAyBlH;IAED,SAAS,CAAC,sBAAsB,GAC9B,aAAa,iBAAiB,KAC7B,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,UAAU,CAAC,CAkBlC;CACF"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { McpError } from "@modelcontextprotocol/sdk/types.js";
|
|
2
|
+
import { AuthorizationServerUrl } from "./types.js";
|
|
3
|
+
export declare const PAYMENT_REQUIRED_ERROR_CODE = -30402;
|
|
4
|
+
export declare const PAYMENT_REQUIRED_PREAMBLE = "Payment via ATXP is required. ";
|
|
5
|
+
export declare function paymentRequiredError(server: AuthorizationServerUrl, paymentRequestId: string, chargeAmount?: BigNumber): McpError;
|
|
6
|
+
//# sourceMappingURL=paymentRequiredError.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"paymentRequiredError.d.ts","sourceRoot":"","sources":["../src/paymentRequiredError.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAC;AAC9D,OAAO,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAGpD,eAAO,MAAM,2BAA2B,SAAS,CAAC;AAGlD,eAAO,MAAM,yBAAyB,mCAAmC,CAAC;AAE1E,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,SAAS,GAAG,QAAQ,CAQjI"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { FetchLike } from '../types.js';
|
|
2
|
+
export interface PlatformCrypto {
|
|
3
|
+
digest: (data: Uint8Array) => Promise<Uint8Array>;
|
|
4
|
+
randomUUID: () => string;
|
|
5
|
+
toHex: (data: Uint8Array) => string;
|
|
6
|
+
}
|
|
7
|
+
export declare function getIsReactNative(): boolean;
|
|
8
|
+
export declare const isNode: boolean;
|
|
9
|
+
export declare const isBrowser: boolean;
|
|
10
|
+
export declare const isNextJS: boolean;
|
|
11
|
+
export declare const isWebEnvironment: boolean;
|
|
12
|
+
export declare const createReactNativeSafeFetch: (originalFetch: FetchLike) => FetchLike;
|
|
13
|
+
export declare let crypto: PlatformCrypto;
|
|
14
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/platform/index.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAG7C,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,OAAO,CAAC,UAAU,CAAC,CAAC;IAClD,UAAU,EAAE,MAAM,MAAM,CAAC;IACzB,KAAK,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,MAAM,CAAC;CACrC;AAID,wBAAgB,gBAAgB,YAG/B;AACD,eAAO,MAAM,MAAM,SAA6D,CAAC;AACjF,eAAO,MAAM,SAAS,SAAmE,CAAC;AAC1F,eAAO,MAAM,QAAQ,SAA2E,CAAC;AACjG,eAAO,MAAM,gBAAgB,SAAwB,CAAC;AAmDtD,eAAO,MAAM,0BAA0B,GAAI,eAAe,SAAS,KAAG,SA4BrE,CAAC;AA6GF,eAAO,IAAI,MAAM,EAAE,cAAc,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export declare const Servers: {
|
|
2
|
+
readonly browse: "https://browse.mcp.atxp.ai";
|
|
3
|
+
readonly filestore: "https://filestore.mcp.atxp.ai";
|
|
4
|
+
readonly database: "https://database.mcp.atxp.ai";
|
|
5
|
+
readonly code: "https://code.mcp.atxp.ai";
|
|
6
|
+
readonly search: "https://search.mcp.atxp.ai";
|
|
7
|
+
readonly crawl: "https://crawl.mcp.atxp.ai";
|
|
8
|
+
readonly video: "https://video.mcp.atxp.ai";
|
|
9
|
+
readonly image: "https://image.mcp.atxp.ai";
|
|
10
|
+
readonly music: "https://music.mcp.atxp.ai";
|
|
11
|
+
readonly research: "https://research.mcp.atxp.ai";
|
|
12
|
+
readonly shop: "https://shop.mcp.atxp.ai";
|
|
13
|
+
};
|
|
14
|
+
//# sourceMappingURL=servers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"servers.d.ts","sourceRoot":"","sources":["../src/servers.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,OAAO;;;;;;;;;;;;CAYV,CAAC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { Logger } from './types.js';
|
|
2
|
+
export interface SSEMessage {
|
|
3
|
+
event?: string;
|
|
4
|
+
data: string;
|
|
5
|
+
id?: string;
|
|
6
|
+
retry?: number;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* Parses SSE (Server-Sent Events) formatted text into individual messages
|
|
10
|
+
* @param sseText - The raw SSE text to parse
|
|
11
|
+
* @returns Array of parsed SSE messages
|
|
12
|
+
*/
|
|
13
|
+
export declare function parseSSEMessages(sseText: string): SSEMessage[];
|
|
14
|
+
/**
|
|
15
|
+
* Extracts JSON-RPC messages from SSE data fields
|
|
16
|
+
* @param sseMessages - Array of SSE messages
|
|
17
|
+
* @param logger - Optional logger for debugging
|
|
18
|
+
* @returns Array of parsed JSON objects from SSE data fields
|
|
19
|
+
*/
|
|
20
|
+
export declare function extractJSONFromSSE(sseMessages: SSEMessage[], logger?: Logger): unknown[];
|
|
21
|
+
/**
|
|
22
|
+
* Determines if a response body appears to be SSE formatted
|
|
23
|
+
* @param body - The response body to check
|
|
24
|
+
* @returns true if the body appears to be SSE formatted
|
|
25
|
+
*/
|
|
26
|
+
export declare function isSSEResponse(body: unknown): boolean;
|
|
27
|
+
//# sourceMappingURL=sseParser.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sseParser.d.ts","sourceRoot":"","sources":["../src/sseParser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAEpC,MAAM,WAAW,UAAU;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU,EAAE,CAsD9D;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,UAAU,EAAE,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,EAAE,CAgBxF;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAqBpD"}
|
package/dist/types.d.ts
ADDED
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
export declare const DEFAULT_AUTHORIZATION_SERVER = "https://auth.atxp.ai";
|
|
2
|
+
export declare enum LogLevel {
|
|
3
|
+
DEBUG = 0,
|
|
4
|
+
INFO = 1,
|
|
5
|
+
WARN = 2,
|
|
6
|
+
ERROR = 3
|
|
7
|
+
}
|
|
8
|
+
export type Logger = {
|
|
9
|
+
debug: (message: string) => void;
|
|
10
|
+
info: (message: string) => void;
|
|
11
|
+
warn: (message: string) => void;
|
|
12
|
+
error: (message: string) => void;
|
|
13
|
+
};
|
|
14
|
+
export type UrlString = `http://${string}` | `https://${string}`;
|
|
15
|
+
export type AuthorizationServerUrl = UrlString;
|
|
16
|
+
export type Currency = 'USDC';
|
|
17
|
+
export type Network = 'solana' | 'base' | 'world' | 'base_sepolia' | 'world_sepolia' | 'atxp_base' | 'atxp_base_sepolia';
|
|
18
|
+
export type PaymentRequestDestination = {
|
|
19
|
+
network: Network;
|
|
20
|
+
currency: Currency;
|
|
21
|
+
address: string;
|
|
22
|
+
amount: BigNumber;
|
|
23
|
+
};
|
|
24
|
+
export type PaymentRequestData = {
|
|
25
|
+
destinations?: PaymentRequestDestination[];
|
|
26
|
+
amount?: BigNumber;
|
|
27
|
+
currency?: Currency;
|
|
28
|
+
network?: Network;
|
|
29
|
+
destination?: string;
|
|
30
|
+
source: string;
|
|
31
|
+
resource: URL;
|
|
32
|
+
resourceName: string;
|
|
33
|
+
payeeName?: string | null;
|
|
34
|
+
iss: string;
|
|
35
|
+
};
|
|
36
|
+
export type CustomJWTPayload = {
|
|
37
|
+
code_challenge?: string;
|
|
38
|
+
payment_request_id?: string;
|
|
39
|
+
};
|
|
40
|
+
export type ClientCredentials = {
|
|
41
|
+
clientId: string;
|
|
42
|
+
clientSecret: string;
|
|
43
|
+
redirectUri: string;
|
|
44
|
+
};
|
|
45
|
+
export type PKCEValues = {
|
|
46
|
+
codeVerifier: string;
|
|
47
|
+
codeChallenge: string;
|
|
48
|
+
resourceUrl: string;
|
|
49
|
+
url: string;
|
|
50
|
+
};
|
|
51
|
+
export type AccessToken = {
|
|
52
|
+
accessToken: string;
|
|
53
|
+
refreshToken?: string;
|
|
54
|
+
expiresAt?: number;
|
|
55
|
+
resourceUrl: string;
|
|
56
|
+
};
|
|
57
|
+
export interface OAuthResourceDb {
|
|
58
|
+
getClientCredentials(serverUrl: string): Promise<ClientCredentials | null>;
|
|
59
|
+
saveClientCredentials(serverUrl: string, credentials: ClientCredentials): Promise<void>;
|
|
60
|
+
close(): Promise<void>;
|
|
61
|
+
}
|
|
62
|
+
export interface OAuthDb extends OAuthResourceDb {
|
|
63
|
+
getPKCEValues(userId: string, state: string): Promise<PKCEValues | null>;
|
|
64
|
+
savePKCEValues(userId: string, state: string, values: PKCEValues): Promise<void>;
|
|
65
|
+
getAccessToken(userId: string, url: string): Promise<AccessToken | null>;
|
|
66
|
+
saveAccessToken(userId: string, url: string, token: AccessToken): Promise<void>;
|
|
67
|
+
}
|
|
68
|
+
export type TokenData = {
|
|
69
|
+
active: boolean;
|
|
70
|
+
scope?: string;
|
|
71
|
+
sub?: string;
|
|
72
|
+
aud?: string | string[];
|
|
73
|
+
};
|
|
74
|
+
export type FetchLike = (url: string | URL, init?: RequestInit) => Promise<Response>;
|
|
75
|
+
export type RequirePaymentConfig = {
|
|
76
|
+
price: BigNumber;
|
|
77
|
+
getExistingPaymentId?: () => Promise<string | null>;
|
|
78
|
+
};
|
|
79
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/dist/utils.d.ts
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Exhaustiveness check for switch statements.
|
|
3
|
+
* This function should never be called at runtime.
|
|
4
|
+
* It's used to ensure all cases of a union type or enum are handled.
|
|
5
|
+
*
|
|
6
|
+
* @param value - The value that should have been handled by all cases
|
|
7
|
+
* @param message - Optional error message
|
|
8
|
+
* @throws {Error} Always throws an error indicating unhandled case
|
|
9
|
+
*/
|
|
10
|
+
export declare function assertNever(value: never, message?: string): never;
|
|
11
|
+
/**
|
|
12
|
+
* Type-safe way to check if a value is one of the enum values.
|
|
13
|
+
*
|
|
14
|
+
* @param enumObj - The enum object
|
|
15
|
+
* @param value - The value to check
|
|
16
|
+
* @returns True if the value is a valid enum value
|
|
17
|
+
*/
|
|
18
|
+
export declare function isEnumValue<T extends Record<string, string | number>>(enumObj: T, value: unknown): value is T[keyof T];
|
|
19
|
+
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,KAAK,CAGjE;AAED;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,EACnE,OAAO,EAAE,CAAC,EACV,KAAK,EAAE,OAAO,GACb,KAAK,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAErB"}
|