@moewolf/moe-icons-cli 0.0.10 → 0.0.11

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.
@@ -14,8 +14,8 @@
14
14
  * the measured 89.5/90.0 MiB worst case with headroom; `AUD-FIX-30` records the
15
15
  * production freeze. No consumer may invent its own limit — every shard
16
16
  * download/expand path takes its numbers from here, and the legacy
17
- * `ICON_ARCHIVE_MAX_EXPANDED_BYTES` 512 MiB aggregate cap is deliberately not a
18
- * shard budget.
17
+ * `ICON_ARCHIVE_MAX_EXPANDED_BYTES` 768 MiB aggregate cap is deliberately not a
18
+ * shard budget. Per-shard and temporary-disk bounds remain independently set.
19
19
  */
20
20
  export interface BitmapShardBudget {
21
21
  /** Largest signed compressed shard archive accepted for one tuple. */
@@ -3,7 +3,7 @@ export const BITMAP_SHARD_BUDGET = Object.freeze({
3
3
  expandedBytes: 128 * 1024 * 1024,
4
4
  entries: 2000,
5
5
  singleFileBytes: 16 * 1024 * 1024,
6
- totalDownloadBytes: 512 * 1024 * 1024,
6
+ totalDownloadBytes: 768 * 1024 * 1024,
7
7
  tempDiskBytes: 256 * 1024 * 1024,
8
8
  concurrency: 1,
9
9
  descriptorTimeoutMs: 5_000,
@@ -169,8 +169,8 @@ export function planSelectedResources(config, catalog, index) {
169
169
  const paths = [...chosen].sort();
170
170
  const payloadBytes = paths.reduce((sum, p) => sum + index.files[p].compressedSize, 0);
171
171
  const expandedBytes = paths.reduce((sum, p) => sum + index.files[p].size, 0);
172
- if (paths.length > 20000 || expandedBytes > 512 * 1024 * 1024 || payloadBytes > 512 * 1024 * 1024)
173
- return fail("selected resources exceed 20,000 files/512 MiB budget; reduce icons/themes or explicitly use downloadMode=full");
172
+ if (paths.length > 20000 || expandedBytes > 768 * 1024 * 1024 || payloadBytes > 768 * 1024 * 1024)
173
+ return fail("selected resources exceed 20,000 files/768 MiB budget; reduce icons/themes or explicitly use downloadMode=full");
174
174
  return { paths, payloadBytes, expandedBytes, fallbacks: [...fallbacks].sort() };
175
175
  }
176
176
  export function verifyResource(bytes, entry, name) {
@@ -2,8 +2,8 @@
2
2
  * Combined release archives contain all four target trees. The current Pro
3
3
  * contract is roughly 60k regular files (9 groups × 554 icons), so the former
4
4
  * 20k cap rejected valid official packages. The six-spec bitmap matrix expands
5
- * to ~205 MiB (tar stream ~257 MiB), so the expanded ceiling covers that with
6
- * headroom while staying finite for zip-bomb protection. `extractTarGz` enforces
5
+ * to ~205 MiB (tar stream ~257 MiB). The 768 MiB expanded ceiling supports the
6
+ * release capacity contract while staying finite for zip-bomb protection. `extractTarGz` enforces
7
7
  * the same bound during gunzip via `maxOutputLength`, before the tar stream is
8
8
  * materialised.
9
9
  */
@@ -5,13 +5,13 @@ const BLOCK = 512;
5
5
  * Combined release archives contain all four target trees. The current Pro
6
6
  * contract is roughly 60k regular files (9 groups × 554 icons), so the former
7
7
  * 20k cap rejected valid official packages. The six-spec bitmap matrix expands
8
- * to ~205 MiB (tar stream ~257 MiB), so the expanded ceiling covers that with
9
- * headroom while staying finite for zip-bomb protection. `extractTarGz` enforces
8
+ * to ~205 MiB (tar stream ~257 MiB). The 768 MiB expanded ceiling supports the
9
+ * release capacity contract while staying finite for zip-bomb protection. `extractTarGz` enforces
10
10
  * the same bound during gunzip via `maxOutputLength`, before the tar stream is
11
11
  * materialised.
12
12
  */
13
13
  export const ICON_ARCHIVE_MAX_ENTRIES = 100_000;
14
- export const ICON_ARCHIVE_MAX_EXPANDED_BYTES = 512 * 1024 * 1024;
14
+ export const ICON_ARCHIVE_MAX_EXPANDED_BYTES = 768 * 1024 * 1024;
15
15
  /** True when a zlib gunzip failure means the bounded output was exceeded. */
16
16
  function isOutputLimitError(error) {
17
17
  const code = error?.code;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@moewolf/moe-icons-cli",
3
- "version": "0.0.10",
3
+ "version": "0.0.11",
4
4
  "description": "Moeicons CLI: install React, Vue, Vanilla, or Assets icon targets, manage releases and login, and expose an MCP server.",
5
5
  "type": "module",
6
6
  "main": "./dist/cli.js",
@@ -74,5 +74,5 @@
74
74
  "fflate": "^0.8.2",
75
75
  "jsonc-parser": "^3.3.1"
76
76
  },
77
- "payloadHash": "39f10c2d8048f41a7fb47fade28d280399eead23a68645c7c4b6bf71243547b0"
77
+ "payloadHash": "d904489ab55079dde70252d359b30361e2046bc5345df4c3896f92e64d32db16"
78
78
  }