@quantulabs/8004-mcp 0.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/LICENSE +21 -0
- package/README.md +370 -0
- package/dist/chains/evm/index.d.ts +2 -0
- package/dist/chains/evm/index.d.ts.map +1 -0
- package/dist/chains/evm/index.js +3 -0
- package/dist/chains/evm/index.js.map +1 -0
- package/dist/chains/evm/provider.d.ts +48 -0
- package/dist/chains/evm/provider.d.ts.map +1 -0
- package/dist/chains/evm/provider.js +446 -0
- package/dist/chains/evm/provider.js.map +1 -0
- package/dist/chains/index.d.ts +3 -0
- package/dist/chains/index.d.ts.map +1 -0
- package/dist/chains/index.js +4 -0
- package/dist/chains/index.js.map +1 -0
- package/dist/chains/solana/data-source.d.ts +17 -0
- package/dist/chains/solana/data-source.d.ts.map +1 -0
- package/dist/chains/solana/data-source.js +65 -0
- package/dist/chains/solana/data-source.js.map +1 -0
- package/dist/chains/solana/index.d.ts +8 -0
- package/dist/chains/solana/index.d.ts.map +1 -0
- package/dist/chains/solana/index.js +9 -0
- package/dist/chains/solana/index.js.map +1 -0
- package/dist/chains/solana/parsers.d.ts +11 -0
- package/dist/chains/solana/parsers.d.ts.map +1 -0
- package/dist/chains/solana/parsers.js +94 -0
- package/dist/chains/solana/parsers.js.map +1 -0
- package/dist/chains/solana/provider.d.ts +33 -0
- package/dist/chains/solana/provider.d.ts.map +1 -0
- package/dist/chains/solana/provider.js +407 -0
- package/dist/chains/solana/provider.js.map +1 -0
- package/dist/chains/solana/state.d.ts +55 -0
- package/dist/chains/solana/state.d.ts.map +1 -0
- package/dist/chains/solana/state.js +162 -0
- package/dist/chains/solana/state.js.map +1 -0
- package/dist/chains/solana/tools/atom.d.ts +45 -0
- package/dist/chains/solana/tools/atom.d.ts.map +1 -0
- package/dist/chains/solana/tools/atom.js +115 -0
- package/dist/chains/solana/tools/atom.js.map +1 -0
- package/dist/chains/solana/tools/validation.d.ts +45 -0
- package/dist/chains/solana/tools/validation.d.ts.map +1 -0
- package/dist/chains/solana/tools/validation.js +212 -0
- package/dist/chains/solana/tools/validation.js.map +1 -0
- package/dist/chains/solana/tools/wallet.d.ts +45 -0
- package/dist/chains/solana/tools/wallet.d.ts.map +1 -0
- package/dist/chains/solana/tools/wallet.js +103 -0
- package/dist/chains/solana/tools/wallet.js.map +1 -0
- package/dist/config/defaults.d.ts +68 -0
- package/dist/config/defaults.d.ts.map +1 -0
- package/dist/config/defaults.js +247 -0
- package/dist/config/defaults.js.map +1 -0
- package/dist/config/env.d.ts +33 -0
- package/dist/config/env.d.ts.map +1 -0
- package/dist/config/env.js +42 -0
- package/dist/config/env.js.map +1 -0
- package/dist/config/index.d.ts +3 -0
- package/dist/config/index.d.ts.map +1 -0
- package/dist/config/index.js +3 -0
- package/dist/config/index.js.map +1 -0
- package/dist/core/cache/agent-cache.d.ts +36 -0
- package/dist/core/cache/agent-cache.d.ts.map +1 -0
- package/dist/core/cache/agent-cache.js +87 -0
- package/dist/core/cache/agent-cache.js.map +1 -0
- package/dist/core/cache/data-source.d.ts +31 -0
- package/dist/core/cache/data-source.d.ts.map +1 -0
- package/dist/core/cache/data-source.js +6 -0
- package/dist/core/cache/data-source.js.map +1 -0
- package/dist/core/cache/index.d.ts +7 -0
- package/dist/core/cache/index.d.ts.map +1 -0
- package/dist/core/cache/index.js +9 -0
- package/dist/core/cache/index.js.map +1 -0
- package/dist/core/cache/lazy-cache.d.ts +30 -0
- package/dist/core/cache/lazy-cache.d.ts.map +1 -0
- package/dist/core/cache/lazy-cache.js +79 -0
- package/dist/core/cache/lazy-cache.js.map +1 -0
- package/dist/core/cache/slim-store.d.ts +66 -0
- package/dist/core/cache/slim-store.d.ts.map +1 -0
- package/dist/core/cache/slim-store.js +285 -0
- package/dist/core/cache/slim-store.js.map +1 -0
- package/dist/core/cache/sqlite-store.d.ts +99 -0
- package/dist/core/cache/sqlite-store.d.ts.map +1 -0
- package/dist/core/cache/sqlite-store.js +470 -0
- package/dist/core/cache/sqlite-store.js.map +1 -0
- package/dist/core/cache/sync-manager.d.ts +38 -0
- package/dist/core/cache/sync-manager.d.ts.map +1 -0
- package/dist/core/cache/sync-manager.js +213 -0
- package/dist/core/cache/sync-manager.js.map +1 -0
- package/dist/core/errors/index.d.ts +2 -0
- package/dist/core/errors/index.d.ts.map +1 -0
- package/dist/core/errors/index.js +2 -0
- package/dist/core/errors/index.js.map +1 -0
- package/dist/core/errors/mcp-error.d.ts +39 -0
- package/dist/core/errors/mcp-error.d.ts.map +1 -0
- package/dist/core/errors/mcp-error.js +79 -0
- package/dist/core/errors/mcp-error.js.map +1 -0
- package/dist/core/interfaces/agent.d.ts +84 -0
- package/dist/core/interfaces/agent.d.ts.map +1 -0
- package/dist/core/interfaces/agent.js +40 -0
- package/dist/core/interfaces/agent.js.map +1 -0
- package/dist/core/interfaces/chain-provider.d.ts +50 -0
- package/dist/core/interfaces/chain-provider.d.ts.map +1 -0
- package/dist/core/interfaces/chain-provider.js +5 -0
- package/dist/core/interfaces/chain-provider.js.map +1 -0
- package/dist/core/interfaces/feedback.d.ts +46 -0
- package/dist/core/interfaces/feedback.d.ts.map +1 -0
- package/dist/core/interfaces/feedback.js +3 -0
- package/dist/core/interfaces/feedback.js.map +1 -0
- package/dist/core/interfaces/index.d.ts +6 -0
- package/dist/core/interfaces/index.d.ts.map +1 -0
- package/dist/core/interfaces/index.js +7 -0
- package/dist/core/interfaces/index.js.map +1 -0
- package/dist/core/interfaces/reputation.d.ts +47 -0
- package/dist/core/interfaces/reputation.d.ts.map +1 -0
- package/dist/core/interfaces/reputation.js +30 -0
- package/dist/core/interfaces/reputation.js.map +1 -0
- package/dist/core/interfaces/x402.d.ts +226 -0
- package/dist/core/interfaces/x402.d.ts.map +1 -0
- package/dist/core/interfaces/x402.js +120 -0
- package/dist/core/interfaces/x402.js.map +1 -0
- package/dist/core/parsers/common.d.ts +31 -0
- package/dist/core/parsers/common.d.ts.map +1 -0
- package/dist/core/parsers/common.js +185 -0
- package/dist/core/parsers/common.js.map +1 -0
- package/dist/core/parsers/index.d.ts +2 -0
- package/dist/core/parsers/index.d.ts.map +1 -0
- package/dist/core/parsers/index.js +2 -0
- package/dist/core/parsers/index.js.map +1 -0
- package/dist/core/registry/chain-registry.d.ts +26 -0
- package/dist/core/registry/chain-registry.d.ts.map +1 -0
- package/dist/core/registry/chain-registry.js +141 -0
- package/dist/core/registry/chain-registry.js.map +1 -0
- package/dist/core/registry/index.d.ts +3 -0
- package/dist/core/registry/index.d.ts.map +1 -0
- package/dist/core/registry/index.js +3 -0
- package/dist/core/registry/index.js.map +1 -0
- package/dist/core/registry/tool-registry.d.ts +23 -0
- package/dist/core/registry/tool-registry.d.ts.map +1 -0
- package/dist/core/registry/tool-registry.js +66 -0
- package/dist/core/registry/tool-registry.js.map +1 -0
- package/dist/core/serializers/common.d.ts +20 -0
- package/dist/core/serializers/common.d.ts.map +1 -0
- package/dist/core/serializers/common.js +76 -0
- package/dist/core/serializers/common.js.map +1 -0
- package/dist/core/serializers/index.d.ts +2 -0
- package/dist/core/serializers/index.d.ts.map +1 -0
- package/dist/core/serializers/index.js +2 -0
- package/dist/core/serializers/index.js.map +1 -0
- package/dist/core/services/index.d.ts +3 -0
- package/dist/core/services/index.d.ts.map +1 -0
- package/dist/core/services/index.js +3 -0
- package/dist/core/services/index.js.map +1 -0
- package/dist/core/services/ipfs-service.d.ts +59 -0
- package/dist/core/services/ipfs-service.d.ts.map +1 -0
- package/dist/core/services/ipfs-service.js +84 -0
- package/dist/core/services/ipfs-service.js.map +1 -0
- package/dist/core/utils/tags.d.ts +38 -0
- package/dist/core/utils/tags.d.ts.map +1 -0
- package/dist/core/utils/tags.js +77 -0
- package/dist/core/utils/tags.js.map +1 -0
- package/dist/core/utils/value-encoding.d.ts +36 -0
- package/dist/core/utils/value-encoding.d.ts.map +1 -0
- package/dist/core/utils/value-encoding.js +196 -0
- package/dist/core/utils/value-encoding.js.map +1 -0
- package/dist/core/wallet/index.d.ts +2 -0
- package/dist/core/wallet/index.d.ts.map +1 -0
- package/dist/core/wallet/index.js +3 -0
- package/dist/core/wallet/index.js.map +1 -0
- package/dist/core/wallet/wallet-manager.d.ts +86 -0
- package/dist/core/wallet/wallet-manager.d.ts.map +1 -0
- package/dist/core/wallet/wallet-manager.js +783 -0
- package/dist/core/wallet/wallet-manager.js.map +1 -0
- package/dist/core/x402/index.d.ts +2 -0
- package/dist/core/x402/index.d.ts.map +1 -0
- package/dist/core/x402/index.js +3 -0
- package/dist/core/x402/index.js.map +1 -0
- package/dist/core/x402/proof-validator.d.ts +57 -0
- package/dist/core/x402/proof-validator.d.ts.map +1 -0
- package/dist/core/x402/proof-validator.js +103 -0
- package/dist/core/x402/proof-validator.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +135 -0
- package/dist/index.js.map +1 -0
- package/dist/state/global-state.d.ts +98 -0
- package/dist/state/global-state.d.ts.map +1 -0
- package/dist/state/global-state.js +258 -0
- package/dist/state/global-state.js.map +1 -0
- package/dist/tools/definitions.d.ts +10 -0
- package/dist/tools/definitions.d.ts.map +1 -0
- package/dist/tools/definitions.js +163 -0
- package/dist/tools/definitions.js.map +1 -0
- package/dist/tools/unified/agent.d.ts +5 -0
- package/dist/tools/unified/agent.d.ts.map +1 -0
- package/dist/tools/unified/agent.js +300 -0
- package/dist/tools/unified/agent.js.map +1 -0
- package/dist/tools/unified/cache.d.ts +5 -0
- package/dist/tools/unified/cache.d.ts.map +1 -0
- package/dist/tools/unified/cache.js +207 -0
- package/dist/tools/unified/cache.js.map +1 -0
- package/dist/tools/unified/collection.d.ts +5 -0
- package/dist/tools/unified/collection.d.ts.map +1 -0
- package/dist/tools/unified/collection.js +162 -0
- package/dist/tools/unified/collection.js.map +1 -0
- package/dist/tools/unified/config.d.ts +5 -0
- package/dist/tools/unified/config.d.ts.map +1 -0
- package/dist/tools/unified/config.js +217 -0
- package/dist/tools/unified/config.js.map +1 -0
- package/dist/tools/unified/crawler.d.ts +5 -0
- package/dist/tools/unified/crawler.d.ts.map +1 -0
- package/dist/tools/unified/crawler.js +212 -0
- package/dist/tools/unified/crawler.js.map +1 -0
- package/dist/tools/unified/feedback.d.ts +5 -0
- package/dist/tools/unified/feedback.d.ts.map +1 -0
- package/dist/tools/unified/feedback.js +274 -0
- package/dist/tools/unified/feedback.js.map +1 -0
- package/dist/tools/unified/ipfs.d.ts +5 -0
- package/dist/tools/unified/ipfs.d.ts.map +1 -0
- package/dist/tools/unified/ipfs.js +156 -0
- package/dist/tools/unified/ipfs.js.map +1 -0
- package/dist/tools/unified/oasf.d.ts +5 -0
- package/dist/tools/unified/oasf.d.ts.map +1 -0
- package/dist/tools/unified/oasf.js +167 -0
- package/dist/tools/unified/oasf.js.map +1 -0
- package/dist/tools/unified/registration.d.ts +5 -0
- package/dist/tools/unified/registration.d.ts.map +1 -0
- package/dist/tools/unified/registration.js +223 -0
- package/dist/tools/unified/registration.js.map +1 -0
- package/dist/tools/unified/reputation.d.ts +5 -0
- package/dist/tools/unified/reputation.d.ts.map +1 -0
- package/dist/tools/unified/reputation.js +121 -0
- package/dist/tools/unified/reputation.js.map +1 -0
- package/dist/tools/unified/wallet.d.ts +5 -0
- package/dist/tools/unified/wallet.d.ts.map +1 -0
- package/dist/tools/unified/wallet.js +434 -0
- package/dist/tools/unified/wallet.js.map +1 -0
- package/dist/tools/unified/write-operations.d.ts +5 -0
- package/dist/tools/unified/write-operations.d.ts.map +1 -0
- package/dist/tools/unified/write-operations.js +582 -0
- package/dist/tools/unified/write-operations.js.map +1 -0
- package/dist/tools/unified/x402.d.ts +5 -0
- package/dist/tools/unified/x402.d.ts.map +1 -0
- package/dist/tools/unified/x402.js +594 -0
- package/dist/tools/unified/x402.js.map +1 -0
- package/package.json +67 -0
|
@@ -0,0 +1,213 @@
|
|
|
1
|
+
// Background sync manager for cache
|
|
2
|
+
const DEFAULT_CONFIG = {
|
|
3
|
+
syncIntervalMs: 5 * 60 * 1000, // 5 minutes
|
|
4
|
+
minSyncIntervalMs: 30 * 1000, // 30 seconds minimum between syncs
|
|
5
|
+
maxRetries: 3,
|
|
6
|
+
};
|
|
7
|
+
export class SyncManager {
|
|
8
|
+
store;
|
|
9
|
+
dataSources = new Map();
|
|
10
|
+
config;
|
|
11
|
+
progress = new Map();
|
|
12
|
+
syncInterval = null;
|
|
13
|
+
isSyncing = false;
|
|
14
|
+
constructor(store, config) {
|
|
15
|
+
this.store = store;
|
|
16
|
+
this.config = { ...DEFAULT_CONFIG, ...config };
|
|
17
|
+
}
|
|
18
|
+
registerDataSource(dataSource) {
|
|
19
|
+
this.dataSources.set(dataSource.sourceId, dataSource);
|
|
20
|
+
this.progress.set(dataSource.sourceId, {
|
|
21
|
+
sourceId: dataSource.sourceId,
|
|
22
|
+
status: 'idle',
|
|
23
|
+
progress: 0,
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
unregisterDataSource(sourceId) {
|
|
27
|
+
this.dataSources.delete(sourceId);
|
|
28
|
+
this.progress.delete(sourceId);
|
|
29
|
+
}
|
|
30
|
+
getProgress(sourceId) {
|
|
31
|
+
if (sourceId) {
|
|
32
|
+
return this.progress.get(sourceId) ?? {
|
|
33
|
+
sourceId,
|
|
34
|
+
status: 'idle',
|
|
35
|
+
progress: 0,
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
return this.progress;
|
|
39
|
+
}
|
|
40
|
+
startBackgroundSync() {
|
|
41
|
+
if (this.syncInterval)
|
|
42
|
+
return;
|
|
43
|
+
this.syncInterval = setInterval(() => {
|
|
44
|
+
void this.syncAll();
|
|
45
|
+
}, this.config.syncIntervalMs);
|
|
46
|
+
// Initial sync
|
|
47
|
+
void this.syncAll();
|
|
48
|
+
}
|
|
49
|
+
stopBackgroundSync() {
|
|
50
|
+
if (this.syncInterval) {
|
|
51
|
+
clearInterval(this.syncInterval);
|
|
52
|
+
this.syncInterval = null;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
async syncAll(options) {
|
|
56
|
+
if (this.isSyncing && !options?.force) {
|
|
57
|
+
return this.progress;
|
|
58
|
+
}
|
|
59
|
+
this.isSyncing = true;
|
|
60
|
+
const results = new Map();
|
|
61
|
+
for (const [sourceId, dataSource] of this.dataSources) {
|
|
62
|
+
try {
|
|
63
|
+
const result = await this.syncSource(sourceId, dataSource, options);
|
|
64
|
+
results.set(sourceId, result);
|
|
65
|
+
}
|
|
66
|
+
catch (error) {
|
|
67
|
+
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
68
|
+
results.set(sourceId, {
|
|
69
|
+
sourceId,
|
|
70
|
+
status: 'error',
|
|
71
|
+
progress: 0,
|
|
72
|
+
error: errorMessage,
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
this.isSyncing = false;
|
|
77
|
+
return results;
|
|
78
|
+
}
|
|
79
|
+
async syncSource(sourceId, dataSource, options) {
|
|
80
|
+
const source = dataSource ?? this.dataSources.get(sourceId);
|
|
81
|
+
if (!source) {
|
|
82
|
+
return {
|
|
83
|
+
sourceId,
|
|
84
|
+
status: 'error',
|
|
85
|
+
progress: 0,
|
|
86
|
+
error: `Data source not found: ${sourceId}`,
|
|
87
|
+
};
|
|
88
|
+
}
|
|
89
|
+
// Check rate limiting
|
|
90
|
+
if (!options?.force) {
|
|
91
|
+
const syncState = this.store.getSyncState(sourceId);
|
|
92
|
+
if (syncState?.last_timestamp) {
|
|
93
|
+
const elapsed = Date.now() - syncState.last_timestamp;
|
|
94
|
+
if (elapsed < this.config.minSyncIntervalMs) {
|
|
95
|
+
return {
|
|
96
|
+
sourceId,
|
|
97
|
+
status: 'idle',
|
|
98
|
+
progress: 100,
|
|
99
|
+
total: syncState.total_agents ?? undefined,
|
|
100
|
+
};
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
// Check availability
|
|
105
|
+
const available = await source.isAvailable();
|
|
106
|
+
if (!available) {
|
|
107
|
+
const progress = {
|
|
108
|
+
sourceId,
|
|
109
|
+
status: 'error',
|
|
110
|
+
progress: 0,
|
|
111
|
+
error: 'Data source not available',
|
|
112
|
+
};
|
|
113
|
+
this.progress.set(sourceId, progress);
|
|
114
|
+
return progress;
|
|
115
|
+
}
|
|
116
|
+
// Start sync
|
|
117
|
+
const startedAt = Date.now();
|
|
118
|
+
let progress = {
|
|
119
|
+
sourceId,
|
|
120
|
+
status: 'syncing',
|
|
121
|
+
progress: 0,
|
|
122
|
+
startedAt,
|
|
123
|
+
};
|
|
124
|
+
this.progress.set(sourceId, progress);
|
|
125
|
+
this.store.updateSyncState(sourceId, {
|
|
126
|
+
chain_prefix: source.chainPrefix,
|
|
127
|
+
status: 'syncing',
|
|
128
|
+
});
|
|
129
|
+
try {
|
|
130
|
+
// Get last sync state
|
|
131
|
+
const syncState = this.store.getSyncState(sourceId);
|
|
132
|
+
let cursor = options?.force ? undefined : syncState?.last_cursor ?? undefined;
|
|
133
|
+
const updatedSince = options?.force ? undefined : syncState?.last_timestamp ?? undefined;
|
|
134
|
+
// Get total for progress calculation
|
|
135
|
+
const total = await source.getTotalCount();
|
|
136
|
+
let synced = 0;
|
|
137
|
+
// Fetch batches
|
|
138
|
+
let hasMore = true;
|
|
139
|
+
let retries = 0;
|
|
140
|
+
while (hasMore) {
|
|
141
|
+
try {
|
|
142
|
+
const batch = await source.fetchBatch({
|
|
143
|
+
cursor,
|
|
144
|
+
updatedSince,
|
|
145
|
+
limit: options?.batchSize ?? 1000,
|
|
146
|
+
});
|
|
147
|
+
if (batch.agents.length > 0) {
|
|
148
|
+
this.store.upsertAgentsBatch(batch.agents);
|
|
149
|
+
synced += batch.agents.length;
|
|
150
|
+
}
|
|
151
|
+
cursor = batch.cursor;
|
|
152
|
+
hasMore = batch.hasMore;
|
|
153
|
+
// Update progress
|
|
154
|
+
progress = {
|
|
155
|
+
...progress,
|
|
156
|
+
progress: total > 0 ? Math.min(100, Math.round((synced / total) * 100)) : 0,
|
|
157
|
+
total,
|
|
158
|
+
synced,
|
|
159
|
+
};
|
|
160
|
+
this.progress.set(sourceId, progress);
|
|
161
|
+
retries = 0;
|
|
162
|
+
}
|
|
163
|
+
catch (error) {
|
|
164
|
+
retries++;
|
|
165
|
+
if (retries >= this.config.maxRetries) {
|
|
166
|
+
throw error;
|
|
167
|
+
}
|
|
168
|
+
// Wait before retry
|
|
169
|
+
await new Promise(resolve => setTimeout(resolve, 1000 * retries));
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
// Sync completed
|
|
173
|
+
const completedAt = Date.now();
|
|
174
|
+
progress = {
|
|
175
|
+
sourceId,
|
|
176
|
+
status: 'completed',
|
|
177
|
+
progress: 100,
|
|
178
|
+
total,
|
|
179
|
+
synced,
|
|
180
|
+
startedAt,
|
|
181
|
+
completedAt,
|
|
182
|
+
};
|
|
183
|
+
this.progress.set(sourceId, progress);
|
|
184
|
+
this.store.updateSyncState(sourceId, {
|
|
185
|
+
chain_prefix: source.chainPrefix,
|
|
186
|
+
last_cursor: cursor,
|
|
187
|
+
last_timestamp: completedAt,
|
|
188
|
+
total_agents: total,
|
|
189
|
+
status: 'idle',
|
|
190
|
+
error_message: null,
|
|
191
|
+
});
|
|
192
|
+
return progress;
|
|
193
|
+
}
|
|
194
|
+
catch (error) {
|
|
195
|
+
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
196
|
+
progress = {
|
|
197
|
+
sourceId,
|
|
198
|
+
status: 'error',
|
|
199
|
+
progress: progress.progress,
|
|
200
|
+
error: errorMessage,
|
|
201
|
+
startedAt,
|
|
202
|
+
};
|
|
203
|
+
this.progress.set(sourceId, progress);
|
|
204
|
+
this.store.updateSyncState(sourceId, {
|
|
205
|
+
chain_prefix: source.chainPrefix,
|
|
206
|
+
status: 'error',
|
|
207
|
+
error_message: errorMessage,
|
|
208
|
+
});
|
|
209
|
+
return progress;
|
|
210
|
+
}
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
//# sourceMappingURL=sync-manager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sync-manager.js","sourceRoot":"","sources":["../../../src/core/cache/sync-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/errors/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/errors/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
export declare enum McpErrorCode {
|
|
2
|
+
UNKNOWN = 1000,
|
|
3
|
+
INTERNAL = 1001,
|
|
4
|
+
INVALID_PARAMS = 1002,
|
|
5
|
+
NOT_FOUND = 1003,
|
|
6
|
+
TIMEOUT = 1004,
|
|
7
|
+
CHAIN_NOT_INITIALIZED = 2000,
|
|
8
|
+
CHAIN_NOT_FOUND = 2001,
|
|
9
|
+
CHAIN_NOT_READY = 2002,
|
|
10
|
+
CHAIN_WRITE_DISABLED = 2003,
|
|
11
|
+
CHAIN_CONNECTION_FAILED = 2004,
|
|
12
|
+
AGENT_NOT_FOUND = 3000,
|
|
13
|
+
AGENT_INVALID_ID = 3001,
|
|
14
|
+
AGENT_PARSE_ERROR = 3002,
|
|
15
|
+
FEEDBACK_NOT_FOUND = 4000,
|
|
16
|
+
FEEDBACK_INVALID_SCORE = 4001,
|
|
17
|
+
FEEDBACK_SUBMIT_FAILED = 4002,
|
|
18
|
+
CACHE_INIT_FAILED = 5000,
|
|
19
|
+
CACHE_QUERY_FAILED = 5001,
|
|
20
|
+
CACHE_SYNC_FAILED = 5002,
|
|
21
|
+
INDEXER_NOT_AVAILABLE = 6000,
|
|
22
|
+
INDEXER_QUERY_FAILED = 6001,
|
|
23
|
+
CONFIG_INVALID = 7000,
|
|
24
|
+
CONFIG_MISSING_REQUIRED = 7001
|
|
25
|
+
}
|
|
26
|
+
export declare class McpError extends Error {
|
|
27
|
+
readonly code: McpErrorCode;
|
|
28
|
+
readonly details?: Record<string, unknown>;
|
|
29
|
+
constructor(code: McpErrorCode, message: string, details?: Record<string, unknown>);
|
|
30
|
+
toJSON(): Record<string, unknown>;
|
|
31
|
+
static isNotFound(error: unknown): boolean;
|
|
32
|
+
}
|
|
33
|
+
export declare function notFoundError(resource: string, id: string): McpError;
|
|
34
|
+
export declare function invalidParamsError(message: string, params?: Record<string, unknown>): McpError;
|
|
35
|
+
export declare function chainNotReadyError(chainId: string): McpError;
|
|
36
|
+
export declare function chainNotFoundError(chainId: string): McpError;
|
|
37
|
+
export declare function agentNotFoundError(agentId: string): McpError;
|
|
38
|
+
export declare function indexerNotAvailableError(chainId: string): McpError;
|
|
39
|
+
//# sourceMappingURL=mcp-error.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mcp-error.d.ts","sourceRoot":"","sources":["../../../src/core/errors/mcp-error.ts"],"names":[],"mappings":"AAEA,oBAAY,YAAY;IAEtB,OAAO,OAAO;IACd,QAAQ,OAAO;IACf,cAAc,OAAO;IACrB,SAAS,OAAO;IAChB,OAAO,OAAO;IAGd,qBAAqB,OAAO;IAC5B,eAAe,OAAO;IACtB,eAAe,OAAO;IACtB,oBAAoB,OAAO;IAC3B,uBAAuB,OAAO;IAG9B,eAAe,OAAO;IACtB,gBAAgB,OAAO;IACvB,iBAAiB,OAAO;IAGxB,kBAAkB,OAAO;IACzB,sBAAsB,OAAO;IAC7B,sBAAsB,OAAO;IAG7B,iBAAiB,OAAO;IACxB,kBAAkB,OAAO;IACzB,iBAAiB,OAAO;IAGxB,qBAAqB,OAAO;IAC5B,oBAAoB,OAAO;IAG3B,cAAc,OAAO;IACrB,uBAAuB,OAAO;CAC/B;AAED,qBAAa,QAAS,SAAQ,KAAK;IACjC,SAAgB,IAAI,EAAE,YAAY,CAAC;IACnC,SAAgB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;gBAEtC,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAQlF,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IASjC,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO;CAQ3C;AAGD,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,QAAQ,CAMpE;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,QAAQ,CAM9F;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,QAAQ,CAM5D;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,QAAQ,CAM5D;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,QAAQ,CAM5D;AAED,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,MAAM,GAAG,QAAQ,CAMlE"}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
// MCP error hierarchy
|
|
2
|
+
export var McpErrorCode;
|
|
3
|
+
(function (McpErrorCode) {
|
|
4
|
+
// General errors (1xxx)
|
|
5
|
+
McpErrorCode[McpErrorCode["UNKNOWN"] = 1000] = "UNKNOWN";
|
|
6
|
+
McpErrorCode[McpErrorCode["INTERNAL"] = 1001] = "INTERNAL";
|
|
7
|
+
McpErrorCode[McpErrorCode["INVALID_PARAMS"] = 1002] = "INVALID_PARAMS";
|
|
8
|
+
McpErrorCode[McpErrorCode["NOT_FOUND"] = 1003] = "NOT_FOUND";
|
|
9
|
+
McpErrorCode[McpErrorCode["TIMEOUT"] = 1004] = "TIMEOUT";
|
|
10
|
+
// Chain errors (2xxx)
|
|
11
|
+
McpErrorCode[McpErrorCode["CHAIN_NOT_INITIALIZED"] = 2000] = "CHAIN_NOT_INITIALIZED";
|
|
12
|
+
McpErrorCode[McpErrorCode["CHAIN_NOT_FOUND"] = 2001] = "CHAIN_NOT_FOUND";
|
|
13
|
+
McpErrorCode[McpErrorCode["CHAIN_NOT_READY"] = 2002] = "CHAIN_NOT_READY";
|
|
14
|
+
McpErrorCode[McpErrorCode["CHAIN_WRITE_DISABLED"] = 2003] = "CHAIN_WRITE_DISABLED";
|
|
15
|
+
McpErrorCode[McpErrorCode["CHAIN_CONNECTION_FAILED"] = 2004] = "CHAIN_CONNECTION_FAILED";
|
|
16
|
+
// Agent errors (3xxx)
|
|
17
|
+
McpErrorCode[McpErrorCode["AGENT_NOT_FOUND"] = 3000] = "AGENT_NOT_FOUND";
|
|
18
|
+
McpErrorCode[McpErrorCode["AGENT_INVALID_ID"] = 3001] = "AGENT_INVALID_ID";
|
|
19
|
+
McpErrorCode[McpErrorCode["AGENT_PARSE_ERROR"] = 3002] = "AGENT_PARSE_ERROR";
|
|
20
|
+
// Feedback errors (4xxx)
|
|
21
|
+
McpErrorCode[McpErrorCode["FEEDBACK_NOT_FOUND"] = 4000] = "FEEDBACK_NOT_FOUND";
|
|
22
|
+
McpErrorCode[McpErrorCode["FEEDBACK_INVALID_SCORE"] = 4001] = "FEEDBACK_INVALID_SCORE";
|
|
23
|
+
McpErrorCode[McpErrorCode["FEEDBACK_SUBMIT_FAILED"] = 4002] = "FEEDBACK_SUBMIT_FAILED";
|
|
24
|
+
// Cache errors (5xxx)
|
|
25
|
+
McpErrorCode[McpErrorCode["CACHE_INIT_FAILED"] = 5000] = "CACHE_INIT_FAILED";
|
|
26
|
+
McpErrorCode[McpErrorCode["CACHE_QUERY_FAILED"] = 5001] = "CACHE_QUERY_FAILED";
|
|
27
|
+
McpErrorCode[McpErrorCode["CACHE_SYNC_FAILED"] = 5002] = "CACHE_SYNC_FAILED";
|
|
28
|
+
// Indexer errors (6xxx)
|
|
29
|
+
McpErrorCode[McpErrorCode["INDEXER_NOT_AVAILABLE"] = 6000] = "INDEXER_NOT_AVAILABLE";
|
|
30
|
+
McpErrorCode[McpErrorCode["INDEXER_QUERY_FAILED"] = 6001] = "INDEXER_QUERY_FAILED";
|
|
31
|
+
// Config errors (7xxx)
|
|
32
|
+
McpErrorCode[McpErrorCode["CONFIG_INVALID"] = 7000] = "CONFIG_INVALID";
|
|
33
|
+
McpErrorCode[McpErrorCode["CONFIG_MISSING_REQUIRED"] = 7001] = "CONFIG_MISSING_REQUIRED";
|
|
34
|
+
})(McpErrorCode || (McpErrorCode = {}));
|
|
35
|
+
export class McpError extends Error {
|
|
36
|
+
code;
|
|
37
|
+
details;
|
|
38
|
+
constructor(code, message, details) {
|
|
39
|
+
super(message);
|
|
40
|
+
this.name = 'McpError';
|
|
41
|
+
this.code = code;
|
|
42
|
+
this.details = details;
|
|
43
|
+
Object.setPrototypeOf(this, McpError.prototype);
|
|
44
|
+
}
|
|
45
|
+
toJSON() {
|
|
46
|
+
return {
|
|
47
|
+
name: this.name,
|
|
48
|
+
code: this.code,
|
|
49
|
+
message: this.message,
|
|
50
|
+
details: this.details,
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
static isNotFound(error) {
|
|
54
|
+
return error instanceof McpError && (error.code === McpErrorCode.NOT_FOUND ||
|
|
55
|
+
error.code === McpErrorCode.AGENT_NOT_FOUND ||
|
|
56
|
+
error.code === McpErrorCode.FEEDBACK_NOT_FOUND ||
|
|
57
|
+
error.code === McpErrorCode.CHAIN_NOT_FOUND);
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
// Convenience error factories
|
|
61
|
+
export function notFoundError(resource, id) {
|
|
62
|
+
return new McpError(McpErrorCode.NOT_FOUND, `${resource} not found: ${id}`, { resource, id });
|
|
63
|
+
}
|
|
64
|
+
export function invalidParamsError(message, params) {
|
|
65
|
+
return new McpError(McpErrorCode.INVALID_PARAMS, message, params);
|
|
66
|
+
}
|
|
67
|
+
export function chainNotReadyError(chainId) {
|
|
68
|
+
return new McpError(McpErrorCode.CHAIN_NOT_READY, `Chain not ready: ${chainId}`, { chainId });
|
|
69
|
+
}
|
|
70
|
+
export function chainNotFoundError(chainId) {
|
|
71
|
+
return new McpError(McpErrorCode.CHAIN_NOT_FOUND, `Chain not found: ${chainId}`, { chainId });
|
|
72
|
+
}
|
|
73
|
+
export function agentNotFoundError(agentId) {
|
|
74
|
+
return new McpError(McpErrorCode.AGENT_NOT_FOUND, `Agent not found: ${agentId}`, { agentId });
|
|
75
|
+
}
|
|
76
|
+
export function indexerNotAvailableError(chainId) {
|
|
77
|
+
return new McpError(McpErrorCode.INDEXER_NOT_AVAILABLE, `Indexer not available for chain: ${chainId}`, { chainId });
|
|
78
|
+
}
|
|
79
|
+
//# sourceMappingURL=mcp-error.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mcp-error.js","sourceRoot":"","sources":["../../../src/core/errors/mcp-error.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
export type ChainType = 'solana' | 'evm';
|
|
2
|
+
export type ChainPrefix = 'sol' | 'eth' | 'base' | 'arb' | 'poly' | 'op';
|
|
3
|
+
export interface IGlobalId {
|
|
4
|
+
prefix: ChainPrefix;
|
|
5
|
+
chainType: ChainType;
|
|
6
|
+
chainId?: string;
|
|
7
|
+
rawId: string;
|
|
8
|
+
}
|
|
9
|
+
export interface IAgentEndpoint {
|
|
10
|
+
protocol: string;
|
|
11
|
+
url: string;
|
|
12
|
+
metadata?: Record<string, unknown>;
|
|
13
|
+
}
|
|
14
|
+
export interface IAgentMetadata {
|
|
15
|
+
skills?: string[];
|
|
16
|
+
tags?: string[];
|
|
17
|
+
version?: string;
|
|
18
|
+
[key: string]: unknown;
|
|
19
|
+
}
|
|
20
|
+
export interface IAgent {
|
|
21
|
+
id: string;
|
|
22
|
+
globalId: string;
|
|
23
|
+
chainType: ChainType;
|
|
24
|
+
chainPrefix: ChainPrefix;
|
|
25
|
+
chainId?: string;
|
|
26
|
+
name: string;
|
|
27
|
+
description?: string;
|
|
28
|
+
image?: string;
|
|
29
|
+
owner: string;
|
|
30
|
+
collection?: string;
|
|
31
|
+
metadata?: IAgentMetadata;
|
|
32
|
+
endpoints?: IAgentEndpoint[];
|
|
33
|
+
trustTier?: number;
|
|
34
|
+
qualityScore?: number;
|
|
35
|
+
totalFeedbacks?: number;
|
|
36
|
+
averageScore?: number;
|
|
37
|
+
createdAt: number;
|
|
38
|
+
updatedAt: number;
|
|
39
|
+
}
|
|
40
|
+
export interface IAgentSummary {
|
|
41
|
+
id: string;
|
|
42
|
+
globalId: string;
|
|
43
|
+
chainType: ChainType;
|
|
44
|
+
chainPrefix: ChainPrefix;
|
|
45
|
+
name: string;
|
|
46
|
+
description?: string;
|
|
47
|
+
image?: string;
|
|
48
|
+
owner: string;
|
|
49
|
+
collection?: string;
|
|
50
|
+
trustTier?: number;
|
|
51
|
+
qualityScore?: number;
|
|
52
|
+
totalFeedbacks?: number;
|
|
53
|
+
}
|
|
54
|
+
export type SearchMode = 'name' | 'description' | 'endpoint' | 'all';
|
|
55
|
+
export interface ISearchParams {
|
|
56
|
+
query?: string;
|
|
57
|
+
nameQuery?: string;
|
|
58
|
+
descriptionQuery?: string;
|
|
59
|
+
endpointQuery?: string;
|
|
60
|
+
searchMode?: SearchMode;
|
|
61
|
+
owner?: string;
|
|
62
|
+
collection?: string;
|
|
63
|
+
chainType?: ChainType;
|
|
64
|
+
chainPrefix?: ChainPrefix;
|
|
65
|
+
minQualityScore?: number;
|
|
66
|
+
minTrustTier?: number;
|
|
67
|
+
limit?: number;
|
|
68
|
+
offset?: number;
|
|
69
|
+
orderBy?: 'name' | 'qualityScore' | 'totalFeedbacks' | 'createdAt' | 'updatedAt';
|
|
70
|
+
orderDir?: 'asc' | 'desc';
|
|
71
|
+
}
|
|
72
|
+
export interface ISearchResult {
|
|
73
|
+
results: IAgentSummary[];
|
|
74
|
+
total: number;
|
|
75
|
+
hasMore: boolean;
|
|
76
|
+
offset: number;
|
|
77
|
+
limit: number;
|
|
78
|
+
}
|
|
79
|
+
export declare function toGlobalId(chainPrefix: ChainPrefix, rawId: string, chainId?: string): string;
|
|
80
|
+
export declare function parseGlobalId(id: string): IGlobalId;
|
|
81
|
+
export declare function isValidGlobalId(id: string): boolean;
|
|
82
|
+
export declare function getChainTypeFromPrefix(prefix: ChainPrefix): ChainType;
|
|
83
|
+
export declare const CHAIN_PREFIX_PRIORITY: Record<ChainPrefix, number>;
|
|
84
|
+
//# sourceMappingURL=agent.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../../src/core/interfaces/agent.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
// Agent interfaces for multi-chain support
|
|
2
|
+
// Global ID utilities
|
|
3
|
+
export function toGlobalId(chainPrefix, rawId, chainId) {
|
|
4
|
+
if (chainId) {
|
|
5
|
+
return `${chainPrefix}:${chainId}:${rawId}`;
|
|
6
|
+
}
|
|
7
|
+
return `${chainPrefix}:${rawId}`;
|
|
8
|
+
}
|
|
9
|
+
export function parseGlobalId(id) {
|
|
10
|
+
const parts = id.split(':');
|
|
11
|
+
const prefix = parts[0];
|
|
12
|
+
const chainType = prefix === 'sol' ? 'solana' : 'evm';
|
|
13
|
+
if (chainType === 'solana') {
|
|
14
|
+
return { prefix, chainType, rawId: parts[1] ?? '' };
|
|
15
|
+
}
|
|
16
|
+
else {
|
|
17
|
+
return {
|
|
18
|
+
prefix,
|
|
19
|
+
chainType,
|
|
20
|
+
chainId: parts[1],
|
|
21
|
+
rawId: parts[2] ?? ''
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
export function isValidGlobalId(id) {
|
|
26
|
+
const parsed = parseGlobalId(id);
|
|
27
|
+
return !!parsed.prefix && !!parsed.rawId;
|
|
28
|
+
}
|
|
29
|
+
export function getChainTypeFromPrefix(prefix) {
|
|
30
|
+
return prefix === 'sol' ? 'solana' : 'evm';
|
|
31
|
+
}
|
|
32
|
+
export const CHAIN_PREFIX_PRIORITY = {
|
|
33
|
+
sol: 1,
|
|
34
|
+
base: 2,
|
|
35
|
+
eth: 3,
|
|
36
|
+
arb: 4,
|
|
37
|
+
poly: 5,
|
|
38
|
+
op: 6,
|
|
39
|
+
};
|
|
40
|
+
//# sourceMappingURL=agent.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent.js","sourceRoot":"","sources":["../../../src/core/interfaces/agent.ts"],"names":[],"mappings":"AAAA,2CAA2C;AA4F3C,sBAAsB;AACtB,MAAM,UAAU,UAAU,CAAC,WAAwB,EAAE,KAAa,EAAE,OAAgB;IAClF,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,GAAG,WAAW,IAAI,OAAO,IAAI,KAAK,EAAE,CAAC;IAC9C,CAAC;IACD,OAAO,GAAG,WAAW,IAAI,KAAK,EAAE,CAAC;AACnC,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,EAAU;IACtC,MAAM,KAAK,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC5B,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,CAAgB,CAAC;IACvC,MAAM,SAAS,GAAc,MAAM,KAAK,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC;IAEjE,IAAI,SAAS,KAAK,QAAQ,EAAE,CAAC;QAC3B,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;IACtD,CAAC;SAAM,CAAC;QACN,OAAO;YACL,MAAM;YACN,SAAS;YACT,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;YACjB,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE;SACtB,CAAC;IACJ,CAAC;AACH,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,EAAU;IACxC,MAAM,MAAM,GAAG,aAAa,CAAC,EAAE,CAAC,CAAC;IACjC,OAAO,CAAC,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;AAC3C,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,MAAmB;IACxD,OAAO,MAAM,KAAK,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC;AAC7C,CAAC;AAED,MAAM,CAAC,MAAM,qBAAqB,GAAgC;IAChE,GAAG,EAAE,CAAC;IACN,IAAI,EAAE,CAAC;IACP,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,IAAI,EAAE,CAAC;IACP,EAAE,EAAE,CAAC;CACN,CAAC"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import type { ChainType, ChainPrefix, IAgent, ISearchParams, ISearchResult } from './agent.js';
|
|
2
|
+
import type { IFeedback, IFeedbackInput, IFeedbackQuery, IFeedbackResult } from './feedback.js';
|
|
3
|
+
import type { IReputationSummary, ILeaderboardOptions, ILeaderboardResult } from './reputation.js';
|
|
4
|
+
export interface IChainConfig {
|
|
5
|
+
chainType: ChainType;
|
|
6
|
+
chainPrefix: ChainPrefix;
|
|
7
|
+
chainId?: string;
|
|
8
|
+
displayName: string;
|
|
9
|
+
rpcUrl: string;
|
|
10
|
+
indexerUrl?: string;
|
|
11
|
+
isDefault?: boolean;
|
|
12
|
+
priority?: number;
|
|
13
|
+
}
|
|
14
|
+
export interface IWriteOptions {
|
|
15
|
+
skipSend?: boolean;
|
|
16
|
+
}
|
|
17
|
+
export interface IUnsignedTransactionResult {
|
|
18
|
+
unsigned: true;
|
|
19
|
+
transaction: string;
|
|
20
|
+
message: string;
|
|
21
|
+
}
|
|
22
|
+
export interface ISignedTransactionResult {
|
|
23
|
+
unsigned: false;
|
|
24
|
+
signature: string;
|
|
25
|
+
}
|
|
26
|
+
export type ITransactionResult = IUnsignedTransactionResult | ISignedTransactionResult;
|
|
27
|
+
export interface IChainProvider {
|
|
28
|
+
readonly chainType: ChainType;
|
|
29
|
+
readonly chainPrefix: ChainPrefix;
|
|
30
|
+
readonly chainId: string;
|
|
31
|
+
readonly displayName: string;
|
|
32
|
+
initialize(): Promise<void>;
|
|
33
|
+
isReady(): boolean;
|
|
34
|
+
canWrite(): boolean;
|
|
35
|
+
getConfig(): IChainConfig;
|
|
36
|
+
getAgent(agentId: string): Promise<IAgent | null>;
|
|
37
|
+
agentExists(agentId: string): Promise<boolean>;
|
|
38
|
+
searchAgents(params: ISearchParams): Promise<ISearchResult>;
|
|
39
|
+
getFeedback(agentId: string, client: string, index: bigint): Promise<IFeedback | null>;
|
|
40
|
+
listFeedbacks(query: IFeedbackQuery): Promise<IFeedbackResult>;
|
|
41
|
+
getReputationSummary(agentId: string): Promise<IReputationSummary | null>;
|
|
42
|
+
isIndexerAvailable?(): Promise<boolean>;
|
|
43
|
+
getLeaderboard?(options?: ILeaderboardOptions): Promise<ILeaderboardResult>;
|
|
44
|
+
giveFeedback?(input: IFeedbackInput, options?: IWriteOptions): Promise<ITransactionResult>;
|
|
45
|
+
}
|
|
46
|
+
export interface IWritableChainProvider extends IChainProvider {
|
|
47
|
+
giveFeedback(input: IFeedbackInput, options?: IWriteOptions): Promise<ITransactionResult>;
|
|
48
|
+
}
|
|
49
|
+
export declare function isWritableProvider(provider: IChainProvider): provider is IWritableChainProvider;
|
|
50
|
+
//# sourceMappingURL=chain-provider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chain-provider.d.ts","sourceRoot":"","sources":["../../../src/core/interfaces/chain-provider.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC/F,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChG,OAAO,KAAK,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAEnG,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,SAAS,CAAC;IACrB,WAAW,EAAE,WAAW,CAAC;IACzB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAGD,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAGD,MAAM,WAAW,0BAA0B;IACzC,QAAQ,EAAE,IAAI,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;CACjB;AAGD,MAAM,WAAW,wBAAwB;IACvC,QAAQ,EAAE,KAAK,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,MAAM,kBAAkB,GAAG,0BAA0B,GAAG,wBAAwB,CAAC;AAEvF,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;IAC9B,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAClC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAG7B,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5B,OAAO,IAAI,OAAO,CAAC;IACnB,QAAQ,IAAI,OAAO,CAAC;IACpB,SAAS,IAAI,YAAY,CAAC;IAG1B,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAClD,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC/C,YAAY,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IAG5D,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,CAAC;IACvF,aAAa,CAAC,KAAK,EAAE,cAAc,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;IAG/D,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC,CAAC;IAG1E,kBAAkB,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IACxC,cAAc,CAAC,CAAC,OAAO,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAI5E,YAAY,CAAC,CAAC,KAAK,EAAE,cAAc,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;CAC5F;AAED,MAAM,WAAW,sBAAuB,SAAQ,cAAc;IAC5D,YAAY,CAAC,KAAK,EAAE,cAAc,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;CAC3F;AAED,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,cAAc,GAAG,QAAQ,IAAI,sBAAsB,CAE/F"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chain-provider.js","sourceRoot":"","sources":["../../../src/core/interfaces/chain-provider.ts"],"names":[],"mappings":"AAAA,mDAAmD;AA0EnD,MAAM,UAAU,kBAAkB,CAAC,QAAwB;IACzD,OAAO,QAAQ,CAAC,QAAQ,EAAE,IAAI,OAAO,QAAQ,CAAC,YAAY,KAAK,UAAU,CAAC;AAC5E,CAAC"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
export interface IFeedback {
|
|
2
|
+
agentId: string;
|
|
3
|
+
client: string;
|
|
4
|
+
index: bigint;
|
|
5
|
+
/** Raw value (may not be available when reading from chain) */
|
|
6
|
+
value?: bigint;
|
|
7
|
+
/** Value decimals (may not be available when reading from chain) */
|
|
8
|
+
valueDecimals?: number;
|
|
9
|
+
/** Calculated score (0-100) */
|
|
10
|
+
score: number | null;
|
|
11
|
+
tag1?: string;
|
|
12
|
+
tag2?: string;
|
|
13
|
+
endpoint?: string;
|
|
14
|
+
comment?: string;
|
|
15
|
+
timestamp: number;
|
|
16
|
+
chainType: 'solana' | 'evm';
|
|
17
|
+
}
|
|
18
|
+
export interface IFeedbackInput {
|
|
19
|
+
agentId: string;
|
|
20
|
+
value: bigint | number;
|
|
21
|
+
valueDecimals?: number;
|
|
22
|
+
score?: number;
|
|
23
|
+
comment?: string;
|
|
24
|
+
tag1?: string;
|
|
25
|
+
tag2?: string;
|
|
26
|
+
endpoint?: string;
|
|
27
|
+
feedbackUri?: string;
|
|
28
|
+
feedbackHash?: Buffer;
|
|
29
|
+
}
|
|
30
|
+
export interface IFeedbackQuery {
|
|
31
|
+
agentId: string;
|
|
32
|
+
client?: string;
|
|
33
|
+
minScore?: number;
|
|
34
|
+
maxScore?: number;
|
|
35
|
+
includeRevoked?: boolean;
|
|
36
|
+
limit?: number;
|
|
37
|
+
offset?: number;
|
|
38
|
+
orderBy?: 'timestamp' | 'score';
|
|
39
|
+
orderDir?: 'asc' | 'desc';
|
|
40
|
+
}
|
|
41
|
+
export interface IFeedbackResult {
|
|
42
|
+
feedbacks: IFeedback[];
|
|
43
|
+
total: number;
|
|
44
|
+
hasMore: boolean;
|
|
45
|
+
}
|
|
46
|
+
//# sourceMappingURL=feedback.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"feedback.d.ts","sourceRoot":"","sources":["../../../src/core/interfaces/feedback.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,+DAA+D;IAC/D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,oEAAoE;IACpE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,+BAA+B;IAC/B,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,QAAQ,GAAG,KAAK,CAAC;CAC7B;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC;IAChC,QAAQ,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,SAAS,EAAE,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,OAAO,CAAC;CAClB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"feedback.js","sourceRoot":"","sources":["../../../src/core/interfaces/feedback.ts"],"names":[],"mappings":"AAAA,8CAA8C"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/interfaces/index.ts"],"names":[],"mappings":"AAEA,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC;AACpC,cAAc,WAAW,CAAC"}
|