@follenfang/wowdata 0.0.5 → 0.0.7

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/SHA256SUMS CHANGED
@@ -1,5 +1,5 @@
1
- 6d845698e7f800af232c120cd4e498278446ca39060264727a6c90ef4dc9073e dist/wowdata-darwin-amd64
2
- 2573cfe437fe25274ef06f99748f4755766b6fba5dffa3f5bf81cb4e6ade244c dist/wowdata-darwin-arm64
3
- 4474fbca7772e769b9aed3fcf6eb0e46a8dbd035852afeee0ea85e3069d2e6be dist/wowdata-linux-amd64
4
- a8e93d3ca0163935841a77ed6e3882e6eca249da86d105355b7a64add21b7b06 dist/wowdata-linux-arm64
5
- c2711192daeff3b74f05e260f12f3f1e20eac9cc28a50498195d21719f7ccb93 dist/wowdata-windows-amd64.exe
1
+ be9f43ffcfa3e8f6a9d8445dbecb751c6415e29cb60c2ae5f061d46ac04847fc dist/wowdata-darwin-amd64
2
+ 222a41577ec0aaa4eca40daf80b5060f137fb27307807776afc033e51baf4cd3 dist/wowdata-darwin-arm64
3
+ 07cf15fd8557874ff8bfb07fbacf1e3bad1a96f06b723be6177218a2a5494c2e dist/wowdata-linux-amd64
4
+ 5abfca08e784aa6b446cb4a30ca6abf08a5da47090c20909d046a9329274c065 dist/wowdata-linux-arm64
5
+ bec422d1757822dc1bd44077688d04a99840cdad73f0ba5fb91a13ae4c4f1fe4 dist/wowdata-windows-amd64.exe
Binary file
Binary file
Binary file
Binary file
Binary file
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@follenfang/wowdata",
3
- "version": "0.0.5",
3
+ "version": "0.0.7",
4
4
  "description": "Auditable CLI for querying World of Warcraft CASC and DB2 data",
5
5
  "license": "AGPL-3.0-or-later",
6
6
  "type": "commonjs",
@@ -18,10 +18,11 @@ Use the `wowdata` executable from `PATH`. This Skill is CLI-only: do not search
18
18
  Resolve the target before reading CASC or DB2 data.
19
19
 
20
20
  1. If the user gives a Profile, pass only `--profile <name>`; do not combine it with target flags.
21
- 2. Resolve product from the user's words or conversation context. Read [clients.yaml](references/clients.yaml) for aliases. Product has no default; if it remains ambiguous, ask one short product question before running a data command. Treat “硬核服” as a server rule and resolve its actual product from context.
22
- 3. Preserve every explicit source, path, region, product, Build, and locale. Read [locales.yaml](references/locales.yaml) for locale aliases.
23
- 4. If no source or local path is stated, use remote CDN. For an otherwise unspecified remote target, pass `--source remote --region cn --build latest --locale zhCN` plus the resolved product.
24
- 5. For `--source local`, require `--path <client>` and complete the remaining target fields explicitly; never guess missing local-client facts.
21
+ 2. Resolve product from the user's words or conversation context. Read [clients.yaml](references/clients.yaml) for names: every name in that file is resolved by the CLI, so it may be passed straight to `--product`, and the CDN product ID is accepted too. Product has no default; if it remains ambiguous, ask one short product question before running a data command. Treat “硬核服” as a server rule and resolve its actual product from context.
22
+ 3. A product ID names a reusable slot, not a fixed game: `wow_classic_beta` held the MoP Classic beta (5.5.x) before and holds WoW Forever (1.60.x) now, and a region may not list it at all. Never infer content from the product ID alone — read the label from `casc products --source remote --region <region>` and pin the Build when the result must stay reproducible. The `flavorAliases` (`forever`, `classic-plus`) name a game rather than a slot, so the CLI verifies the resolved build's flavor and fails with `product_alias_mismatch` once the slot moves on; follow the label instead of forcing the product.
23
+ 4. Preserve every explicit source, path, region, product, Build, and locale. Read [locales.yaml](references/locales.yaml) for locale aliases.
24
+ 5. If no source or local path is stated, use remote CDN. For an otherwise unspecified remote target, pass `--source remote --region cn --build latest --locale zhCN` plus the resolved product.
25
+ 6. For `--source local`, require `--path <client>` and complete the remaining target fields explicitly; never guess missing local-client facts.
25
26
 
26
27
  Never rely on CLI target defaults; the CLI intentionally has none. `--build latest` resolves at execution time and must not be hard-coded in this Skill.
27
28
 
@@ -1 +1 @@
1
- 0.0.5
1
+ 0.0.7
@@ -1,4 +1,14 @@
1
1
  schema: wowdata.clients.v1
2
+ # Friendly names for the CDN product the user means. Every name in this file is
3
+ # resolved by the CLI itself, so it may be passed straight to --product; the value on
4
+ # the right is the CDN product ID and is also accepted directly.
5
+ #
6
+ # A product ID names a reusable slot, not a fixed game. wow_classic_beta carried the
7
+ # Mists of Pandaria Classic beta (5.5.x) before and carries WoW Forever (1.60.x) now.
8
+ # Names under flavorAliases claim a specific game rather than a slot, so the CLI checks
9
+ # the resolved build's flavor and fails with product_alias_mismatch instead of
10
+ # answering for a slot that has moved on. Names that only label a slot (classic-beta)
11
+ # accept whatever it currently holds.
2
12
  clients:
3
13
  retail: wow
4
14
  ptr: wowt
@@ -12,8 +22,6 @@ clients:
12
22
  "怀旧服 PTR": wow_classic_ptr
13
23
  怀旧服测试服: wow_classic_ptr
14
24
  classic-beta: wow_classic_beta
15
- forever: wow_classic_beta
16
- classic-plus: wow_classic_beta
17
25
  classic-era: wow_classic_era
18
26
  怀中怀: wow_classic_era
19
27
  "60级": wow_classic_era
@@ -24,6 +32,12 @@ clients:
24
32
  泰坦服: wow_classic_titan
25
33
  泰坦重铸: wow_classic_titan
26
34
  时光服: wow_classic_titan
35
+ flavorAliases:
36
+ # These name a game rather than a slot, so the resolved build's flavor is verified.
37
+ # A region may not carry the slot at all; check `casc products --source remote
38
+ # --region <region>` before concluding the data is missing.
39
+ forever: wow_classic_beta
40
+ classic-plus: wow_classic_beta
27
41
  contextualAliases:
28
42
  硬核服:
29
43
  type: realm-rule
@@ -16,6 +16,10 @@ or a complete target:
16
16
 
17
17
  Use `--source local --path <client>` plus explicit region, product, Build, and locale for a local client.
18
18
 
19
+ `--product` takes either the CDN product ID (for example `wow_classic_beta`) or any friendly name from [clients.yaml](clients.yaml) (for example `retail`, `classic-era`, `forever`), which the CLI resolves itself. Because a product ID names a slot rather than a fixed game, the names listed under `flavorAliases` are verified against the flavor of the build that actually resolves; if the slot has moved on, the CLI fails with `product_alias_mismatch` instead of returning another game's data. When that happens, run `casc products` for the region and pick the product whose label matches the flavor the user asked for.
20
+
21
+ A remote target is only valid for the region that lists it. Confirm with `casc products --source remote --region <region>` before concluding that data is missing.
22
+
19
23
  ## Discovery And Preparation
20
24
 
21
25
  | Intent | Command |