@cyvest/cyvest-js 7.2.3 → 7.3.0

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/index.cjs CHANGED
@@ -392,7 +392,7 @@ var cyvest_schema_default = {
392
392
  "type": "object"
393
393
  },
394
394
  "FindingResult": {
395
- "description": "A finding's verdict.\n\n``own_term_suppressed`` flags that the rule's own claim was overridden by a stronger link —\na contradiction worth surfacing rather than silently dropping.\n\nThree combinations of ``(counted, score)`` are meaningful, and a consumer must not conflate\nthe last two:\n\n- ``(True, float)`` — an additive finding, a term of the total;\n- ``(False, None)`` — dismissed or not evaluated: visible, but out of the evaluation;\n- ``(True, None)`` — a conclusion (``effect`` is ``FLOOR`` or ``CEILING``): it takes part, but\n it has no magnitude of its own. Its effect is a bound on the investigation total, reported\n as a contribution of :class:`InvestigationResult`.",
395
+ "description": "A finding's verdict.\n\n``own_term_suppressed`` flags that the rule's own claim was overridden by a stronger link —\na contradiction worth surfacing rather than silently dropping.\n\nThree combinations of ``(counted, score)`` are meaningful, and a consumer must not conflate\nthe last two:\n\n- ``(True, float)`` — an additive finding with a local score;\n- ``(False, None)`` — dismissed or not evaluated: visible, but out of the evaluation;\n- ``(True, None)`` — a conclusion (``effect`` is ``FLOOR`` or ``CEILING``): it takes part, but\n it has no magnitude of its own. Its effect is a bound on the investigation total, reported\n as a contribution of :class:`InvestigationResult`.\n\n ``basic-v1`` sums local finding scores; ``basic-v2`` counts their retained fact origins\n once across the investigation.",
396
396
  "properties": {
397
397
  "key": {
398
398
  "title": "Key",
@@ -445,6 +445,27 @@ var cyvest_schema_default = {
445
445
  "default": true,
446
446
  "title": "Counted",
447
447
  "type": "boolean"
448
+ },
449
+ "contribution_score": {
450
+ "anyOf": [{ "type": "number" }, { "type": "null" }],
451
+ "default": null,
452
+ "description": "Signed credit allocated to this finding in the investigation total, including conclusion deltas. None means the producing engine or older report did not supply attribution.",
453
+ "title": "Contribution Score"
454
+ },
455
+ "contribution_status": {
456
+ "anyOf": [{
457
+ "enum": [
458
+ "credited",
459
+ "shared",
460
+ "partial",
461
+ "excluded",
462
+ "neutral"
463
+ ],
464
+ "type": "string"
465
+ }, { "type": "null" }],
466
+ "default": null,
467
+ "description": "credited: retained numeric origins (possibly cancelling to zero); shared: all numeric origins already credited; partial: some retained and some shared; excluded: not counted; neutral: no numeric effect. None means attribution is unavailable.",
468
+ "title": "Contribution Status"
448
469
  }
449
470
  },
450
471
  "required": ["key"],
@@ -1187,7 +1208,7 @@ var cyvest_schema_default = {
1187
1208
  description: "A complete serialized investigation.",
1188
1209
  properties: {
1189
1210
  "schema_version": {
1190
- "default": "7.1.0",
1211
+ "default": "7.3.0",
1191
1212
  "pattern": "^7\\.\\d+\\.\\d+$",
1192
1213
  "title": "Schema Version",
1193
1214
  "type": "string"
@@ -1233,7 +1254,7 @@ var cyvest_schema_default = {
1233
1254
  * window is the SDK's job alone; reading and judging the version first also keeps the error
1234
1255
  * message explicit instead of an opaque ajv shape error.
1235
1256
  */
1236
- const SCHEMA_VERSION = "7.1.0";
1257
+ const SCHEMA_VERSION = "7.3.0";
1237
1258
  const SEMVER = /^\d+\.\d+\.\d+$/;
1238
1259
  const ajv = new ajv_dist_2020_js.default({ allErrors: true });
1239
1260
  (0, ajv_formats.default)(ajv);
package/dist/index.d.cts CHANGED
@@ -136,6 +136,14 @@ export type Score = number | null;
136
136
  export type Contributions = Contribution[];
137
137
  export type Score1 = number | null;
138
138
  export type Contributions1 = Contribution[];
139
+ /**
140
+ * Signed credit allocated to this finding in the investigation total, including conclusion deltas. None means the producing engine or older report did not supply attribution.
141
+ */
142
+ export type ContributionScore = number | null;
143
+ /**
144
+ * credited: retained numeric origins (possibly cancelling to zero); shared: all numeric origins already credited; partial: some retained and some shared; excluded: not counted; neutral: no numeric effect. None means attribution is unavailable.
145
+ */
146
+ export type ContributionStatus = ("credited" | "shared" | "partial" | "excluded" | "neutral") | null;
139
147
  export type Score2 = number | null;
140
148
  export type Contributions2 = Contribution[];
141
149
  /**
@@ -477,11 +485,14 @@ export interface Findings1 {
477
485
  * Three combinations of ``(counted, score)`` are meaningful, and a consumer must not conflate
478
486
  * the last two:
479
487
  *
480
- * - ``(True, float)`` — an additive finding, a term of the total;
488
+ * - ``(True, float)`` — an additive finding with a local score;
481
489
  * - ``(False, None)`` — dismissed or not evaluated: visible, but out of the evaluation;
482
490
  * - ``(True, None)`` — a conclusion (``effect`` is ``FLOOR`` or ``CEILING``): it takes part, but
483
491
  * it has no magnitude of its own. Its effect is a bound on the investigation total, reported
484
492
  * as a contribution of :class:`InvestigationResult`.
493
+ *
494
+ * ``basic-v1`` sums local finding scores; ``basic-v2`` counts their retained fact origins
495
+ * once across the investigation.
485
496
  */
486
497
  export interface FindingResult {
487
498
  key: string;
@@ -495,6 +506,8 @@ export interface FindingResult {
495
506
  effect?: Effect;
496
507
  own_term_suppressed?: boolean;
497
508
  counted?: boolean;
509
+ contribution_score?: ContributionScore;
510
+ contribution_status?: ContributionStatus;
498
511
  [k: string]: unknown;
499
512
  }
500
513
  export interface Raw1 {
@@ -534,7 +547,7 @@ type FindingResult$1 = FindingResult;
534
547
  type InvestigationResult$1 = InvestigationResult;
535
548
  //#endregion
536
549
  //#region src/helpers.d.ts
537
- export declare const SCHEMA_VERSION = "7.1.0";
550
+ export declare const SCHEMA_VERSION = "7.3.0";
538
551
  /**
539
552
  * Read the declared schema version, falling back to `"5"` for anything unversioned.
540
553
  *
package/dist/index.d.ts CHANGED
@@ -136,6 +136,14 @@ export type Score = number | null;
136
136
  export type Contributions = Contribution[];
137
137
  export type Score1 = number | null;
138
138
  export type Contributions1 = Contribution[];
139
+ /**
140
+ * Signed credit allocated to this finding in the investigation total, including conclusion deltas. None means the producing engine or older report did not supply attribution.
141
+ */
142
+ export type ContributionScore = number | null;
143
+ /**
144
+ * credited: retained numeric origins (possibly cancelling to zero); shared: all numeric origins already credited; partial: some retained and some shared; excluded: not counted; neutral: no numeric effect. None means attribution is unavailable.
145
+ */
146
+ export type ContributionStatus = ("credited" | "shared" | "partial" | "excluded" | "neutral") | null;
139
147
  export type Score2 = number | null;
140
148
  export type Contributions2 = Contribution[];
141
149
  /**
@@ -477,11 +485,14 @@ export interface Findings1 {
477
485
  * Three combinations of ``(counted, score)`` are meaningful, and a consumer must not conflate
478
486
  * the last two:
479
487
  *
480
- * - ``(True, float)`` — an additive finding, a term of the total;
488
+ * - ``(True, float)`` — an additive finding with a local score;
481
489
  * - ``(False, None)`` — dismissed or not evaluated: visible, but out of the evaluation;
482
490
  * - ``(True, None)`` — a conclusion (``effect`` is ``FLOOR`` or ``CEILING``): it takes part, but
483
491
  * it has no magnitude of its own. Its effect is a bound on the investigation total, reported
484
492
  * as a contribution of :class:`InvestigationResult`.
493
+ *
494
+ * ``basic-v1`` sums local finding scores; ``basic-v2`` counts their retained fact origins
495
+ * once across the investigation.
485
496
  */
486
497
  export interface FindingResult {
487
498
  key: string;
@@ -495,6 +506,8 @@ export interface FindingResult {
495
506
  effect?: Effect;
496
507
  own_term_suppressed?: boolean;
497
508
  counted?: boolean;
509
+ contribution_score?: ContributionScore;
510
+ contribution_status?: ContributionStatus;
498
511
  [k: string]: unknown;
499
512
  }
500
513
  export interface Raw1 {
@@ -534,7 +547,7 @@ type FindingResult$1 = FindingResult;
534
547
  type InvestigationResult$1 = InvestigationResult;
535
548
  //#endregion
536
549
  //#region src/helpers.d.ts
537
- export declare const SCHEMA_VERSION = "7.1.0";
550
+ export declare const SCHEMA_VERSION = "7.3.0";
538
551
  /**
539
552
  * Read the declared schema version, falling back to `"5"` for anything unversioned.
540
553
  *
package/dist/index.js CHANGED
@@ -367,7 +367,7 @@ var cyvest_schema_default = {
367
367
  "type": "object"
368
368
  },
369
369
  "FindingResult": {
370
- "description": "A finding's verdict.\n\n``own_term_suppressed`` flags that the rule's own claim was overridden by a stronger link —\na contradiction worth surfacing rather than silently dropping.\n\nThree combinations of ``(counted, score)`` are meaningful, and a consumer must not conflate\nthe last two:\n\n- ``(True, float)`` — an additive finding, a term of the total;\n- ``(False, None)`` — dismissed or not evaluated: visible, but out of the evaluation;\n- ``(True, None)`` — a conclusion (``effect`` is ``FLOOR`` or ``CEILING``): it takes part, but\n it has no magnitude of its own. Its effect is a bound on the investigation total, reported\n as a contribution of :class:`InvestigationResult`.",
370
+ "description": "A finding's verdict.\n\n``own_term_suppressed`` flags that the rule's own claim was overridden by a stronger link —\na contradiction worth surfacing rather than silently dropping.\n\nThree combinations of ``(counted, score)`` are meaningful, and a consumer must not conflate\nthe last two:\n\n- ``(True, float)`` — an additive finding with a local score;\n- ``(False, None)`` — dismissed or not evaluated: visible, but out of the evaluation;\n- ``(True, None)`` — a conclusion (``effect`` is ``FLOOR`` or ``CEILING``): it takes part, but\n it has no magnitude of its own. Its effect is a bound on the investigation total, reported\n as a contribution of :class:`InvestigationResult`.\n\n ``basic-v1`` sums local finding scores; ``basic-v2`` counts their retained fact origins\n once across the investigation.",
371
371
  "properties": {
372
372
  "key": {
373
373
  "title": "Key",
@@ -420,6 +420,27 @@ var cyvest_schema_default = {
420
420
  "default": true,
421
421
  "title": "Counted",
422
422
  "type": "boolean"
423
+ },
424
+ "contribution_score": {
425
+ "anyOf": [{ "type": "number" }, { "type": "null" }],
426
+ "default": null,
427
+ "description": "Signed credit allocated to this finding in the investigation total, including conclusion deltas. None means the producing engine or older report did not supply attribution.",
428
+ "title": "Contribution Score"
429
+ },
430
+ "contribution_status": {
431
+ "anyOf": [{
432
+ "enum": [
433
+ "credited",
434
+ "shared",
435
+ "partial",
436
+ "excluded",
437
+ "neutral"
438
+ ],
439
+ "type": "string"
440
+ }, { "type": "null" }],
441
+ "default": null,
442
+ "description": "credited: retained numeric origins (possibly cancelling to zero); shared: all numeric origins already credited; partial: some retained and some shared; excluded: not counted; neutral: no numeric effect. None means attribution is unavailable.",
443
+ "title": "Contribution Status"
423
444
  }
424
445
  },
425
446
  "required": ["key"],
@@ -1162,7 +1183,7 @@ var cyvest_schema_default = {
1162
1183
  description: "A complete serialized investigation.",
1163
1184
  properties: {
1164
1185
  "schema_version": {
1165
- "default": "7.1.0",
1186
+ "default": "7.3.0",
1166
1187
  "pattern": "^7\\.\\d+\\.\\d+$",
1167
1188
  "title": "Schema Version",
1168
1189
  "type": "string"
@@ -1208,7 +1229,7 @@ var cyvest_schema_default = {
1208
1229
  * window is the SDK's job alone; reading and judging the version first also keeps the error
1209
1230
  * message explicit instead of an opaque ajv shape error.
1210
1231
  */
1211
- const SCHEMA_VERSION = "7.1.0";
1232
+ const SCHEMA_VERSION = "7.3.0";
1212
1233
  const SEMVER = /^\d+\.\d+\.\d+$/;
1213
1234
  const ajv = new Ajv2020({ allErrors: true });
1214
1235
  addFormats(ajv);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cyvest/cyvest-js",
3
- "version": "7.2.3",
3
+ "version": "7.3.0",
4
4
  "description": "Typed reader for Cyvest investigation documents: schema validation, fact accessors, and graph helpers.",
5
5
  "keywords": [
6
6
  "cybersecurity",