hearthstone-oracle 0.1.0 → 0.1.1
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 +1 -0
- package/dist/data/pipeline.d.ts +5 -0
- package/dist/data/pipeline.d.ts.map +1 -1
- package/dist/data/pipeline.js +31 -2
- package/dist/data/pipeline.js.map +1 -1
- package/dist/tools/decode-deck.d.ts.map +1 -1
- package/dist/tools/decode-deck.js +4 -2
- package/dist/tools/decode-deck.js.map +1 -1
- package/package.json +2 -1
package/README.md
CHANGED
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
<a href="https://modelcontextprotocol.io"><img src="https://img.shields.io/badge/MCP-compatible-purple.svg" alt="MCP Compatible"></a>
|
|
8
8
|
<a href="LICENSE"><img src="https://img.shields.io/badge/license-MIT-blue.svg" alt="MIT License"></a>
|
|
9
9
|
<a href="https://github.com/sponsors/gregario"><img src="https://img.shields.io/badge/sponsor-♥-ea4aaa.svg" alt="Sponsor"></a>
|
|
10
|
+
<a href="https://glama.ai/mcp/servers/gregario/hearthstone-oracle"><img src="https://glama.ai/mcp/servers/gregario/hearthstone-oracle/badges/score.svg" alt="hearthstone-oracle MCP server"></a>
|
|
10
11
|
</p>
|
|
11
12
|
|
|
12
13
|
# hearthstone-oracle
|
package/dist/data/pipeline.d.ts
CHANGED
|
@@ -7,6 +7,11 @@ export interface PipelineOptions {
|
|
|
7
7
|
dataDir?: string;
|
|
8
8
|
fetchFn?: typeof fetch;
|
|
9
9
|
}
|
|
10
|
+
/**
|
|
11
|
+
* Returns true if the cached snapshot is older than STALE_AFTER_MS.
|
|
12
|
+
* Exported for testing.
|
|
13
|
+
*/
|
|
14
|
+
export declare function isStale(lastUpdate: LastUpdate, now?: Date, staleAfterMs?: number): boolean;
|
|
10
15
|
/**
|
|
11
16
|
* Load last_update.json from the data directory.
|
|
12
17
|
* Returns an empty object if the file does not exist.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pipeline.d.ts","sourceRoot":"","sources":["../../src/data/pipeline.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAS3C,MAAM,WAAW,UAAU;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,KAAK,CAAC;CACxB;
|
|
1
|
+
{"version":3,"file":"pipeline.d.ts","sourceRoot":"","sources":["../../src/data/pipeline.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAS3C,MAAM,WAAW,UAAU;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,KAAK,CAAC;CACxB;AAgBD;;;GAGG;AACH,wBAAgB,OAAO,CACrB,UAAU,EAAE,UAAU,EACtB,GAAG,GAAE,IAAiB,EACtB,YAAY,GAAE,MAAuB,GACpC,OAAO,CAKT;AAID;;;GAGG;AACH,wBAAgB,cAAc,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,UAAU,CAU3D;AAED;;GAEG;AACH,wBAAgB,cAAc,CAC5B,UAAU,EAAE,UAAU,EACtB,OAAO,CAAC,EAAE,MAAM,GACf,IAAI,CASN;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,UAAU,EAAE,UAAU,GAAG,OAAO,CAE1D;AAID;;;;;;;;;;;GAWG;AACH,wBAAsB,WAAW,CAC/B,EAAE,EAAE,QAAQ,CAAC,QAAQ,EACrB,OAAO,CAAC,EAAE,eAAe,GACxB,OAAO,CAAC,MAAM,CAAC,CA+DjB"}
|
package/dist/data/pipeline.js
CHANGED
|
@@ -6,6 +6,26 @@ import { fetchCards, ingestCards } from './hearthstone.js';
|
|
|
6
6
|
// --- Constants ---
|
|
7
7
|
const DEFAULT_DATA_DIR = path.join(os.homedir(), '.hearthstone-oracle');
|
|
8
8
|
const LAST_UPDATE_FILENAME = 'last_update.json';
|
|
9
|
+
/**
|
|
10
|
+
* How long a snapshot stays "fresh" before the pipeline auto-refreshes it.
|
|
11
|
+
* HearthstoneJSON publishes new builds whenever Blizzard ships a card update
|
|
12
|
+
* (typically every few weeks during a release cycle). One week is a safe
|
|
13
|
+
* default — frequent enough to pick up new expansions, infrequent enough to
|
|
14
|
+
* avoid hammering the upstream CDN on every server start.
|
|
15
|
+
*/
|
|
16
|
+
const STALE_AFTER_MS = 7 * 24 * 60 * 60 * 1000; // 7 days
|
|
17
|
+
/**
|
|
18
|
+
* Returns true if the cached snapshot is older than STALE_AFTER_MS.
|
|
19
|
+
* Exported for testing.
|
|
20
|
+
*/
|
|
21
|
+
export function isStale(lastUpdate, now = new Date(), staleAfterMs = STALE_AFTER_MS) {
|
|
22
|
+
if (!lastUpdate.hearthstone)
|
|
23
|
+
return true;
|
|
24
|
+
const last = new Date(lastUpdate.hearthstone).getTime();
|
|
25
|
+
if (Number.isNaN(last))
|
|
26
|
+
return true;
|
|
27
|
+
return now.getTime() - last > staleAfterMs;
|
|
28
|
+
}
|
|
9
29
|
// --- Last update management ---
|
|
10
30
|
/**
|
|
11
31
|
* Load last_update.json from the data directory.
|
|
@@ -58,12 +78,21 @@ export async function runPipeline(db, options) {
|
|
|
58
78
|
const fetchFn = options?.fetchFn;
|
|
59
79
|
const lastUpdate = loadLastUpdate(dataDir);
|
|
60
80
|
const existingData = hasExistingData(db);
|
|
61
|
-
|
|
62
|
-
|
|
81
|
+
const stale = isStale(lastUpdate);
|
|
82
|
+
// If we have fresh data and not forced, skip fetch.
|
|
83
|
+
// Stale data triggers a refresh so newer expansions are picked up
|
|
84
|
+
// (avoids "Unknown Card" results in decode_deck for recent dbfIds).
|
|
85
|
+
if (existingData && !force && !isFirstRun(lastUpdate) && !stale) {
|
|
63
86
|
const row = db.prepare('SELECT COUNT(*) as cnt FROM cards').get();
|
|
64
87
|
console.error(`Skipping fetch — ${row.cnt} cards already loaded (last update: ${lastUpdate.hearthstone})`);
|
|
65
88
|
return row.cnt;
|
|
66
89
|
}
|
|
90
|
+
if (existingData && stale && !force) {
|
|
91
|
+
const ageDescription = lastUpdate.hearthstone
|
|
92
|
+
? `last update: ${lastUpdate.hearthstone}`
|
|
93
|
+
: 'no last_update.json found';
|
|
94
|
+
console.error(`Cached snapshot is stale (${ageDescription}); refreshing from HearthstoneJSON...`);
|
|
95
|
+
}
|
|
67
96
|
try {
|
|
68
97
|
const cards = await fetchCards(fetchFn);
|
|
69
98
|
// Clear existing data before re-ingestion
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pipeline.js","sourceRoot":"","sources":["../../src/data/pipeline.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAc3D,oBAAoB;AAEpB,MAAM,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,qBAAqB,CAAC,CAAC;AACxE,MAAM,oBAAoB,GAAG,kBAAkB,CAAC;AAEhD,iCAAiC;AAEjC;;;GAGG;AACH,MAAM,UAAU,cAAc,CAAC,OAAgB;IAC7C,MAAM,GAAG,GAAG,OAAO,IAAI,gBAAgB,CAAC;IACxC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,oBAAoB,CAAC,CAAC;IAEtD,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACnD,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAe,CAAC;IAC3C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc,CAC5B,UAAsB,EACtB,OAAgB;IAEhB,MAAM,GAAG,GAAG,OAAO,IAAI,gBAAgB,CAAC;IAExC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACxB,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACzC,CAAC;IAED,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,oBAAoB,CAAC,CAAC;IACtD,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;AAC3E,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,UAAU,CAAC,UAAsB;IAC/C,OAAO,CAAC,UAAU,CAAC,WAAW,CAAC;AACjC,CAAC;AAED,iCAAiC;AAEjC;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,EAAqB,EACrB,OAAyB;IAEzB,MAAM,OAAO,GAAG,OAAO,EAAE,OAAO,IAAI,gBAAgB,CAAC;IACrD,MAAM,KAAK,GAAG,OAAO,EAAE,KAAK,IAAI,KAAK,CAAC;IACtC,MAAM,OAAO,GAAG,OAAO,EAAE,OAAO,CAAC;IAEjC,MAAM,UAAU,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;IAC3C,MAAM,YAAY,GAAG,eAAe,CAAC,EAAE,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"pipeline.js","sourceRoot":"","sources":["../../src/data/pipeline.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAc3D,oBAAoB;AAEpB,MAAM,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,qBAAqB,CAAC,CAAC;AACxE,MAAM,oBAAoB,GAAG,kBAAkB,CAAC;AAEhD;;;;;;GAMG;AACH,MAAM,cAAc,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,SAAS;AAEzD;;;GAGG;AACH,MAAM,UAAU,OAAO,CACrB,UAAsB,EACtB,MAAY,IAAI,IAAI,EAAE,EACtB,eAAuB,cAAc;IAErC,IAAI,CAAC,UAAU,CAAC,WAAW;QAAE,OAAO,IAAI,CAAC;IACzC,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,OAAO,EAAE,CAAC;IACxD,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IACpC,OAAO,GAAG,CAAC,OAAO,EAAE,GAAG,IAAI,GAAG,YAAY,CAAC;AAC7C,CAAC;AAED,iCAAiC;AAEjC;;;GAGG;AACH,MAAM,UAAU,cAAc,CAAC,OAAgB;IAC7C,MAAM,GAAG,GAAG,OAAO,IAAI,gBAAgB,CAAC;IACxC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,oBAAoB,CAAC,CAAC;IAEtD,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACnD,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAe,CAAC;IAC3C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc,CAC5B,UAAsB,EACtB,OAAgB;IAEhB,MAAM,GAAG,GAAG,OAAO,IAAI,gBAAgB,CAAC;IAExC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACxB,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACzC,CAAC;IAED,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,oBAAoB,CAAC,CAAC;IACtD,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;AAC3E,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,UAAU,CAAC,UAAsB;IAC/C,OAAO,CAAC,UAAU,CAAC,WAAW,CAAC;AACjC,CAAC;AAED,iCAAiC;AAEjC;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,EAAqB,EACrB,OAAyB;IAEzB,MAAM,OAAO,GAAG,OAAO,EAAE,OAAO,IAAI,gBAAgB,CAAC;IACrD,MAAM,KAAK,GAAG,OAAO,EAAE,KAAK,IAAI,KAAK,CAAC;IACtC,MAAM,OAAO,GAAG,OAAO,EAAE,OAAO,CAAC;IAEjC,MAAM,UAAU,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;IAC3C,MAAM,YAAY,GAAG,eAAe,CAAC,EAAE,CAAC,CAAC;IACzC,MAAM,KAAK,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IAElC,oDAAoD;IACpD,kEAAkE;IAClE,oEAAoE;IACpE,IAAI,YAAY,IAAI,CAAC,KAAK,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;QAChE,MAAM,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,mCAAmC,CAAC,CAAC,GAAG,EAE9D,CAAC;QACF,OAAO,CAAC,KAAK,CACX,oBAAoB,GAAG,CAAC,GAAG,uCAAuC,UAAU,CAAC,WAAW,GAAG,CAC5F,CAAC;QACF,OAAO,GAAG,CAAC,GAAG,CAAC;IACjB,CAAC;IAED,IAAI,YAAY,IAAI,KAAK,IAAI,CAAC,KAAK,EAAE,CAAC;QACpC,MAAM,cAAc,GAAG,UAAU,CAAC,WAAW;YAC3C,CAAC,CAAC,gBAAgB,UAAU,CAAC,WAAW,EAAE;YAC1C,CAAC,CAAC,2BAA2B,CAAC;QAChC,OAAO,CAAC,KAAK,CACX,6BAA6B,cAAc,uCAAuC,CACnF,CAAC;IACJ,CAAC;IAED,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC,CAAC;QAExC,0CAA0C;QAC1C,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QAE7B,WAAW,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;QAEvB,iBAAiB;QACjB,UAAU,CAAC,WAAW,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAClD,cAAc,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QAEpC,MAAM,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,mCAAmC,CAAC,CAAC,GAAG,EAE9D,CAAC;QACF,OAAO,CAAC,KAAK,CAAC,sBAAsB,GAAG,CAAC,GAAG,iBAAiB,CAAC,CAAC;QAC9D,OAAO,GAAG,CAAC,GAAG,CAAC;IACjB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,wCAAwC;YACxC,MAAM,KAAK,CAAC;QACd,CAAC;QAED,yCAAyC;QACzC,OAAO,CAAC,KAAK,CACX,6CAA6C,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CACtG,CAAC;QACF,MAAM,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,mCAAmC,CAAC,CAAC,GAAG,EAE9D,CAAC;QACF,OAAO,GAAG,CAAC,GAAG,CAAC;IACjB,CAAC;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decode-deck.d.ts","sourceRoot":"","sources":["../../src/tools/decode-deck.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAIhD,eAAO,MAAM,eAAe;;;;;;EAE1B,CAAC;AAEH,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAIlE,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,IAAI,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,WAAW,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACnD,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC3C;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,KAAK,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,MAAM,gBAAgB,GAAG,iBAAiB,GAAG,eAAe,CAAC;AAmDnE,wBAAgB,UAAU,CACxB,EAAE,EAAE,QAAQ,CAAC,QAAQ,EACrB,KAAK,EAAE,mBAAmB,GACzB,gBAAgB,
|
|
1
|
+
{"version":3,"file":"decode-deck.d.ts","sourceRoot":"","sources":["../../src/tools/decode-deck.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAIhD,eAAO,MAAM,eAAe;;;;;;EAE1B,CAAC;AAEH,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAIlE,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,IAAI,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,WAAW,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACnD,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC3C;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,KAAK,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,MAAM,gBAAgB,GAAG,iBAAiB,GAAG,eAAe,CAAC;AAmDnE,wBAAgB,UAAU,CACxB,EAAE,EAAE,QAAQ,CAAC,QAAQ,EACrB,KAAK,EAAE,mBAAmB,GACzB,gBAAgB,CAmFlB"}
|
|
@@ -92,9 +92,11 @@ export function decodeDeck(db, input) {
|
|
|
92
92
|
cardSummary = toCardSummary(row);
|
|
93
93
|
}
|
|
94
94
|
else {
|
|
95
|
-
// Unknown card — create placeholder
|
|
95
|
+
// Unknown card — create a richer placeholder so the user understands
|
|
96
|
+
// what happened and how to resolve it. The most common cause is a
|
|
97
|
+
// recently-released card whose dbfId isn't in the local snapshot yet.
|
|
96
98
|
cardSummary = {
|
|
97
|
-
name: `Unknown
|
|
99
|
+
name: `Unknown card (dbfId: ${dbfId}) — possibly added in a recent expansion; refresh data to resolve`,
|
|
98
100
|
mana_cost: null,
|
|
99
101
|
type: null,
|
|
100
102
|
player_class: null,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decode-deck.js","sourceRoot":"","sources":["../../src/tools/decode-deck.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"decode-deck.js","sourceRoot":"","sources":["../../src/tools/decode-deck.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAIrC,uBAAuB;AAEvB,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC;IACtC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,2CAA2C,CAAC;CAC5E,CAAC,CAAC;AAuBH,kBAAkB;AAElB,SAAS,SAAS,CAAC,GAAkB;IACnC,IAAI,CAAC,GAAG;QAAE,OAAO,EAAE,CAAC;IACpB,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAa,CAAC;IACrC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,SAAS,aAAa,CAAC,GAAY;IACjC,OAAO;QACL,IAAI,EAAE,GAAG,CAAC,IAAI;QACd,SAAS,EAAE,GAAG,CAAC,SAAS;QACxB,IAAI,EAAE,GAAG,CAAC,IAAI;QACd,YAAY,EAAE,GAAG,CAAC,YAAY;QAC9B,MAAM,EAAE,GAAG,CAAC,MAAM;QAClB,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI;QAC/C,MAAM,EAAE,GAAG,CAAC,MAAM;QAClB,MAAM,EAAE,GAAG,CAAC,MAAM;QAClB,QAAQ,EAAE,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC;KAClC,CAAC;AACJ,CAAC;AAED,SAAS,eAAe,CAAC,IAAmB;IAC1C,IAAI,IAAI,IAAI,IAAI;QAAE,OAAO,GAAG,CAAC;IAC7B,IAAI,IAAI,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IAC3B,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC;AACtB,CAAC;AAED,sDAAsD;AAEtD,MAAM,cAAc,GAA2B;IAC7C,CAAC,EAAE,SAAS,EAAM,qBAAqB;IACvC,GAAG,EAAE,MAAM,EAAO,mBAAmB;IACrC,EAAE,EAAE,QAAQ,EAAM,SAAS;IAC3B,GAAG,EAAE,QAAQ,EAAK,eAAe;IACjC,GAAG,EAAE,OAAO,EAAM,oBAAoB;IACtC,IAAI,EAAE,SAAS,EAAG,qBAAqB;IACvC,GAAG,EAAE,SAAS,EAAI,UAAU;IAC5B,GAAG,EAAE,QAAQ,EAAK,SAAS;IAC3B,GAAG,EAAE,OAAO,EAAM,sBAAsB;IACxC,KAAK,EAAE,cAAc,EAAE,oBAAoB;IAC3C,KAAK,EAAE,cAAc,EAAE,gBAAgB;CACxC,CAAC;AAEF,kBAAkB;AAElB,MAAM,UAAU,UAAU,CACxB,EAAqB,EACrB,KAA0B;IAE1B,IAAI,OAA6E,CAAC;IAElF,IAAI,CAAC;QACH,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IACpC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO;YACL,OAAO,EAAE,KAAK;YACd,OAAO,EAAE,sBAAsB,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE;SAClF,CAAC;IACJ,CAAC;IAED,SAAS;IACT,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC;IAE1D,sEAAsE;IACtE,IAAI,SAAS,GAAG,SAAS,CAAC;IAC1B,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9B,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACpC,gBAAgB;QAChB,MAAM,OAAO,GAAG,EAAE;aACf,OAAO,CAAC,6CAA6C,CAAC;aACtD,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAgD,CAAC;QAEzE,IAAI,OAAO,EAAE,YAAY,EAAE,CAAC;YAC1B,SAAS,GAAG,OAAO,CAAC,YAAY,CAAC;QACnC,CAAC;aAAM,IAAI,cAAc,CAAC,SAAS,CAAC,EAAE,CAAC;YACrC,SAAS,GAAG,cAAc,CAAC,SAAS,CAAC,CAAC;QACxC,CAAC;IACH,CAAC;IAED,QAAQ;IACR,MAAM,KAAK,GAAgD,EAAE,CAAC;IAC9D,MAAM,SAAS,GAA2B,EAAE,CAAC;IAC7C,MAAM,gBAAgB,GAA2B,EAAE,CAAC;IACpD,IAAI,UAAU,GAAG,CAAC,CAAC;IAEnB,KAAK,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;QAC3C,MAAM,GAAG,GAAG,EAAE;aACX,OAAO,CAAC,kCAAkC,CAAC;aAC3C,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAwB,CAAC;QAE7C,IAAI,WAAwB,CAAC;QAC7B,IAAI,GAAG,EAAE,CAAC;YACR,WAAW,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;QACnC,CAAC;aAAM,CAAC;YACN,qEAAqE;YACrE,kEAAkE;YAClE,sEAAsE;YACtE,WAAW,GAAG;gBACZ,IAAI,EAAE,wBAAwB,KAAK,mEAAmE;gBACtG,SAAS,EAAE,IAAI;gBACf,IAAI,EAAE,IAAI;gBACV,YAAY,EAAE,IAAI;gBAClB,MAAM,EAAE,IAAI;gBACZ,IAAI,EAAE,IAAI;gBACV,MAAM,EAAE,IAAI;gBACZ,MAAM,EAAE,IAAI;gBACZ,QAAQ,EAAE,EAAE;aACb,CAAC;QACJ,CAAC;QAED,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,CAAC;QACzC,UAAU,IAAI,KAAK,CAAC;QAEpB,aAAa;QACb,MAAM,MAAM,GAAG,eAAe,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;QACtD,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC;QAErD,oBAAoB;QACpB,MAAM,QAAQ,GAAG,WAAW,CAAC,IAAI,IAAI,SAAS,CAAC;QAC/C,gBAAgB,CAAC,QAAQ,CAAC,GAAG,CAAC,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC;IACzE,CAAC;IAED,OAAO;QACL,OAAO,EAAE,IAAI;QACb,MAAM;QACN,UAAU,EAAE,SAAS;QACrB,KAAK;QACL,WAAW,EAAE,UAAU;QACvB,UAAU,EAAE,SAAS;QACrB,iBAAiB,EAAE,gBAAgB;KACpC,CAAC;AACJ,CAAC"}
|
package/package.json
CHANGED