@blamejs/exceptd-skills 0.14.11 → 0.14.12

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.
@@ -86,7 +86,7 @@ async function main() {
86
86
  await runDispatch();
87
87
  break;
88
88
  case 'skill':
89
- runSkillContext(args[0]);
89
+ runSkillContext(args);
90
90
  break;
91
91
  case 'pipeline':
92
92
  runPipeline(args[0] || 'manual', args[1] ? JSON.parse(args[1]) : {});
@@ -141,11 +141,23 @@ function runFrameworkGap(rawArgs) {
141
141
  const jsonOut = flags.has('--json');
142
142
 
143
143
  if (args.length < 2) {
144
- console.error(`Usage: exceptd framework-gap <FRAMEWORK_ID|all> <SCENARIO|CVE-ID> [--json]
144
+ const usage = `Usage: exceptd framework-gap <FRAMEWORK_ID|all> <SCENARIO|CVE-ID> [--json]
145
145
  Examples:
146
146
  exceptd framework-gap NIST-800-53 CVE-2026-31431
147
147
  exceptd framework-gap PCI-DSS-4.0 "prompt injection"
148
- exceptd framework-gap all CVE-2025-53773 --json`);
148
+ exceptd framework-gap all CVE-2025-53773 --json`;
149
+ // Honor --json on the missing-arg path: a JSON consumer must get a
150
+ // structured ok:false envelope, not plain usage text on stderr.
151
+ if (jsonOut) {
152
+ process.stdout.write(JSON.stringify({
153
+ ok: false,
154
+ verb: 'framework-gap',
155
+ error: 'framework-gap requires <FRAMEWORK_ID|all> and <SCENARIO|CVE-ID>',
156
+ usage,
157
+ }) + '\n');
158
+ } else {
159
+ console.error(usage);
160
+ }
149
161
  // v0.13 exit-code class fix: usage error is GENERIC_FAILURE (1),
150
162
  // not DETECTED_ESCALATE (2). Pre-v0.13 the orchestrator emitted
151
163
  // exit 2 for usage errors, colliding with CI gates that branch on
@@ -258,12 +270,15 @@ async function runScan() {
258
270
  // other verbs (validate-cves, watchlist, etc.). Previously this was a
259
271
  // bare `process.argv.includes('--json')`, which differed in style from
260
272
  // the verbs below and could miss `--json=true` or similar future forms.
273
+ if (rejectUnknownFlags('scan', args, ['--json'])) return;
261
274
  const { flags } = parseFlags(process.argv.slice(2), []);
262
275
  const jsonOut = flags.has('--json');
263
276
  if (!jsonOut) console.log('[orchestrator] Scanning environment...\n');
264
277
  const result = await scan();
265
278
  if (jsonOut) {
266
- process.stdout.write(JSON.stringify(result) + '\n');
279
+ // Top-level ok:true so a single JSON consumer can branch on the same
280
+ // envelope the ok:false error paths emit.
281
+ process.stdout.write(JSON.stringify({ ok: true, ...result }) + '\n');
267
282
  return result;
268
283
  }
269
284
 
@@ -293,13 +308,14 @@ async function runScan() {
293
308
  }
294
309
 
295
310
  async function runDispatch() {
311
+ if (rejectUnknownFlags('dispatch', args, ['--json'])) return;
296
312
  const jsonOut = process.argv.includes('--json');
297
313
  if (!jsonOut) console.log('[orchestrator] Scanning then dispatching...\n');
298
314
  const scanResult = await scan();
299
315
  const plan = dispatch(scanResult.findings);
300
316
 
301
317
  if (jsonOut) {
302
- process.stdout.write(JSON.stringify({ scan: scanResult, dispatch: plan }) + '\n');
318
+ process.stdout.write(JSON.stringify({ ok: true, scan: scanResult, dispatch: plan }) + '\n');
303
319
  return plan;
304
320
  }
305
321
 
@@ -334,10 +350,28 @@ async function runDispatch() {
334
350
  return plan;
335
351
  }
336
352
 
337
- function runSkillContext(skillName) {
353
+ function runSkillContext(rawArgs) {
354
+ // `rawArgs` is the full arg list. Filter --flags out of the positional set
355
+ // before treating the first positional as the skill name — pre-fix
356
+ // `skill --json` passed "--json" through as args[0] and reported
357
+ // "Skill not found: --json".
358
+ const argList = Array.isArray(rawArgs) ? rawArgs : (rawArgs == null ? [] : [rawArgs]);
359
+ const jsonOut = argList.includes('--json');
360
+ const positionals = argList.filter(a => typeof a === 'string' && !a.startsWith('--'));
361
+ const skillName = positionals[0];
362
+
338
363
  if (!skillName) {
339
- console.error('Usage: exceptd skill <skill-name>');
340
- console.error(' (Lists available skills: exceptd brief --all)');
364
+ if (jsonOut) {
365
+ process.stdout.write(JSON.stringify({
366
+ ok: false,
367
+ verb: 'skill',
368
+ error: 'usage: exceptd skill <skill-name>',
369
+ hint: 'List available skills: exceptd brief --all',
370
+ }) + '\n');
371
+ } else {
372
+ console.error('Usage: exceptd skill <skill-name>');
373
+ console.error(' (Lists available skills: exceptd brief --all)');
374
+ }
341
375
  safeExit(EXIT_CODES.GENERIC_FAILURE);
342
376
  return;
343
377
  }
@@ -381,12 +415,13 @@ function runPipeline(triggerType, payload) {
381
415
  }
382
416
 
383
417
  function runCurrency() {
418
+ if (rejectUnknownFlags('currency', args, ['--json'])) return;
384
419
  const jsonOut = process.argv.includes('--json');
385
420
  const result = runCurrencyNow();
386
421
  const { currency_report, action_required, critical_count } = currencyCheck();
387
422
 
388
423
  if (jsonOut) {
389
- process.stdout.write(JSON.stringify({ currency_report, action_required, critical_count, generated_at: new Date().toISOString() }) + '\n');
424
+ process.stdout.write(JSON.stringify({ ok: true, currency_report, action_required, critical_count, generated_at: new Date().toISOString() }) + '\n');
390
425
  return;
391
426
  }
392
427
 
@@ -712,12 +747,52 @@ async function runWatch() {
712
747
  console.log('Press Ctrl+C to stop. (SIGTERM / SIGHUP / SIGBREAK also honored.)\n');
713
748
  }
714
749
 
750
+ // Known flags accepted by validate-cves. An unknown flag (typo) must be
751
+ // rejected before any network work — a swallowed `--ofline` previously fell
752
+ // through to the default live-network path and the verb hung fetching the
753
+ // whole catalog from NVD until killed.
754
+ const VALIDATE_CVES_KNOWN_FLAGS = Object.freeze([
755
+ '--offline', '--no-fail', '--from-cache', '--concurrency', '--since', '--air-gap',
756
+ ]);
757
+ // Known flags accepted by validate-rfcs (same hang-on-typo class as
758
+ // validate-cves). `--live` is the explicit opt-in to the default network
759
+ // path; `--air-gap` forces the offline view with no egress.
760
+ const VALIDATE_RFCS_KNOWN_FLAGS = Object.freeze([
761
+ '--offline', '--no-fail', '--from-cache', '--since', '--live', '--air-gap',
762
+ ]);
763
+
764
+ // Reject unknown --flags against a per-verb allowlist BEFORE any network work.
765
+ // Returns true when a rejection was emitted (caller should return); false when
766
+ // every flag is recognized. The base flag (text before any `=`) is what gets
767
+ // matched so `--from-cache=path` and `--since=2026-01-01` are accepted.
768
+ function rejectUnknownFlags(verb, rawArgs, knownFlags) {
769
+ const known = new Set(knownFlags);
770
+ const unknown = rawArgs
771
+ .filter(a => typeof a === 'string' && a.startsWith('--'))
772
+ .map(a => { const eq = a.indexOf('='); return eq === -1 ? a : a.slice(0, eq); })
773
+ .filter(base => !known.has(base));
774
+ if (unknown.length === 0) return false;
775
+ // Dedupe while preserving order.
776
+ const uniq = [...new Set(unknown)];
777
+ process.stdout.write(JSON.stringify({
778
+ ok: false,
779
+ verb,
780
+ error: `${verb}: unknown flag(s): ${uniq.join(', ')}`,
781
+ unknown_flags: uniq,
782
+ known_flags: knownFlags,
783
+ }) + '\n');
784
+ safeExit(EXIT_CODES.GENERIC_FAILURE);
785
+ return true;
786
+ }
787
+
715
788
  async function runValidateCves(rawArgs = []) {
716
789
  const fs = require('fs');
717
790
  const path = require('path');
718
791
 
792
+ if (rejectUnknownFlags('validate-cves', rawArgs, VALIDATE_CVES_KNOWN_FLAGS)) return;
793
+
719
794
  const flags = new Set(rawArgs.filter(a => a.startsWith('--')));
720
- const offline = flags.has('--offline');
795
+ const offline = flags.has('--offline') || flags.has('--air-gap');
721
796
  const noFail = flags.has('--no-fail');
722
797
  // --from-cache: prefer cached upstream snapshots before falling back to live
723
798
  // network. Accepts an optional path; defaults to .cache/upstream when bare.
@@ -963,8 +1038,10 @@ async function runValidateRfcs(rawArgs = []) {
963
1038
  const fs = require('fs');
964
1039
  const path = require('path');
965
1040
 
1041
+ if (rejectUnknownFlags('validate-rfcs', rawArgs, VALIDATE_RFCS_KNOWN_FLAGS)) return;
1042
+
966
1043
  const flags = new Set(rawArgs.filter(a => a.startsWith('--')));
967
- const offline = flags.has('--offline');
1044
+ const offline = flags.has('--offline') || flags.has('--air-gap');
968
1045
  const noFail = flags.has('--no-fail');
969
1046
  let cacheDir = null;
970
1047
  for (let i = 0; i < rawArgs.length; i++) {
@@ -1136,11 +1213,21 @@ async function runValidateRfcs(rawArgs = []) {
1136
1213
  * that should trigger a skill update. This command surfaces the union so
1137
1214
  * maintainers can see the full horizon at a glance.
1138
1215
  */
1216
+ // Every flag any watchlist mode (default aggregator, --alerts, --org-scan)
1217
+ // accepts. The unknown-flag guard runs once at the top of runWatchlist so a
1218
+ // typo is rejected regardless of which sub-mode it would have reached.
1219
+ const WATCHLIST_KNOWN_FLAGS = Object.freeze([
1220
+ '--json', '--by-skill', '--alerts', '--org-scan',
1221
+ '--org', '--pattern', '--output-format', '--air-gap',
1222
+ ]);
1223
+
1139
1224
  function runWatchlist(rawArgs = []) {
1140
1225
  const fs = require('fs');
1141
1226
  const path = require('path');
1142
1227
  const { parseFrontmatter, extractFrontmatterBlock } = require('../lib/lint-skills.js');
1143
1228
 
1229
+ if (rejectUnknownFlags('watchlist', rawArgs, WATCHLIST_KNOWN_FLAGS)) return;
1230
+
1144
1231
  const byskill = rawArgs.includes('--by-skill');
1145
1232
  const alertsMode = rawArgs.includes('--alerts');
1146
1233
  const orgScanMode = rawArgs.includes('--org-scan');
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@blamejs/exceptd-skills",
3
- "version": "0.14.11",
3
+ "version": "0.14.12",
4
4
  "description": "AI security skills grounded in mid-2026 threat reality, not stale framework documentation. 42 skills, 11 catalogs (406 CVEs / 171 CWEs / 805 ATT&CK + ICS / 170 ATLAS / 468 D3FEND / 8888 RFCs), 35 jurisdictions, 10-class catalog gap detector + budget gate, real XML parser + canonical-form diff + content-pattern regression detection, Ed25519-signed.",
5
5
  "keywords": [
6
6
  "ai-security",
package/sbom.cdx.json CHANGED
@@ -1,22 +1,22 @@
1
1
  {
2
2
  "bomFormat": "CycloneDX",
3
3
  "specVersion": "1.6",
4
- "serialNumber": "urn:uuid:f0d609d0-87c1-4767-a02a-3f7c1a327ec6",
4
+ "serialNumber": "urn:uuid:3c3dcfa9-3a0d-41e3-ba8b-fc9074eb6c91",
5
5
  "version": 1,
6
6
  "metadata": {
7
- "timestamp": "2154-01-15T17:30:56.000Z",
7
+ "timestamp": "2058-01-10T17:30:17.000Z",
8
8
  "tools": [
9
9
  {
10
10
  "vendor": "blamejs",
11
11
  "name": "scripts/refresh-sbom.js",
12
- "version": "0.14.11"
12
+ "version": "0.14.12"
13
13
  }
14
14
  ],
15
15
  "component": {
16
- "bom-ref": "pkg:npm/@blamejs/exceptd-skills@0.14.11",
16
+ "bom-ref": "pkg:npm/@blamejs/exceptd-skills@0.14.12",
17
17
  "type": "application",
18
18
  "name": "@blamejs/exceptd-skills",
19
- "version": "0.14.11",
19
+ "version": "0.14.12",
20
20
  "description": "AI security skills grounded in mid-2026 threat reality, not stale framework documentation. 42 skills, 11 catalogs (406 CVEs / 171 CWEs / 805 ATT&CK + ICS / 170 ATLAS / 468 D3FEND / 8888 RFCs), 35 jurisdictions, 10-class catalog gap detector + budget gate, real XML parser + canonical-form diff + content-pattern regression detection, Ed25519-signed.",
21
21
  "licenses": [
22
22
  {
@@ -25,17 +25,17 @@
25
25
  }
26
26
  }
27
27
  ],
28
- "purl": "pkg:npm/%40blamejs/exceptd-skills@0.14.11",
28
+ "purl": "pkg:npm/%40blamejs/exceptd-skills@0.14.12",
29
29
  "hashes": [
30
30
  {
31
31
  "alg": "SHA-256",
32
- "content": "efc3d07d094fa02436ded17d0e47a20f40e2bfd61e91a37aaacd46b7588e5f53"
32
+ "content": "0c93edb6886bb6d399d389a24226d4baa22f7779ae3996d4d7fbcf0a6e5114d6"
33
33
  }
34
34
  ],
35
35
  "externalReferences": [
36
36
  {
37
37
  "type": "distribution",
38
- "url": "https://www.npmjs.com/package/@blamejs/exceptd-skills/v/0.14.11"
38
+ "url": "https://www.npmjs.com/package/@blamejs/exceptd-skills/v/0.14.12"
39
39
  },
40
40
  {
41
41
  "type": "vcs",
@@ -116,11 +116,11 @@
116
116
  "hashes": [
117
117
  {
118
118
  "alg": "SHA-256",
119
- "content": "ececfb5ae783280cf2dfeef2cf182d7ab4a481fa3bb916e4ca94caa2e1a9ebba"
119
+ "content": "ddd5c86511d4ea2e2fa500a67bd5cb5e1111e1fb678d6715500f3ab8729ca2e1"
120
120
  },
121
121
  {
122
122
  "alg": "SHA3-512",
123
- "content": "350b4a7fd7678f326c3d6352bc7b47d3a35efcd66c6922306cb5c2e02e1b954da87b1448b1b7a00969c8a5a778a3687caecee9c6bf244e2e37b045f6f5be40ba"
123
+ "content": "7a0dfecb42ade2ab79c7e5286c2612b644a5d044b22a9f662aaef40e9793c68d9d019ae93ba8a0f52ac9134e694b00216890bc430362561fbe5757ca31d19e0c"
124
124
  }
125
125
  ]
126
126
  },
@@ -281,11 +281,11 @@
281
281
  "hashes": [
282
282
  {
283
283
  "alg": "SHA-256",
284
- "content": "f6350e6d651815e514d7db3b62ca7eda27c3e8240f6d50b05a7c54b0ce4e660a"
284
+ "content": "3d755197adfee59c67dafc46dc19636a491e59986fa088d8b51daee75dfab19b"
285
285
  },
286
286
  {
287
287
  "alg": "SHA3-512",
288
- "content": "9a61209f68791e85e8ce00a8e37a4c626bfde694884114c8a7883c0c75fe3d0b90d1995d9bea512b2cd17de66e4475398b752080bc822f8129c0dd1bbaf3f25b"
288
+ "content": "cc3309521915ada4277a09dbe9c33c13510f0508e0e710b8b9a877ebcd5a2a79c3448a08aa8d96286ade6c2dc3ef357794afdbbfb62f8d2531d4bf46e2ee7d58"
289
289
  }
290
290
  ]
291
291
  },
@@ -1151,11 +1151,11 @@
1151
1151
  "hashes": [
1152
1152
  {
1153
1153
  "alg": "SHA-256",
1154
- "content": "b794f4f90b1df1f44c81281be6ee8014dbfda0244a92bce0dc56a5a50946bbc5"
1154
+ "content": "1a3246aab91e2c51e24007f3ffa6cafba5edf366444b190a4d3160656555713e"
1155
1155
  },
1156
1156
  {
1157
1157
  "alg": "SHA3-512",
1158
- "content": "1eb28453d774555a66860b6682122e07066cb1a23962e86c0e705755f3ceff27a387ce0e605d58e99548c8c864fe1cdcdb9ef94946fe65222b8f70ce2ba9cc83"
1158
+ "content": "e1cf6956135578f1391ddd1e4776008af4dc11cfc431a7224599e058363ac0d7b4cc7d0ede816d144e38fedc5ebdd3bc39e46ff2e9e164b1a06f86cc496cbc83"
1159
1159
  }
1160
1160
  ]
1161
1161
  },
@@ -1316,11 +1316,11 @@
1316
1316
  "hashes": [
1317
1317
  {
1318
1318
  "alg": "SHA-256",
1319
- "content": "6a7cda7be47f08d77f5049fbf49adfe977dd5321d27fd28b2e02133cc7da76e5"
1319
+ "content": "ce4e0915fd4a758891e1799055d7f21bfeb1c283950668fe125533008c551547"
1320
1320
  },
1321
1321
  {
1322
1322
  "alg": "SHA3-512",
1323
- "content": "74cbfe39fa4d8a298d2d580cf66f7ec0b79d571eb99d8620ea9f186b2219e12cf729308812be539191d0c5213981f5a32a5cd75d844eabec9175b599e6ed4e1e"
1323
+ "content": "e81350df04396a41caaa15f810011fecb50c7efc25dbd3b48133337295948d9c8e5839e9d744891e330b607e9c776710daea7ed1a7b04ff66b9b7b4330f5a15e"
1324
1324
  }
1325
1325
  ]
1326
1326
  },
@@ -1331,11 +1331,11 @@
1331
1331
  "hashes": [
1332
1332
  {
1333
1333
  "alg": "SHA-256",
1334
- "content": "600c76c9d8bc51c616ce79f7cc36a1b8ea42d1d74b53f3500b55073e64926842"
1334
+ "content": "fc9d13e98934b99981965e61affae0b03bffd8d8a0ee8f6fbb6cb8f33f2cadb5"
1335
1335
  },
1336
1336
  {
1337
1337
  "alg": "SHA3-512",
1338
- "content": "a65c4081778247d9f69b82336dd9433b699fb7255afeae3e80291945d40f64a0b1eb101297da332d22cac71ef2b73e68777d633d6d97618320d9da043acac210"
1338
+ "content": "4053e54232a55090a53ff765f43bd7c389bdd8ff7d9458c123e1e297ee613f8ed007805588c3e1b6e3857db088d344077ba4d8889efb2129797708ef5f5b58f2"
1339
1339
  }
1340
1340
  ]
1341
1341
  },
@@ -1346,11 +1346,11 @@
1346
1346
  "hashes": [
1347
1347
  {
1348
1348
  "alg": "SHA-256",
1349
- "content": "71e0b8cb44feafb98dbb5728b6195f7c5a21e69c0cb5ce007727d6521713dbdb"
1349
+ "content": "afb6aabb94f1044694ffacf224daadfd644141d40f03ba20aa8112e3649734b9"
1350
1350
  },
1351
1351
  {
1352
1352
  "alg": "SHA3-512",
1353
- "content": "c1880f4ff85ccabda1de29769e37f79ce0413628107f344870cbadbf4379026a18402303faa98745b109ce4c192cfff10163feb78db8da9f7696182d82a1769c"
1353
+ "content": "d613ac08b4761b55dc1660bd99de46ca9dc3f0d8d3ec0e67b6fd5987098a9b580f42d3e88134c57773c4c969bacd64ee5f48b2bb43cb1445b94e6a5afa0f3bd9"
1354
1354
  }
1355
1355
  ]
1356
1356
  },
@@ -1376,11 +1376,11 @@
1376
1376
  "hashes": [
1377
1377
  {
1378
1378
  "alg": "SHA-256",
1379
- "content": "96ffa31aaa2239a597eaea9f789777cb33241d13cbd87a295573740912cb1e1a"
1379
+ "content": "e3a047373857e9da01b0f6558e57ae23a51fe28b6eabff4e8b7e1deb308a55d9"
1380
1380
  },
1381
1381
  {
1382
1382
  "alg": "SHA3-512",
1383
- "content": "dea608cddf51207d631dd3be0700ad313860750ce7f94ae3cd177b578999e499196f7a26ebc11be2524505901ab94efbda6a49ea78f8830fec9404e1bf75c67a"
1383
+ "content": "d5d3270cfc1f46b6b01e052c051faa83b573958f3a79338bce87938e47c14c953c3b8da5549f2b92a6cf8acca43414800581da17dde0dedbbd82c6e2479a1f4a"
1384
1384
  }
1385
1385
  ]
1386
1386
  },
@@ -1421,11 +1421,11 @@
1421
1421
  "hashes": [
1422
1422
  {
1423
1423
  "alg": "SHA-256",
1424
- "content": "5f313cc51bfd4f8a161c21e4bf238e7fb5d69f7525c8758dd468bc1bc953aa3f"
1424
+ "content": "be6b9c21024d9a52dd5c9f57c47780257784bb61568e5f7f083217e2fe982eb4"
1425
1425
  },
1426
1426
  {
1427
1427
  "alg": "SHA3-512",
1428
- "content": "605e96e806e7720b49d9090d72a800b97ebcd31cdca80adc09220b13635e9a5459f41436b3acbd81d8b4edac9661aeacf0f45a2601efd6f71a0037de0f527bd7"
1428
+ "content": "d503b8c2750f980eaf7a0305319dcec9baaead80f304fa231ee6308940feef2c64005cbcebde22996ce6423c06feb9f757e9e76cbc32a3d93905030428d16781"
1429
1429
  }
1430
1430
  ]
1431
1431
  },
@@ -1451,11 +1451,11 @@
1451
1451
  "hashes": [
1452
1452
  {
1453
1453
  "alg": "SHA-256",
1454
- "content": "73134c89b2d3e1f9df13570e9112cfb4014edf970eea5f8c7886871b8fd883ba"
1454
+ "content": "a491b2b6ca35d75f7d3d27696d6ae20d1ee22ade22c507de7bfcfd4bbc4d8a8d"
1455
1455
  },
1456
1456
  {
1457
1457
  "alg": "SHA3-512",
1458
- "content": "4d1002d4c5ea3e5e8f6252aeea7d6fb415028237612750532b642f0c8871d9f2c01ebcf093508e0926db7d274ab329f3c13a53913bcc418134e0847b3a5f7fc8"
1458
+ "content": "a47ecd510b73942d64d5e81ad455a38bb174609c02df5f531cbc4ace198721bbf4006c126dc1d2d640e9a202ca0b302e59f58c24dc97a9d30efb6099d1ef7da4"
1459
1459
  }
1460
1460
  ]
1461
1461
  },
@@ -1631,11 +1631,11 @@
1631
1631
  "hashes": [
1632
1632
  {
1633
1633
  "alg": "SHA-256",
1634
- "content": "38b2e79b228ff696298fb0df4f081ed99c3683d1dd5b52bbc43249d51bfa813c"
1634
+ "content": "32ac5e60da442fd25a7283711c0caf23a0363c1b8e8dee5ce79c80a5f26d45c8"
1635
1635
  },
1636
1636
  {
1637
1637
  "alg": "SHA3-512",
1638
- "content": "df56cd399c4e44dbc641e195f668e89c868c911c9f1e9eb2f85e8ea47e82427fb1267cee3f10701a767590e97fc7e17ac953d53f99312a6d6f08608810d44164"
1638
+ "content": "ed6d8990737340ab604f7354b54b2662979b5b59f853ea53e216e9b17ab6bf73fc807f1dda5bf904ccaa4081d6ae7698f0f2f326292c7bc01d56adc694d7cace"
1639
1639
  }
1640
1640
  ]
1641
1641
  },
@@ -1751,11 +1751,11 @@
1751
1751
  "hashes": [
1752
1752
  {
1753
1753
  "alg": "SHA-256",
1754
- "content": "3db842fa75688111c96edd57712b9447a3df84cb250df1e052ac45b38aff74f2"
1754
+ "content": "9dfc540e93aa24c5c61de5a568ac4ed94a21c04cddea458bb647c17ee3a4ec48"
1755
1755
  },
1756
1756
  {
1757
1757
  "alg": "SHA3-512",
1758
- "content": "7d53da7df8ba90381e5f6f8a84da49f7993d5ac066c31788714e8fc49e05c4db84e4b87f570b0fc3051c3874a3c21963f93c3fb647f4c36da5ac36b93bbd5b95"
1758
+ "content": "30f7961d052a1c680d5eb52afa18a85a669e69591f6dabd19da3c795a4dab4f87c786d852ec08020262c742001abec1c03a45194c9c81077f263749927e6ece6"
1759
1759
  }
1760
1760
  ]
1761
1761
  },
@@ -1811,11 +1811,11 @@
1811
1811
  "hashes": [
1812
1812
  {
1813
1813
  "alg": "SHA-256",
1814
- "content": "543f2e73558454af6778b24e5a6d59a5a4d8a91cbd02a18d0282e2df20803305"
1814
+ "content": "4c9ec7d070014f0e1fac5958c1c995ca708df52b7f19c2a36c60573e7629d5b4"
1815
1815
  },
1816
1816
  {
1817
1817
  "alg": "SHA3-512",
1818
- "content": "7e4a67a15658b07c63a0ac189dd8f4f15ac71b904ef9e2f392ab291bcbcf9632031402ea1f58b146ff5437698efc6f9e86c5a21c1c1ed49ddc1451fd0bf9b0f1"
1818
+ "content": "f61247ab992bfa2c7ea073a1cf550b94b0a381363b88a23d3c716b154d840d3e28f1e58358ab87b7f264c81e6cd6357fe7d5d02e9f913f9748d62d5fa3b64116"
1819
1819
  }
1820
1820
  ]
1821
1821
  },