@fre4x/yahoo-finance 1.0.61 → 1.0.65-beta.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/dist/index.js +24 -17
- package/package.json +2 -2
package/dist/index.js
CHANGED
|
@@ -38358,9 +38358,11 @@ import * as crypto from "node:crypto";
|
|
|
38358
38358
|
var PersistentCache = class {
|
|
38359
38359
|
cacheDir;
|
|
38360
38360
|
memoryCache = /* @__PURE__ */ new Map();
|
|
38361
|
-
|
|
38362
|
-
|
|
38361
|
+
onDiskWriteError;
|
|
38362
|
+
constructor(namespace, options3 = {}) {
|
|
38363
|
+
const baseDir = options3.dir ?? process.env.FRE4X_CACHE_DIR ?? path.join(os.homedir(), ".fre4x-cache");
|
|
38363
38364
|
this.cacheDir = path.join(baseDir, namespace);
|
|
38365
|
+
this.onDiskWriteError = options3.onDiskWriteError;
|
|
38364
38366
|
}
|
|
38365
38367
|
async ensureDir() {
|
|
38366
38368
|
await fs.mkdir(this.cacheDir, { recursive: true });
|
|
@@ -38404,7 +38406,7 @@ var PersistentCache = class {
|
|
|
38404
38406
|
const fpath = this.getFilePath(key);
|
|
38405
38407
|
await fs.writeFile(fpath, JSON.stringify(entry), "utf8");
|
|
38406
38408
|
} catch (error48) {
|
|
38407
|
-
|
|
38409
|
+
this.onDiskWriteError?.(error48);
|
|
38408
38410
|
}
|
|
38409
38411
|
}
|
|
38410
38412
|
async wrap(key, ttlMs, fetchFn) {
|
|
@@ -38437,21 +38439,26 @@ function ensureNewestFirst(items, dateKey) {
|
|
|
38437
38439
|
if (items.length < 2)
|
|
38438
38440
|
return items;
|
|
38439
38441
|
const keys = Array.isArray(dateKey) ? dateKey : [dateKey];
|
|
38440
|
-
return
|
|
38441
|
-
|
|
38442
|
-
|
|
38443
|
-
|
|
38444
|
-
|
|
38445
|
-
|
|
38442
|
+
return items.map((obj) => {
|
|
38443
|
+
let val;
|
|
38444
|
+
for (const key of keys) {
|
|
38445
|
+
const v = obj[key];
|
|
38446
|
+
if (v !== void 0 && v !== null) {
|
|
38447
|
+
val = v;
|
|
38448
|
+
break;
|
|
38446
38449
|
}
|
|
38447
|
-
|
|
38448
|
-
|
|
38449
|
-
|
|
38450
|
-
|
|
38451
|
-
|
|
38452
|
-
|
|
38453
|
-
|
|
38454
|
-
|
|
38450
|
+
}
|
|
38451
|
+
let t = 0;
|
|
38452
|
+
if (val instanceof Date) {
|
|
38453
|
+
t = val.getTime();
|
|
38454
|
+
} else if (typeof val === "number") {
|
|
38455
|
+
t = val;
|
|
38456
|
+
} else if (val) {
|
|
38457
|
+
t = new Date(String(val)).getTime();
|
|
38458
|
+
}
|
|
38459
|
+
t = Number.isNaN(t) ? 0 : t;
|
|
38460
|
+
return { obj, t };
|
|
38461
|
+
}).sort((a, b) => b.t - a.t).map((item) => item.obj);
|
|
38455
38462
|
}
|
|
38456
38463
|
|
|
38457
38464
|
// ../node_modules/yahoo-finance2/esm/_dnt.shims.js
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fre4x/yahoo-finance",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.65-beta.0",
|
|
4
4
|
"description": "A Yahoo Finance MCP server for LLMs.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
"dev": "tsx src/index.ts",
|
|
18
18
|
"watch": "tsc -w",
|
|
19
19
|
"inspector": "npm run build && node ../scripts/run-official-inspector.mjs node dist/index.js",
|
|
20
|
-
"test": "vitest run --passWithNoTests --exclude dist"
|
|
20
|
+
"test": "node ../scripts/run-vitest.mjs run --passWithNoTests --exclude dist"
|
|
21
21
|
},
|
|
22
22
|
"keywords": [
|
|
23
23
|
"mcp",
|