awal 2.0.3 → 2.2.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.
@@ -3,21 +3,30 @@ import * as path from 'path';
3
3
  import * as os from 'os';
4
4
  import { Document } from '@langchain/core/documents';
5
5
  import { BM25Retriever } from '@langchain/community/retrievers/bm25';
6
- const CDP_API_BASE = 'https://api.cdp.coinbase.com/platform/v2/x402/discovery/resources';
7
- const PAGE_LIMIT = 100;
6
+ const DEFAULT_PAGE_SIZE = 100;
8
7
  const STALE_HOURS = 12;
8
+ const CDP_FACILITATOR = {
9
+ url: 'https://api.cdp.coinbase.com/platform/v2/x402/discovery/resources',
10
+ pageSize: 1000,
11
+ };
12
+ const OPENX402_FACILITATOR = {
13
+ url: 'https://facilitator.openx402.ai/discovery/resources',
14
+ pageSize: DEFAULT_PAGE_SIZE,
15
+ };
16
+ const FACILITATORS = [CDP_FACILITATOR, OPENX402_FACILITATOR];
9
17
  function getCacheDir() {
10
18
  return path.join(os.homedir(), '.config', 'awal', 'bazaar');
11
19
  }
12
20
  function getCachePath() {
13
21
  return path.join(getCacheDir(), 'resources.json');
14
22
  }
15
- export async function fetchAllResources() {
23
+ async function fetchFromFacilitator(facilitator) {
16
24
  const all = [];
17
25
  let offset = 0;
26
+ const pageSize = facilitator.pageSize || DEFAULT_PAGE_SIZE;
18
27
  let hasMore = true;
19
28
  while (hasMore) {
20
- const url = `${CDP_API_BASE}?limit=${PAGE_LIMIT}&offset=${offset}`;
29
+ const url = `${facilitator.url}?limit=${pageSize}&offset=${offset}`;
21
30
  const response = await fetch(url, {
22
31
  headers: { Accept: 'application/json' },
23
32
  });
@@ -25,19 +34,26 @@ export async function fetchAllResources() {
25
34
  if (response.status === 429 && all.length > 0) {
26
35
  break;
27
36
  }
28
- throw new Error(`CDP API returned ${response.status}: ${response.statusText}`);
37
+ throw new Error(`Facilitator ${facilitator.url} returned ${response.status}: ${response.statusText}`);
29
38
  }
30
39
  const body = (await response.json());
40
+ for (const item of body.items) {
41
+ item.facilitator = facilitator.url;
42
+ }
31
43
  all.push(...body.items);
32
44
  if (all.length >= body.pagination.total) {
33
45
  hasMore = false;
34
46
  }
35
47
  else {
36
- offset += PAGE_LIMIT;
48
+ offset += pageSize;
37
49
  }
38
50
  }
39
51
  return all;
40
52
  }
53
+ export async function fetchAllResources() {
54
+ const results = await Promise.all(FACILITATORS.map(fetchFromFacilitator));
55
+ return results.flat();
56
+ }
41
57
  export function loadCache() {
42
58
  const cachePath = getCachePath();
43
59
  if (!existsSync(cachePath)) {
@@ -106,13 +122,125 @@ function buildDocContent(r) {
106
122
  }
107
123
  return parts.join(' ');
108
124
  }
125
+ const GENERIC_DESCRIPTIONS = [
126
+ 'premium api access',
127
+ 'api access',
128
+ 'premium access',
129
+ 'access api',
130
+ 'api endpoint',
131
+ 'premium endpoint',
132
+ 'get data',
133
+ 'fetch data',
134
+ 'data api',
135
+ 'api service',
136
+ 'web service',
137
+ 'web api',
138
+ 'rest api',
139
+ 'http api',
140
+ ];
141
+ export function isGenericDescription(desc) {
142
+ if (!desc)
143
+ return true;
144
+ const trimmed = desc.trim();
145
+ if (trimmed.length < 15)
146
+ return true;
147
+ const lower = trimmed.toLowerCase();
148
+ return GENERIC_DESCRIPTIONS.some((g) => lower === g);
149
+ }
150
+ export function getDomainCounts(resources) {
151
+ const counts = new Map();
152
+ for (const r of resources) {
153
+ try {
154
+ const domain = new URL(r.resource).hostname;
155
+ counts.set(domain, (counts.get(domain) ?? 0) + 1);
156
+ }
157
+ catch {
158
+ // skip malformed URLs
159
+ }
160
+ }
161
+ return counts;
162
+ }
163
+ export function scoreResourceQuality(resource, domainCounts) {
164
+ let score = 0;
165
+ // Output schema quality (weight: 0.30)
166
+ const output = resource.metadata?.output;
167
+ if (output && typeof output === 'object') {
168
+ const outputObj = output;
169
+ if (outputObj.output && typeof outputObj.output === 'object') {
170
+ const inner = outputObj.output;
171
+ if (inner.properties && typeof inner.properties === 'object') {
172
+ score += 0.3;
173
+ }
174
+ }
175
+ }
176
+ // Description quality (weight: 0.30)
177
+ const desc = resource.metadata?.description;
178
+ if (desc && !isGenericDescription(desc) && desc.length > 50) {
179
+ score += 0.3;
180
+ }
181
+ else if (desc && !isGenericDescription(desc)) {
182
+ // Partial credit for non-generic but short descriptions
183
+ score += 0.15;
184
+ }
185
+ // Domain concentration (weight: 0.20) — fewer resources = higher quality
186
+ try {
187
+ const domain = new URL(resource.resource).hostname;
188
+ const count = domainCounts.get(domain) ?? 0;
189
+ if (count < 100) {
190
+ score += 0.2;
191
+ }
192
+ else if (count < 1000) {
193
+ // Linear scale between 100 and 1000
194
+ score += 0.2 * (1 - (count - 100) / 900);
195
+ }
196
+ // 1000+ gets 0
197
+ }
198
+ catch {
199
+ // malformed URL gets 0
200
+ }
201
+ // HTTPS (weight: 0.10)
202
+ if (resource.resource.startsWith('https://')) {
203
+ score += 0.1;
204
+ }
205
+ // Timeout (weight: 0.10)
206
+ const accepts = resource.accepts;
207
+ if (accepts && accepts.length > 0) {
208
+ // Check for maxTimeoutSeconds in accepts metadata
209
+ const firstAccept = accepts[0];
210
+ const timeout = firstAccept.maxTimeoutSeconds;
211
+ if (timeout === undefined || timeout <= 30) {
212
+ score += 0.1;
213
+ }
214
+ else if (timeout < 300) {
215
+ // Linear scale between 30 and 300
216
+ score += 0.1 * (1 - (timeout - 30) / 270);
217
+ }
218
+ // 300+ gets 0
219
+ }
220
+ else {
221
+ // No timeout info — give benefit of the doubt
222
+ score += 0.1;
223
+ }
224
+ return score;
225
+ }
109
226
  export async function searchResources(query, resources, k = 5) {
227
+ const candidateK = k * 5;
110
228
  const docs = resources.map((r) => new Document({
111
229
  pageContent: buildDocContent(r),
112
230
  metadata: { resource: r },
113
231
  }));
114
- const retriever = BM25Retriever.fromDocuments(docs, { k });
232
+ const retriever = BM25Retriever.fromDocuments(docs, { k: candidateK });
115
233
  const results = await retriever.invoke(query);
116
- return results.map((doc) => doc.metadata.resource);
234
+ const candidates = results.map((doc) => doc.metadata.resource);
235
+ const domainCounts = getDomainCounts(resources);
236
+ const scored = candidates.map((resource, index) => {
237
+ const qualityScore = scoreResourceQuality(resource, domainCounts);
238
+ // BM25 position score: 1.0 for first result, decreasing linearly
239
+ const bm25PositionScore = 1 - index / candidateK;
240
+ const combinedScore = 0.4 * qualityScore + 0.6 * bm25PositionScore;
241
+ return { resource, combinedScore };
242
+ });
243
+ scored.sort((a, b) => b.combinedScore - a.combinedScore);
244
+ return scored.slice(0, k).map((s) => s.resource);
117
245
  }
118
246
  //# sourceMappingURL=bazaarCache.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"bazaarCache.js","sourceRoot":"","sources":["../../src/utils/bazaarCache.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bazaarCache.js","sourceRoot":"","sources":["../../src/utils/bazaarCache.ts"],"names":[],"mappings":"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"}
@@ -6,7 +6,7 @@ import { fileURLToPath } from 'url';
6
6
  import { getPrimaryProcessPid } from './processCheck.js';
7
7
  const paths = envPaths('awal');
8
8
  // This will be updated by the build script
9
- const BUNDLE_VERSION = '2.0.3';
9
+ const BUNDLE_VERSION = '2.2.0';
10
10
  function getServerPaths() {
11
11
  const dataDir = paths.data;
12
12
  const bundleDir = path.join(dataDir, 'server');
package/package.json CHANGED
@@ -1,9 +1,11 @@
1
1
  {
2
2
  "name": "awal",
3
- "version": "2.0.3",
3
+ "version": "2.2.0",
4
4
  "type": "module",
5
5
  "description": "Coinbase Wallet CLI for payments and crypto",
6
- "bin": "dist/index.js",
6
+ "bin": {
7
+ "awal": "dist/index.js"
8
+ },
7
9
  "files": [
8
10
  "dist/",
9
11
  "server-bundle/"
@@ -17,10 +19,8 @@
17
19
  "format": "prettier --write src/**/*.ts"
18
20
  },
19
21
  "dependencies": {
20
- "@langchain/community": "^1.1.12",
21
- "@langchain/core": "^1.1.20",
22
- "@x402/core": "2.3.0",
23
- "@x402/extensions": "2.3.0",
22
+ "@x402/core": "^2.4.0",
23
+ "@x402/extensions": "^2.4.0",
24
24
  "chalk": "^5.3.0",
25
25
  "commander": "^12.0.0",
26
26
  "env-paths": "^3.0.0",