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.
Files changed (55) hide show
  1. package/README.md +84 -118
  2. package/dist/api-key.js +76 -0
  3. package/dist/api-key.js.map +1 -0
  4. package/dist/config.js +24 -18
  5. package/dist/config.js.map +1 -1
  6. package/dist/index.js +33 -40
  7. package/dist/index.js.map +1 -1
  8. package/dist/proxy.js +133 -0
  9. package/dist/proxy.js.map +1 -0
  10. package/dist/utils.js +6 -64
  11. package/dist/utils.js.map +1 -1
  12. package/package.json +16 -11
  13. package/dist/auth/storage.d.ts +0 -11
  14. package/dist/auth/storage.d.ts.map +0 -1
  15. package/dist/auth/storage.js +0 -53
  16. package/dist/auth/storage.js.map +0 -1
  17. package/dist/cache/storage.d.ts +0 -47
  18. package/dist/cache/storage.d.ts.map +0 -1
  19. package/dist/cache/storage.js +0 -140
  20. package/dist/cache/storage.js.map +0 -1
  21. package/dist/cache/summary.d.ts +0 -16
  22. package/dist/cache/summary.d.ts.map +0 -1
  23. package/dist/cache/summary.js +0 -85
  24. package/dist/cache/summary.js.map +0 -1
  25. package/dist/cache/types.d.ts +0 -76
  26. package/dist/cache/types.d.ts.map +0 -1
  27. package/dist/cache/types.js +0 -6
  28. package/dist/cache/types.js.map +0 -1
  29. package/dist/config.d.ts +0 -18
  30. package/dist/config.d.ts.map +0 -1
  31. package/dist/data/metrics.toon +0 -293
  32. package/dist/discovery.d.ts +0 -70
  33. package/dist/discovery.d.ts.map +0 -1
  34. package/dist/discovery.js +0 -171
  35. package/dist/discovery.js.map +0 -1
  36. package/dist/index.d.ts +0 -18
  37. package/dist/index.d.ts.map +0 -1
  38. package/dist/permissions.d.ts +0 -36
  39. package/dist/permissions.d.ts.map +0 -1
  40. package/dist/permissions.js +0 -159
  41. package/dist/permissions.js.map +0 -1
  42. package/dist/plan-limits.d.ts +0 -71
  43. package/dist/plan-limits.d.ts.map +0 -1
  44. package/dist/plan-limits.js +0 -416
  45. package/dist/plan-limits.js.map +0 -1
  46. package/dist/tools/auth.d.ts +0 -3
  47. package/dist/tools/auth.d.ts.map +0 -1
  48. package/dist/tools/auth.js +0 -196
  49. package/dist/tools/auth.js.map +0 -1
  50. package/dist/tools/core.d.ts +0 -3
  51. package/dist/tools/core.d.ts.map +0 -1
  52. package/dist/tools/core.js +0 -546
  53. package/dist/tools/core.js.map +0 -1
  54. package/dist/utils.d.ts +0 -45
  55. package/dist/utils.d.ts.map +0 -1
@@ -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"}
@@ -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"}
@@ -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
@@ -1 +0,0 @@
1
- {"version":3,"file":"permissions.js","sourceRoot":"","sources":["../src/permissions.ts"],"names":[],"mappings":"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"}
@@ -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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"}