cryptoquant-mcp 0.2.0 → 1.0.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 +84 -118
- package/dist/api-key.js +76 -0
- package/dist/api-key.js.map +1 -0
- package/dist/config.js +24 -18
- package/dist/config.js.map +1 -1
- package/dist/index.js +33 -40
- package/dist/index.js.map +1 -1
- package/dist/proxy.js +133 -0
- package/dist/proxy.js.map +1 -0
- package/dist/utils.js +6 -64
- package/dist/utils.js.map +1 -1
- package/package.json +16 -11
- package/dist/auth/storage.d.ts +0 -11
- package/dist/auth/storage.d.ts.map +0 -1
- package/dist/auth/storage.js +0 -53
- package/dist/auth/storage.js.map +0 -1
- package/dist/cache/storage.d.ts +0 -47
- package/dist/cache/storage.d.ts.map +0 -1
- package/dist/cache/storage.js +0 -140
- package/dist/cache/storage.js.map +0 -1
- package/dist/cache/summary.d.ts +0 -16
- package/dist/cache/summary.d.ts.map +0 -1
- package/dist/cache/summary.js +0 -85
- package/dist/cache/summary.js.map +0 -1
- package/dist/cache/types.d.ts +0 -76
- package/dist/cache/types.d.ts.map +0 -1
- package/dist/cache/types.js +0 -6
- package/dist/cache/types.js.map +0 -1
- package/dist/config.d.ts +0 -18
- package/dist/config.d.ts.map +0 -1
- package/dist/data/metrics.toon +0 -293
- package/dist/discovery.d.ts +0 -70
- package/dist/discovery.d.ts.map +0 -1
- package/dist/discovery.js +0 -171
- package/dist/discovery.js.map +0 -1
- package/dist/index.d.ts +0 -18
- package/dist/index.d.ts.map +0 -1
- package/dist/permissions.d.ts +0 -36
- package/dist/permissions.d.ts.map +0 -1
- package/dist/permissions.js +0 -159
- package/dist/permissions.js.map +0 -1
- package/dist/plan-limits.d.ts +0 -71
- package/dist/plan-limits.d.ts.map +0 -1
- package/dist/plan-limits.js +0 -416
- package/dist/plan-limits.js.map +0 -1
- package/dist/tools/auth.d.ts +0 -3
- package/dist/tools/auth.d.ts.map +0 -1
- package/dist/tools/auth.js +0 -196
- package/dist/tools/auth.js.map +0 -1
- package/dist/tools/core.d.ts +0 -3
- package/dist/tools/core.d.ts.map +0 -1
- package/dist/tools/core.js +0 -546
- package/dist/tools/core.js.map +0 -1
- package/dist/utils.d.ts +0 -45
- package/dist/utils.d.ts.map +0 -1
package/dist/index.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAYA,YAAY,EACV,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,EACjB,cAAc,EACd,eAAe,EACf,gBAAgB,GACjB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,uBAAuB,EACvB,kBAAkB,EAClB,iBAAiB,EACjB,eAAe,EACf,iBAAiB,EACjB,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,cAAc,GACf,MAAM,gBAAgB,CAAC;AAKxB,YAAY,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAE1E,OAAO,EACL,qBAAqB,EACrB,kBAAkB,EAClB,YAAY,EACZ,gBAAgB,EAChB,mBAAmB,EACnB,qBAAqB,EACrB,kBAAkB,GACnB,MAAM,kBAAkB,CAAC;AAK1B,YAAY,EACV,aAAa,EACb,QAAQ,EACR,YAAY,EACZ,UAAU,EACV,YAAY,EACZ,eAAe,EACf,qBAAqB,EACrB,mBAAmB,EACnB,sBAAsB,EACtB,0BAA0B,GAC3B,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACL,eAAe,EACf,kBAAkB,EAClB,YAAY,EACZ,sBAAsB,EACtB,uBAAuB,EACvB,iBAAiB,EACjB,mBAAmB,EACnB,sBAAsB,EACtB,iBAAiB,EACjB,eAAe,EACf,eAAe,EACf,kBAAkB,EAClB,eAAe,EACf,uBAAuB,EACvB,6BAA6B,EAC7B,oBAAoB,GACrB,MAAM,kBAAkB,CAAC;AAK1B,YAAY,EACV,sBAAsB,EACtB,oBAAoB,EACpB,aAAa,EACb,oBAAoB,EACpB,yBAAyB,GAC1B,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAEjE,OAAO,EACL,gBAAgB,EAChB,YAAY,EACZ,SAAS,EACT,UAAU,EACV,eAAe,EACf,cAAc,EACd,eAAe,EACf,cAAc,EACd,YAAY,GACb,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAKzE,YAAY,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAE3D,OAAO,EACL,eAAe,EACf,UAAU,EACV,iBAAiB,EACjB,gBAAgB,EAChB,kBAAkB,GACnB,MAAM,mBAAmB,CAAC;AAK3B,OAAO,EACL,YAAY,EACZ,aAAa,EACb,WAAW,EACX,eAAe,EACf,MAAM,GACP,MAAM,YAAY,CAAC;AAKpB,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAKvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC"}
|
package/dist/permissions.d.ts
DELETED
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
import type { UserPlan } from "./plan-limits.js";
|
|
2
|
-
import type { DiscoveryCacheSchema, DiscoverySummaryData } from "./cache/types.js";
|
|
3
|
-
export interface PermissionState {
|
|
4
|
-
authenticated: boolean;
|
|
5
|
-
api_key: string | null;
|
|
6
|
-
cached_at: number | null;
|
|
7
|
-
plan: UserPlan;
|
|
8
|
-
plan_limits_loaded: boolean;
|
|
9
|
-
from_cache: boolean;
|
|
10
|
-
}
|
|
11
|
-
export interface InitializeResult {
|
|
12
|
-
success: boolean;
|
|
13
|
-
error?: string;
|
|
14
|
-
discovery_error?: string;
|
|
15
|
-
from_cache: boolean;
|
|
16
|
-
cache_status: string;
|
|
17
|
-
summary?: DiscoverySummaryData;
|
|
18
|
-
}
|
|
19
|
-
export declare function initializePermissions(apiKey: string, apiUrl: string): Promise<InitializeResult>;
|
|
20
|
-
export declare function getPermissionState(): PermissionState;
|
|
21
|
-
export declare function setGuestMode(): void;
|
|
22
|
-
export declare function resetPermissions(): void;
|
|
23
|
-
/**
|
|
24
|
-
* Clear discovery cache (called by reset_session with clear_cache=true).
|
|
25
|
-
*/
|
|
26
|
-
export declare function clearDiscoveryCache(apiUrl?: string): void;
|
|
27
|
-
/**
|
|
28
|
-
* Get cache file path for user display.
|
|
29
|
-
*/
|
|
30
|
-
export declare function getDiscoveryCachePath(apiUrl: string): string;
|
|
31
|
-
/**
|
|
32
|
-
* Get current cached discovery data (for summary in response).
|
|
33
|
-
*/
|
|
34
|
-
export declare function getCachedDiscovery(): DiscoveryCacheSchema | null;
|
|
35
|
-
export { getDiscoverySummary } from "./discovery.js";
|
|
36
|
-
//# sourceMappingURL=permissions.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"permissions.d.ts","sourceRoot":"","sources":["../src/permissions.ts"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAEjD,OAAO,KAAK,EACV,oBAAoB,EACpB,oBAAoB,EACrB,MAAM,kBAAkB,CAAC;AAE1B,MAAM,WAAW,eAAe;IAC9B,aAAa,EAAE,OAAO,CAAC;IACvB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,IAAI,EAAE,QAAQ,CAAC;IACf,kBAAkB,EAAE,OAAO,CAAC;IAC5B,UAAU,EAAE,OAAO,CAAC;CACrB;AAcD,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,UAAU,EAAE,OAAO,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,oBAAoB,CAAC;CAChC;AAED,wBAAsB,qBAAqB,CACzC,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,gBAAgB,CAAC,CAmI3B;AAED,wBAAgB,kBAAkB,IAAI,eAAe,CAEpD;AAED,wBAAgB,YAAY,IAAI,IAAI,CAMnC;AAED,wBAAgB,gBAAgB,IAAI,IAAI,CAKvC;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAOzD;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAE5D;AAED;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,oBAAoB,GAAG,IAAI,CAEhE;AAED,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC"}
|
package/dist/permissions.js
DELETED
|
@@ -1,159 +0,0 @@
|
|
|
1
|
-
import { clearAllCaches, getCacheFilePath, getCacheStatus, invalidateCache, isCacheValid, readCache, writeCache, } from "./cache/storage.js";
|
|
2
|
-
import { extractRawResponse, generateSummary } from "./cache/summary.js";
|
|
3
|
-
import { fetchDiscoveryEndpoints, resetDiscovery } from "./discovery.js";
|
|
4
|
-
import { logger } from "./utils.js";
|
|
5
|
-
import { fetchPlanLimits, getPlanLimitsState, loadPlanLimitsFromCache, resetPlanLimits, } from "./plan-limits.js";
|
|
6
|
-
const DEFAULT_STATE = {
|
|
7
|
-
authenticated: false,
|
|
8
|
-
api_key: null,
|
|
9
|
-
cached_at: null,
|
|
10
|
-
plan: "unknown",
|
|
11
|
-
plan_limits_loaded: false,
|
|
12
|
-
from_cache: false,
|
|
13
|
-
};
|
|
14
|
-
let permissionState = { ...DEFAULT_STATE };
|
|
15
|
-
let cachedDiscovery = null;
|
|
16
|
-
export async function initializePermissions(apiKey, apiUrl) {
|
|
17
|
-
logger.debug("[initializePermissions] starting with API URL:", apiUrl);
|
|
18
|
-
const apiKeyPrefix = apiKey.slice(0, 8);
|
|
19
|
-
// 1. Try cache first for /my/discovery data
|
|
20
|
-
const cache = readCache(apiUrl);
|
|
21
|
-
logger.debug("[initializePermissions] cache status:", cache ? "found" : "not found");
|
|
22
|
-
if (cache && isCacheValid(cache, apiUrl, apiKeyPrefix)) {
|
|
23
|
-
logger.debug("[initializePermissions] using valid cache, plan:", cache.metadata.plan);
|
|
24
|
-
// Load plan limits from cache
|
|
25
|
-
loadPlanLimitsFromCache(cache.parsed.limits, cache.parsed.statics, cache.parsed.apiRateLimit, cache.metadata.plan);
|
|
26
|
-
// Still need to fetch /discovery/endpoints for parameter options
|
|
27
|
-
const discoveryResult = await fetchDiscoveryEndpoints(apiKey, apiUrl);
|
|
28
|
-
if (!discoveryResult.success) {
|
|
29
|
-
// Discovery failed but we have cache - continue with warning
|
|
30
|
-
logger.warn(`Discovery fetch failed, using cache: ${discoveryResult.error}`);
|
|
31
|
-
}
|
|
32
|
-
const cacheStatus = getCacheStatus(cache, true);
|
|
33
|
-
cachedDiscovery = cache;
|
|
34
|
-
permissionState = {
|
|
35
|
-
authenticated: true,
|
|
36
|
-
api_key: apiKey,
|
|
37
|
-
cached_at: Date.now(),
|
|
38
|
-
plan: cache.metadata.plan,
|
|
39
|
-
plan_limits_loaded: true,
|
|
40
|
-
from_cache: true,
|
|
41
|
-
};
|
|
42
|
-
return {
|
|
43
|
-
success: true,
|
|
44
|
-
from_cache: true,
|
|
45
|
-
cache_status: cacheStatus,
|
|
46
|
-
summary: cache.summary,
|
|
47
|
-
};
|
|
48
|
-
}
|
|
49
|
-
// 2. Cache miss or invalid - fetch fresh data
|
|
50
|
-
logger.debug("[initializePermissions] cache miss or invalid, fetching fresh data");
|
|
51
|
-
try {
|
|
52
|
-
// Fetch /discovery/endpoints (for parameter options)
|
|
53
|
-
logger.debug("[initializePermissions] fetching /discovery/endpoints");
|
|
54
|
-
const discoveryResult = await fetchDiscoveryEndpoints(apiKey, apiUrl);
|
|
55
|
-
if (!discoveryResult.success) {
|
|
56
|
-
logger.debug("[initializePermissions] discovery fetch failed:", discoveryResult.error);
|
|
57
|
-
return {
|
|
58
|
-
success: false,
|
|
59
|
-
error: discoveryResult.error,
|
|
60
|
-
from_cache: false,
|
|
61
|
-
cache_status: "none",
|
|
62
|
-
};
|
|
63
|
-
}
|
|
64
|
-
logger.debug("[initializePermissions] discovery fetch succeeded");
|
|
65
|
-
// Fetch /my/discovery/endpoints (for plan limits)
|
|
66
|
-
logger.debug("[initializePermissions] fetching /my/discovery/endpoints");
|
|
67
|
-
const planResult = await fetchPlanLimits(apiKey, apiUrl);
|
|
68
|
-
logger.debug("[initializePermissions] plan limits fetch:", planResult.success ? "success" : "failed");
|
|
69
|
-
const planState = getPlanLimitsState();
|
|
70
|
-
if (!planResult.success) {
|
|
71
|
-
logger.warn(`Plan limits fetch failed: ${planResult.error}`);
|
|
72
|
-
}
|
|
73
|
-
// 3. Generate summary and write cache
|
|
74
|
-
if (planResult.success && planResult.rawResponse && planResult.parsed) {
|
|
75
|
-
const rawResponse = extractRawResponse(planResult.rawResponse);
|
|
76
|
-
if (rawResponse) {
|
|
77
|
-
const summary = generateSummary(planResult.parsed.limits, planResult.parsed.statics);
|
|
78
|
-
writeCache(apiUrl, apiKey, rawResponse, planResult.parsed, summary, planResult.plan || "unknown");
|
|
79
|
-
// Store for later use
|
|
80
|
-
const newCache = readCache(apiUrl);
|
|
81
|
-
cachedDiscovery = newCache;
|
|
82
|
-
permissionState = {
|
|
83
|
-
authenticated: true,
|
|
84
|
-
api_key: apiKey,
|
|
85
|
-
cached_at: Date.now(),
|
|
86
|
-
plan: planState.plan,
|
|
87
|
-
plan_limits_loaded: planState.loaded,
|
|
88
|
-
from_cache: false,
|
|
89
|
-
};
|
|
90
|
-
return {
|
|
91
|
-
success: true,
|
|
92
|
-
from_cache: false,
|
|
93
|
-
cache_status: "fresh",
|
|
94
|
-
summary,
|
|
95
|
-
};
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
// Cache write failed but auth succeeded
|
|
99
|
-
permissionState = {
|
|
100
|
-
authenticated: true,
|
|
101
|
-
api_key: apiKey,
|
|
102
|
-
cached_at: Date.now(),
|
|
103
|
-
plan: planState.plan,
|
|
104
|
-
plan_limits_loaded: planState.loaded,
|
|
105
|
-
from_cache: false,
|
|
106
|
-
};
|
|
107
|
-
return { success: true, from_cache: false, cache_status: "none" };
|
|
108
|
-
}
|
|
109
|
-
catch (error) {
|
|
110
|
-
return {
|
|
111
|
-
success: false,
|
|
112
|
-
error: `Network error: ${error}`,
|
|
113
|
-
from_cache: false,
|
|
114
|
-
cache_status: "none",
|
|
115
|
-
};
|
|
116
|
-
}
|
|
117
|
-
}
|
|
118
|
-
export function getPermissionState() {
|
|
119
|
-
return permissionState;
|
|
120
|
-
}
|
|
121
|
-
export function setGuestMode() {
|
|
122
|
-
permissionState = {
|
|
123
|
-
...DEFAULT_STATE,
|
|
124
|
-
cached_at: Date.now(),
|
|
125
|
-
from_cache: false,
|
|
126
|
-
};
|
|
127
|
-
}
|
|
128
|
-
export function resetPermissions() {
|
|
129
|
-
permissionState = { ...DEFAULT_STATE };
|
|
130
|
-
cachedDiscovery = null;
|
|
131
|
-
resetDiscovery();
|
|
132
|
-
resetPlanLimits();
|
|
133
|
-
}
|
|
134
|
-
/**
|
|
135
|
-
* Clear discovery cache (called by reset_session with clear_cache=true).
|
|
136
|
-
*/
|
|
137
|
-
export function clearDiscoveryCache(apiUrl) {
|
|
138
|
-
if (apiUrl) {
|
|
139
|
-
invalidateCache(apiUrl);
|
|
140
|
-
}
|
|
141
|
-
else {
|
|
142
|
-
clearAllCaches();
|
|
143
|
-
}
|
|
144
|
-
cachedDiscovery = null;
|
|
145
|
-
}
|
|
146
|
-
/**
|
|
147
|
-
* Get cache file path for user display.
|
|
148
|
-
*/
|
|
149
|
-
export function getDiscoveryCachePath(apiUrl) {
|
|
150
|
-
return getCacheFilePath(apiUrl);
|
|
151
|
-
}
|
|
152
|
-
/**
|
|
153
|
-
* Get current cached discovery data (for summary in response).
|
|
154
|
-
*/
|
|
155
|
-
export function getCachedDiscovery() {
|
|
156
|
-
return cachedDiscovery;
|
|
157
|
-
}
|
|
158
|
-
export { getDiscoverySummary } from "./discovery.js";
|
|
159
|
-
//# sourceMappingURL=permissions.js.map
|
package/dist/permissions.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"permissions.js","sourceRoot":"","sources":["../src/permissions.ts"],"names":[],"mappings":"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"}
|
package/dist/plan-limits.d.ts
DELETED
|
@@ -1,71 +0,0 @@
|
|
|
1
|
-
export type DurationLimit = string;
|
|
2
|
-
export type UserPlan = "basic" | "advanced" | "professional" | "premium" | "custom" | "unknown";
|
|
3
|
-
export interface MetricLimits {
|
|
4
|
-
window: {
|
|
5
|
-
[windowType: string]: DurationLimit;
|
|
6
|
-
};
|
|
7
|
-
}
|
|
8
|
-
export interface PlanLimits {
|
|
9
|
-
[asset: string]: {
|
|
10
|
-
[category: string]: {
|
|
11
|
-
[metric: string]: MetricLimits;
|
|
12
|
-
};
|
|
13
|
-
};
|
|
14
|
-
}
|
|
15
|
-
export interface ApiRateLimit {
|
|
16
|
-
token: number;
|
|
17
|
-
window: string;
|
|
18
|
-
}
|
|
19
|
-
export interface PlanLimitsState {
|
|
20
|
-
loaded: boolean;
|
|
21
|
-
limits: PlanLimits | null;
|
|
22
|
-
plan: UserPlan;
|
|
23
|
-
statics: string[];
|
|
24
|
-
apiRateLimit: ApiRateLimit | null;
|
|
25
|
-
fetched_at: number | null;
|
|
26
|
-
}
|
|
27
|
-
export interface FetchPlanLimitsResult {
|
|
28
|
-
success: boolean;
|
|
29
|
-
error?: string;
|
|
30
|
-
rawResponse?: Record<string, unknown>;
|
|
31
|
-
parsed?: {
|
|
32
|
-
limits: PlanLimits | null;
|
|
33
|
-
statics: string[];
|
|
34
|
-
apiRateLimit: ApiRateLimit | null;
|
|
35
|
-
};
|
|
36
|
-
plan?: UserPlan;
|
|
37
|
-
}
|
|
38
|
-
export declare function fetchPlanLimits(apiKey: string, apiUrl: string): Promise<FetchPlanLimitsResult>;
|
|
39
|
-
export declare function detectPlanFromLimits(limits: PlanLimits | null): UserPlan;
|
|
40
|
-
export declare function getPlanLimitsState(): PlanLimitsState;
|
|
41
|
-
export declare function getPlanLimit(endpointPath: string, windowType?: string): DurationLimit | null;
|
|
42
|
-
export declare function getEndpointResultLimit(_endpointPath: string): number | null;
|
|
43
|
-
export declare function getEndpointWindowLimits(endpointPath: string): Record<string, DurationLimit>;
|
|
44
|
-
export declare function hasEndpointAccess(endpointPath: string): boolean;
|
|
45
|
-
export declare function parseDurationToDate(duration: DurationLimit): Date | null;
|
|
46
|
-
export declare function getEarliestAllowedDate(endpointPath: string, windowType?: string): Date | null;
|
|
47
|
-
export interface DateRangeValidation {
|
|
48
|
-
valid: boolean;
|
|
49
|
-
error?: string;
|
|
50
|
-
earliest_allowed?: string;
|
|
51
|
-
limit?: DurationLimit;
|
|
52
|
-
}
|
|
53
|
-
export declare function validateDateRange(endpointPath: string, fromDate: string | undefined, windowType?: string): DateRangeValidation;
|
|
54
|
-
export declare function getRequiredPlan(endpointPath: string): UserPlan;
|
|
55
|
-
export declare function getApiRateLimit(): ApiRateLimit | null;
|
|
56
|
-
export declare function getStaticEndpoints(): string[];
|
|
57
|
-
export declare function resetPlanLimits(): void;
|
|
58
|
-
/**
|
|
59
|
-
* Load plan limits state from cached data (no API call).
|
|
60
|
-
*/
|
|
61
|
-
export declare function loadPlanLimitsFromCache(limits: PlanLimits | null, statics: string[], apiRateLimit: ApiRateLimit | null, plan: UserPlan): void;
|
|
62
|
-
export interface AccessibleEndpointInfo {
|
|
63
|
-
path: string;
|
|
64
|
-
date_limit: string;
|
|
65
|
-
}
|
|
66
|
-
export interface AccessibleEndpointsSummary {
|
|
67
|
-
count: number;
|
|
68
|
-
endpoints?: AccessibleEndpointInfo[];
|
|
69
|
-
}
|
|
70
|
-
export declare function getAccessibleEndpointsSummary(totalDiscoveredEndpoints?: number): AccessibleEndpointsSummary;
|
|
71
|
-
//# sourceMappingURL=plan-limits.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"plan-limits.d.ts","sourceRoot":"","sources":["../src/plan-limits.ts"],"names":[],"mappings":"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"}
|