@riddledc/riddle-proof 0.7.100 → 0.7.101

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.
@@ -2399,6 +2399,22 @@ function httpStatusBodyContainsFailures(result, check) {
2399
2399
  : {};
2400
2400
  return expected.filter((text) => observed[text] !== true);
2401
2401
  }
2402
+ function httpStatusBodyNotContainsFailures(result, check) {
2403
+ const forbidden = Array.isArray(check.body_not_contains) ? check.body_not_contains.filter(Boolean) : [];
2404
+ if (!forbidden.length) return [];
2405
+ const observed = result && typeof result.body_not_contains === "object" && !Array.isArray(result.body_not_contains)
2406
+ ? result.body_not_contains
2407
+ : {};
2408
+ return forbidden.filter((text) => observed[text] !== false);
2409
+ }
2410
+ function httpStatusBodyNotPatternFailures(result, check) {
2411
+ const forbidden = Array.isArray(check.body_not_patterns) ? check.body_not_patterns.filter(Boolean) : [];
2412
+ if (!forbidden.length) return [];
2413
+ const observed = result && typeof result.body_not_patterns === "object" && !Array.isArray(result.body_not_patterns)
2414
+ ? result.body_not_patterns
2415
+ : {};
2416
+ return forbidden.filter((pattern) => observed[pattern] !== false);
2417
+ }
2402
2418
  function linkStatusResultOk(result, check) {
2403
2419
  if (!result || typeof result !== "object" || Array.isArray(result)) return false;
2404
2420
  if (!httpStatusIsAllowed(result.status, check)) return false;
@@ -2414,6 +2430,8 @@ function linkStatusResultOk(result, check) {
2414
2430
  if (observedBytes === undefined || observedBytes < check.min_bytes) return false;
2415
2431
  }
2416
2432
  if (httpStatusBodyContainsFailures(result, check).length) return false;
2433
+ if (httpStatusBodyNotContainsFailures(result, check).length) return false;
2434
+ if (httpStatusBodyNotPatternFailures(result, check).length) return false;
2417
2435
  return true;
2418
2436
  }
2419
2437
  function summarizeHttpStatusEvidence(viewport, check) {
@@ -2432,6 +2450,8 @@ function summarizeHttpStatusEvidence(viewport, check) {
2432
2450
  }
2433
2451
  const failures = [];
2434
2452
  const bodyContainsMissing = httpStatusBodyContainsFailures(statusEvidence, check);
2453
+ const bodyNotContainsFound = httpStatusBodyNotContainsFailures(statusEvidence, check);
2454
+ const bodyNotPatternsFound = httpStatusBodyNotPatternFailures(statusEvidence, check);
2435
2455
  if (!linkStatusResultOk(statusEvidence, check)) {
2436
2456
  failures.push({
2437
2457
  code: "http_status_failed",
@@ -2446,6 +2466,10 @@ function summarizeHttpStatusEvidence(viewport, check) {
2446
2466
  allowed_content_types: Array.isArray(check.allowed_content_types) ? check.allowed_content_types : null,
2447
2467
  body_contains: Array.isArray(check.body_contains) ? check.body_contains : null,
2448
2468
  body_contains_missing: bodyContainsMissing,
2469
+ body_not_contains: Array.isArray(check.body_not_contains) ? check.body_not_contains : null,
2470
+ body_not_contains_found: bodyNotContainsFound,
2471
+ body_not_patterns: Array.isArray(check.body_not_patterns) ? check.body_not_patterns : null,
2472
+ body_not_patterns_found: bodyNotPatternsFound,
2449
2473
  body_sample: typeof statusEvidence.body_sample === "string" ? statusEvidence.body_sample : null,
2450
2474
  });
2451
2475
  }
@@ -2465,6 +2489,14 @@ function summarizeHttpStatusEvidence(viewport, check) {
2465
2489
  ? statusEvidence.body_contains
2466
2490
  : null,
2467
2491
  body_contains_missing: bodyContainsMissing,
2492
+ body_not_contains: statusEvidence.body_not_contains && typeof statusEvidence.body_not_contains === "object" && !Array.isArray(statusEvidence.body_not_contains)
2493
+ ? statusEvidence.body_not_contains
2494
+ : null,
2495
+ body_not_contains_found: bodyNotContainsFound,
2496
+ body_not_patterns: statusEvidence.body_not_patterns && typeof statusEvidence.body_not_patterns === "object" && !Array.isArray(statusEvidence.body_not_patterns)
2497
+ ? statusEvidence.body_not_patterns
2498
+ : null,
2499
+ body_not_patterns_found: bodyNotPatternsFound,
2468
2500
  body_sample: typeof statusEvidence.body_sample === "string" ? statusEvidence.body_sample : null,
2469
2501
  failures,
2470
2502
  };
package/dist/cli.cjs CHANGED
@@ -9276,6 +9276,22 @@ function httpStatusBodyContainsFailures(result, check) {
9276
9276
  : {};
9277
9277
  return expected.filter((text) => observed[text] !== true);
9278
9278
  }
9279
+ function httpStatusBodyNotContainsFailures(result, check) {
9280
+ const forbidden = Array.isArray(check.body_not_contains) ? check.body_not_contains.filter(Boolean) : [];
9281
+ if (!forbidden.length) return [];
9282
+ const observed = result && typeof result.body_not_contains === "object" && !Array.isArray(result.body_not_contains)
9283
+ ? result.body_not_contains
9284
+ : {};
9285
+ return forbidden.filter((text) => observed[text] !== false);
9286
+ }
9287
+ function httpStatusBodyNotPatternFailures(result, check) {
9288
+ const forbidden = Array.isArray(check.body_not_patterns) ? check.body_not_patterns.filter(Boolean) : [];
9289
+ if (!forbidden.length) return [];
9290
+ const observed = result && typeof result.body_not_patterns === "object" && !Array.isArray(result.body_not_patterns)
9291
+ ? result.body_not_patterns
9292
+ : {};
9293
+ return forbidden.filter((pattern) => observed[pattern] !== false);
9294
+ }
9279
9295
  function linkStatusResultOk(result, check) {
9280
9296
  if (!result || typeof result !== "object" || Array.isArray(result)) return false;
9281
9297
  if (!httpStatusIsAllowed(result.status, check)) return false;
@@ -9291,6 +9307,8 @@ function linkStatusResultOk(result, check) {
9291
9307
  if (observedBytes === undefined || observedBytes < check.min_bytes) return false;
9292
9308
  }
9293
9309
  if (httpStatusBodyContainsFailures(result, check).length) return false;
9310
+ if (httpStatusBodyNotContainsFailures(result, check).length) return false;
9311
+ if (httpStatusBodyNotPatternFailures(result, check).length) return false;
9294
9312
  return true;
9295
9313
  }
9296
9314
  function summarizeHttpStatusEvidence(viewport, check) {
@@ -9309,6 +9327,8 @@ function summarizeHttpStatusEvidence(viewport, check) {
9309
9327
  }
9310
9328
  const failures = [];
9311
9329
  const bodyContainsMissing = httpStatusBodyContainsFailures(statusEvidence, check);
9330
+ const bodyNotContainsFound = httpStatusBodyNotContainsFailures(statusEvidence, check);
9331
+ const bodyNotPatternsFound = httpStatusBodyNotPatternFailures(statusEvidence, check);
9312
9332
  if (!linkStatusResultOk(statusEvidence, check)) {
9313
9333
  failures.push({
9314
9334
  code: "http_status_failed",
@@ -9323,6 +9343,10 @@ function summarizeHttpStatusEvidence(viewport, check) {
9323
9343
  allowed_content_types: Array.isArray(check.allowed_content_types) ? check.allowed_content_types : null,
9324
9344
  body_contains: Array.isArray(check.body_contains) ? check.body_contains : null,
9325
9345
  body_contains_missing: bodyContainsMissing,
9346
+ body_not_contains: Array.isArray(check.body_not_contains) ? check.body_not_contains : null,
9347
+ body_not_contains_found: bodyNotContainsFound,
9348
+ body_not_patterns: Array.isArray(check.body_not_patterns) ? check.body_not_patterns : null,
9349
+ body_not_patterns_found: bodyNotPatternsFound,
9326
9350
  body_sample: typeof statusEvidence.body_sample === "string" ? statusEvidence.body_sample : null,
9327
9351
  });
9328
9352
  }
@@ -9342,6 +9366,14 @@ function summarizeHttpStatusEvidence(viewport, check) {
9342
9366
  ? statusEvidence.body_contains
9343
9367
  : null,
9344
9368
  body_contains_missing: bodyContainsMissing,
9369
+ body_not_contains: statusEvidence.body_not_contains && typeof statusEvidence.body_not_contains === "object" && !Array.isArray(statusEvidence.body_not_contains)
9370
+ ? statusEvidence.body_not_contains
9371
+ : null,
9372
+ body_not_contains_found: bodyNotContainsFound,
9373
+ body_not_patterns: statusEvidence.body_not_patterns && typeof statusEvidence.body_not_patterns === "object" && !Array.isArray(statusEvidence.body_not_patterns)
9374
+ ? statusEvidence.body_not_patterns
9375
+ : null,
9376
+ body_not_patterns_found: bodyNotPatternsFound,
9345
9377
  body_sample: typeof statusEvidence.body_sample === "string" ? statusEvidence.body_sample : null,
9346
9378
  failures,
9347
9379
  };
package/dist/cli.js CHANGED
@@ -10,7 +10,7 @@ import {
10
10
  profileStatusExitCode,
11
11
  resolveRiddleProofProfileTargetUrl,
12
12
  resolveRiddleProofProfileTimeoutSec
13
- } from "./chunk-TRNLSX3U.js";
13
+ } from "./chunk-7FQU5UH7.js";
14
14
  import {
15
15
  createRiddleApiClient,
16
16
  parseRiddleViewport
package/dist/index.cjs CHANGED
@@ -11128,6 +11128,22 @@ function httpStatusBodyContainsFailures(result, check) {
11128
11128
  : {};
11129
11129
  return expected.filter((text) => observed[text] !== true);
11130
11130
  }
11131
+ function httpStatusBodyNotContainsFailures(result, check) {
11132
+ const forbidden = Array.isArray(check.body_not_contains) ? check.body_not_contains.filter(Boolean) : [];
11133
+ if (!forbidden.length) return [];
11134
+ const observed = result && typeof result.body_not_contains === "object" && !Array.isArray(result.body_not_contains)
11135
+ ? result.body_not_contains
11136
+ : {};
11137
+ return forbidden.filter((text) => observed[text] !== false);
11138
+ }
11139
+ function httpStatusBodyNotPatternFailures(result, check) {
11140
+ const forbidden = Array.isArray(check.body_not_patterns) ? check.body_not_patterns.filter(Boolean) : [];
11141
+ if (!forbidden.length) return [];
11142
+ const observed = result && typeof result.body_not_patterns === "object" && !Array.isArray(result.body_not_patterns)
11143
+ ? result.body_not_patterns
11144
+ : {};
11145
+ return forbidden.filter((pattern) => observed[pattern] !== false);
11146
+ }
11131
11147
  function linkStatusResultOk(result, check) {
11132
11148
  if (!result || typeof result !== "object" || Array.isArray(result)) return false;
11133
11149
  if (!httpStatusIsAllowed(result.status, check)) return false;
@@ -11143,6 +11159,8 @@ function linkStatusResultOk(result, check) {
11143
11159
  if (observedBytes === undefined || observedBytes < check.min_bytes) return false;
11144
11160
  }
11145
11161
  if (httpStatusBodyContainsFailures(result, check).length) return false;
11162
+ if (httpStatusBodyNotContainsFailures(result, check).length) return false;
11163
+ if (httpStatusBodyNotPatternFailures(result, check).length) return false;
11146
11164
  return true;
11147
11165
  }
11148
11166
  function summarizeHttpStatusEvidence(viewport, check) {
@@ -11161,6 +11179,8 @@ function summarizeHttpStatusEvidence(viewport, check) {
11161
11179
  }
11162
11180
  const failures = [];
11163
11181
  const bodyContainsMissing = httpStatusBodyContainsFailures(statusEvidence, check);
11182
+ const bodyNotContainsFound = httpStatusBodyNotContainsFailures(statusEvidence, check);
11183
+ const bodyNotPatternsFound = httpStatusBodyNotPatternFailures(statusEvidence, check);
11164
11184
  if (!linkStatusResultOk(statusEvidence, check)) {
11165
11185
  failures.push({
11166
11186
  code: "http_status_failed",
@@ -11175,6 +11195,10 @@ function summarizeHttpStatusEvidence(viewport, check) {
11175
11195
  allowed_content_types: Array.isArray(check.allowed_content_types) ? check.allowed_content_types : null,
11176
11196
  body_contains: Array.isArray(check.body_contains) ? check.body_contains : null,
11177
11197
  body_contains_missing: bodyContainsMissing,
11198
+ body_not_contains: Array.isArray(check.body_not_contains) ? check.body_not_contains : null,
11199
+ body_not_contains_found: bodyNotContainsFound,
11200
+ body_not_patterns: Array.isArray(check.body_not_patterns) ? check.body_not_patterns : null,
11201
+ body_not_patterns_found: bodyNotPatternsFound,
11178
11202
  body_sample: typeof statusEvidence.body_sample === "string" ? statusEvidence.body_sample : null,
11179
11203
  });
11180
11204
  }
@@ -11194,6 +11218,14 @@ function summarizeHttpStatusEvidence(viewport, check) {
11194
11218
  ? statusEvidence.body_contains
11195
11219
  : null,
11196
11220
  body_contains_missing: bodyContainsMissing,
11221
+ body_not_contains: statusEvidence.body_not_contains && typeof statusEvidence.body_not_contains === "object" && !Array.isArray(statusEvidence.body_not_contains)
11222
+ ? statusEvidence.body_not_contains
11223
+ : null,
11224
+ body_not_contains_found: bodyNotContainsFound,
11225
+ body_not_patterns: statusEvidence.body_not_patterns && typeof statusEvidence.body_not_patterns === "object" && !Array.isArray(statusEvidence.body_not_patterns)
11226
+ ? statusEvidence.body_not_patterns
11227
+ : null,
11228
+ body_not_patterns_found: bodyNotPatternsFound,
11197
11229
  body_sample: typeof statusEvidence.body_sample === "string" ? statusEvidence.body_sample : null,
11198
11230
  failures,
11199
11231
  };
package/dist/index.js CHANGED
@@ -58,7 +58,7 @@ import {
58
58
  resolveRiddleProofProfileTimeoutSec,
59
59
  slugifyRiddleProofProfileName,
60
60
  summarizeRiddleProofProfileResult
61
- } from "./chunk-TRNLSX3U.js";
61
+ } from "./chunk-7FQU5UH7.js";
62
62
  import {
63
63
  DEFAULT_RIDDLE_API_BASE_URL,
64
64
  DEFAULT_RIDDLE_API_KEY_FILE,
package/dist/profile.cjs CHANGED
@@ -2442,6 +2442,22 @@ function httpStatusBodyContainsFailures(result, check) {
2442
2442
  : {};
2443
2443
  return expected.filter((text) => observed[text] !== true);
2444
2444
  }
2445
+ function httpStatusBodyNotContainsFailures(result, check) {
2446
+ const forbidden = Array.isArray(check.body_not_contains) ? check.body_not_contains.filter(Boolean) : [];
2447
+ if (!forbidden.length) return [];
2448
+ const observed = result && typeof result.body_not_contains === "object" && !Array.isArray(result.body_not_contains)
2449
+ ? result.body_not_contains
2450
+ : {};
2451
+ return forbidden.filter((text) => observed[text] !== false);
2452
+ }
2453
+ function httpStatusBodyNotPatternFailures(result, check) {
2454
+ const forbidden = Array.isArray(check.body_not_patterns) ? check.body_not_patterns.filter(Boolean) : [];
2455
+ if (!forbidden.length) return [];
2456
+ const observed = result && typeof result.body_not_patterns === "object" && !Array.isArray(result.body_not_patterns)
2457
+ ? result.body_not_patterns
2458
+ : {};
2459
+ return forbidden.filter((pattern) => observed[pattern] !== false);
2460
+ }
2445
2461
  function linkStatusResultOk(result, check) {
2446
2462
  if (!result || typeof result !== "object" || Array.isArray(result)) return false;
2447
2463
  if (!httpStatusIsAllowed(result.status, check)) return false;
@@ -2457,6 +2473,8 @@ function linkStatusResultOk(result, check) {
2457
2473
  if (observedBytes === undefined || observedBytes < check.min_bytes) return false;
2458
2474
  }
2459
2475
  if (httpStatusBodyContainsFailures(result, check).length) return false;
2476
+ if (httpStatusBodyNotContainsFailures(result, check).length) return false;
2477
+ if (httpStatusBodyNotPatternFailures(result, check).length) return false;
2460
2478
  return true;
2461
2479
  }
2462
2480
  function summarizeHttpStatusEvidence(viewport, check) {
@@ -2475,6 +2493,8 @@ function summarizeHttpStatusEvidence(viewport, check) {
2475
2493
  }
2476
2494
  const failures = [];
2477
2495
  const bodyContainsMissing = httpStatusBodyContainsFailures(statusEvidence, check);
2496
+ const bodyNotContainsFound = httpStatusBodyNotContainsFailures(statusEvidence, check);
2497
+ const bodyNotPatternsFound = httpStatusBodyNotPatternFailures(statusEvidence, check);
2478
2498
  if (!linkStatusResultOk(statusEvidence, check)) {
2479
2499
  failures.push({
2480
2500
  code: "http_status_failed",
@@ -2489,6 +2509,10 @@ function summarizeHttpStatusEvidence(viewport, check) {
2489
2509
  allowed_content_types: Array.isArray(check.allowed_content_types) ? check.allowed_content_types : null,
2490
2510
  body_contains: Array.isArray(check.body_contains) ? check.body_contains : null,
2491
2511
  body_contains_missing: bodyContainsMissing,
2512
+ body_not_contains: Array.isArray(check.body_not_contains) ? check.body_not_contains : null,
2513
+ body_not_contains_found: bodyNotContainsFound,
2514
+ body_not_patterns: Array.isArray(check.body_not_patterns) ? check.body_not_patterns : null,
2515
+ body_not_patterns_found: bodyNotPatternsFound,
2492
2516
  body_sample: typeof statusEvidence.body_sample === "string" ? statusEvidence.body_sample : null,
2493
2517
  });
2494
2518
  }
@@ -2508,6 +2532,14 @@ function summarizeHttpStatusEvidence(viewport, check) {
2508
2532
  ? statusEvidence.body_contains
2509
2533
  : null,
2510
2534
  body_contains_missing: bodyContainsMissing,
2535
+ body_not_contains: statusEvidence.body_not_contains && typeof statusEvidence.body_not_contains === "object" && !Array.isArray(statusEvidence.body_not_contains)
2536
+ ? statusEvidence.body_not_contains
2537
+ : null,
2538
+ body_not_contains_found: bodyNotContainsFound,
2539
+ body_not_patterns: statusEvidence.body_not_patterns && typeof statusEvidence.body_not_patterns === "object" && !Array.isArray(statusEvidence.body_not_patterns)
2540
+ ? statusEvidence.body_not_patterns
2541
+ : null,
2542
+ body_not_patterns_found: bodyNotPatternsFound,
2511
2543
  body_sample: typeof statusEvidence.body_sample === "string" ? statusEvidence.body_sample : null,
2512
2544
  failures,
2513
2545
  };
package/dist/profile.js CHANGED
@@ -19,7 +19,7 @@ import {
19
19
  resolveRiddleProofProfileTimeoutSec,
20
20
  slugifyRiddleProofProfileName,
21
21
  summarizeRiddleProofProfileResult
22
- } from "./chunk-TRNLSX3U.js";
22
+ } from "./chunk-7FQU5UH7.js";
23
23
  export {
24
24
  RIDDLE_PROOF_PROFILE_CHECK_TYPES,
25
25
  RIDDLE_PROOF_PROFILE_EVIDENCE_VERSION,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@riddledc/riddle-proof",
3
- "version": "0.7.100",
3
+ "version": "0.7.101",
4
4
  "description": "Reusable Riddle Proof contracts and helpers for evidence-backed agent changes.",
5
5
  "license": "MIT",
6
6
  "author": "RiddleDC",