@nvisy/sdk 0.41.0 → 0.43.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/CHANGELOG.md +31 -1
- package/dist/{client-CmoKiYBW.d.ts → client-Du3O1Zab.d.ts} +6 -6
- package/dist/{client-CmoKiYBW.d.ts.map → client-Du3O1Zab.d.ts.map} +1 -1
- package/dist/datatypes/index.d.ts +2 -2
- package/dist/{error-D0ZutHVP.js → error-CNeCiQVZ.js} +2 -2
- package/dist/{error-D0ZutHVP.js.map → error-CNeCiQVZ.js.map} +1 -1
- package/dist/{errors-B0cfPrDB.d.ts → errors-KIh_I_a6.d.ts} +2 -2
- package/dist/{errors-B0cfPrDB.d.ts.map → errors-KIh_I_a6.d.ts.map} +1 -1
- package/dist/{index-Co9cILnx.d.ts → index-DiwyTpoq.d.ts} +256 -188
- package/dist/{index-Co9cILnx.d.ts.map → index-DiwyTpoq.d.ts.map} +1 -1
- package/dist/index.d.ts +3 -3
- package/dist/index.js +2 -2
- package/dist/services/index.d.ts +1 -1
- package/dist/services/index.js +1 -1
- package/dist/{services-DIm-mBQR.js → services-BUHecjRT.js} +5 -5
- package/dist/services-BUHecjRT.js.map +1 -0
- package/dist/standalone/index.d.ts +1 -1
- package/dist/standalone/index.js +1 -1
- package/dist/webhooks/index.d.ts +2 -2
- package/package.json +3 -3
- package/dist/services-DIm-mBQR.js.map +0 -1
|
@@ -5976,7 +5976,7 @@ interface paths {
|
|
|
5976
5976
|
};
|
|
5977
5977
|
/**
|
|
5978
5978
|
* Get detection intermediates
|
|
5979
|
-
* @description Returns the detection's enrichment intermediates — an image's OCR layout, an audio clip's transcript, or tokenized text — as `
|
|
5979
|
+
* @description Returns the detection's enrichment intermediates — an image's OCR layout, an audio clip's transcript, or tokenized text — as an object with a `parts` list, each part carrying its path `id`, `modality`, and the extracted `artifact`, so a client can search the content and add entities the analysis missed. A detection whose analysis ran no enricher has no intermediates (404).
|
|
5980
5980
|
*/
|
|
5981
5981
|
get: {
|
|
5982
5982
|
parameters: {
|
|
@@ -9541,48 +9541,33 @@ interface components {
|
|
|
9541
9541
|
token: string;
|
|
9542
9542
|
};
|
|
9543
9543
|
ArtifactSet: {
|
|
9544
|
-
|
|
9544
|
+
parts: ({
|
|
9545
9545
|
artifact: components["schemas"]["Tokens"];
|
|
9546
|
+
id: string[];
|
|
9546
9547
|
/** @constant */
|
|
9547
9548
|
modality: "text";
|
|
9548
9549
|
} | {
|
|
9549
9550
|
artifact: components["schemas"]["Layout"];
|
|
9551
|
+
id: string[];
|
|
9550
9552
|
/** @constant */
|
|
9551
9553
|
modality: "image";
|
|
9552
9554
|
} | {
|
|
9553
9555
|
artifact: components["schemas"]["Transcription"];
|
|
9556
|
+
id: string[];
|
|
9554
9557
|
/** @constant */
|
|
9555
9558
|
modality: "audio";
|
|
9556
9559
|
} | {
|
|
9557
9560
|
artifact: components["schemas"]["Tokens"];
|
|
9561
|
+
id: string[];
|
|
9558
9562
|
/** @constant */
|
|
9559
9563
|
modality: "tabular";
|
|
9560
|
-
})
|
|
9561
|
-
parts: {
|
|
9562
|
-
[key: string]: {
|
|
9563
|
-
artifact: components["schemas"]["Tokens"];
|
|
9564
|
-
/** @constant */
|
|
9565
|
-
modality: "text";
|
|
9566
|
-
} | {
|
|
9567
|
-
artifact: components["schemas"]["Layout"];
|
|
9568
|
-
/** @constant */
|
|
9569
|
-
modality: "image";
|
|
9570
|
-
} | {
|
|
9571
|
-
artifact: components["schemas"]["Transcription"];
|
|
9572
|
-
/** @constant */
|
|
9573
|
-
modality: "audio";
|
|
9574
|
-
} | {
|
|
9575
|
-
artifact: components["schemas"]["Tokens"];
|
|
9576
|
-
/** @constant */
|
|
9577
|
-
modality: "tabular";
|
|
9578
|
-
};
|
|
9579
|
-
};
|
|
9564
|
+
})[];
|
|
9580
9565
|
};
|
|
9581
9566
|
/**
|
|
9582
9567
|
* @description Author-supplied rationale for a redaction: *under what authority* it was made.
|
|
9583
9568
|
*
|
|
9584
9569
|
* Where the matched selection rule answers *which rule fired*, an
|
|
9585
|
-
* `Attribution` answers *why the policy demanded it
|
|
9570
|
+
* `Attribution` answers *why the policy demanded it*, a compliance clause, an
|
|
9586
9571
|
* internal policy, a data-handling rule. A policy author attaches it to a
|
|
9587
9572
|
* selection rule (`Rule::because` in `elide-redaction`); the anonymizer records
|
|
9588
9573
|
* it on the entity's [`Redaction`] event so an audit can trace a change back to
|
|
@@ -9629,31 +9614,42 @@ interface components {
|
|
|
9629
9614
|
/** @description What the reviewer says this is. */
|
|
9630
9615
|
label: components["schemas"]["LabelRef"];
|
|
9631
9616
|
/**
|
|
9632
|
-
* @description Where it sits, in the coordinates of the
|
|
9617
|
+
* @description Where it sits, in the coordinates of the part it joins.
|
|
9618
|
+
*
|
|
9619
|
+
* Each medium addresses its own way: text a character range
|
|
9620
|
+
* over the decoded stream, images a bounding box, audio a time
|
|
9621
|
+
* span, tabular a row and column. A DOCX's
|
|
9622
|
+
* `word/document.xml` text belongs to the document part
|
|
9623
|
+
* itself, not to a nested one.
|
|
9633
9624
|
*
|
|
9634
|
-
* For text
|
|
9635
|
-
*
|
|
9636
|
-
*
|
|
9637
|
-
*
|
|
9638
|
-
*
|
|
9639
|
-
*
|
|
9625
|
+
* For text specifically, a caller holding raw file bytes
|
|
9626
|
+
* rather than a decoded offset — a reviewer selecting rendered
|
|
9627
|
+
* text, say — leaves [`TextLocation::range`] empty and fills
|
|
9628
|
+
* [`TextLocation::source`] instead, which the engine
|
|
9629
|
+
* reverse-resolves. The other three have no such alternative:
|
|
9630
|
+
* their coordinates are the only way in.
|
|
9640
9631
|
*
|
|
9632
|
+
* [`TextLocation::range`]: elide::modality::text::TextLocation::range
|
|
9641
9633
|
* [`TextLocation::source`]: elide::modality::text::TextLocation::source
|
|
9642
9634
|
*/
|
|
9643
9635
|
location: components["schemas"]["AudioLocation"];
|
|
9644
9636
|
/**
|
|
9645
|
-
* @description The
|
|
9646
|
-
* `"word/media/image1.png"
|
|
9637
|
+
* @description The part this belongs to, as a path: `["report.docx"]` for
|
|
9638
|
+
* the document itself, `["report.docx", "word/media/image1.png"]`
|
|
9639
|
+
* for media it embeds. `None` means the request's sole
|
|
9640
|
+
* document, which is the common case and saves a caller
|
|
9641
|
+
* naming what it already sent.
|
|
9647
9642
|
*
|
|
9648
|
-
*
|
|
9649
|
-
* its own
|
|
9650
|
-
*
|
|
9643
|
+
* Nested media needs this: the report holds an embedded image
|
|
9644
|
+
* as its own part, and an addition to one has nowhere to go
|
|
9645
|
+
* without naming it. Text usually does not — where a span came
|
|
9646
|
+
* from is already in `TextLocation::source`, which carries the
|
|
9647
|
+
* part alongside the raw range.
|
|
9651
9648
|
*
|
|
9652
|
-
*
|
|
9653
|
-
*
|
|
9654
|
-
* which carries the part alongside the raw range.
|
|
9649
|
+
* `None` is an error when the request carried several
|
|
9650
|
+
* documents, since there is then no sole document to mean.
|
|
9655
9651
|
*/
|
|
9656
|
-
part?: string;
|
|
9652
|
+
part?: string[];
|
|
9657
9653
|
/** @description The rationale, when one was given. */
|
|
9658
9654
|
reason?: string;
|
|
9659
9655
|
};
|
|
@@ -9839,13 +9835,13 @@ interface components {
|
|
|
9839
9835
|
*
|
|
9840
9836
|
* Carries the encoded audio bytes; an optional filename aids diagnostics
|
|
9841
9837
|
* and encoding inference (the container format a decoder should expect).
|
|
9842
|
-
* The recognizable text
|
|
9838
|
+
* The recognizable text, a timestamped transcript, is *not* held here;
|
|
9843
9839
|
* a speech-to-text [`Enricher`] stamps it onto the call's
|
|
9844
9840
|
* [`artifact`], keeping
|
|
9845
9841
|
* `AudioData` the codec's payload alone.
|
|
9846
9842
|
*
|
|
9847
9843
|
* [`Audio`]: super::Audio
|
|
9848
|
-
* [`Enricher`]: crate::
|
|
9844
|
+
* [`Enricher`]: crate::enrichment::Enricher
|
|
9849
9845
|
* [`artifact`]: crate::recognition::RecognizerContext::artifact
|
|
9850
9846
|
*/
|
|
9851
9847
|
AudioData: {
|
|
@@ -9899,7 +9895,7 @@ interface components {
|
|
|
9899
9895
|
* @description Tamper-evident audit trail: every contributing detection, the fusion
|
|
9900
9896
|
* event if any, and the redaction that hid it, as a hash-linked DAG. It is
|
|
9901
9897
|
* also the single source of truth for whether a reviewer
|
|
9902
|
-
* [suppressed](Self::is_suppressed) the entity
|
|
9898
|
+
* [suppressed](Self::is_suppressed) the entity, a suppression is a
|
|
9903
9899
|
* [`Manual`] event on this trail, not a separate flag.
|
|
9904
9900
|
*
|
|
9905
9901
|
* [`Manual`]: crate::entity::audit::AuditKind::Manual
|
|
@@ -9936,7 +9932,7 @@ interface components {
|
|
|
9936
9932
|
location: components["schemas"]["AudioLocation"];
|
|
9937
9933
|
/**
|
|
9938
9934
|
* @description Byte range of the match in the *recognized text* it was found in (the
|
|
9939
|
-
* OCR layout text, the audio transcript, or the text payload itself)
|
|
9935
|
+
* OCR layout text, the audio transcript, or the text payload itself),
|
|
9940
9936
|
* the stable key back into that enrichment artifact, where the rich
|
|
9941
9937
|
* context lives (which OCR block, which speaker) that the geometric
|
|
9942
9938
|
* [`location`] cannot hold. `None` for entities not found via text
|
|
@@ -9952,11 +9948,11 @@ interface components {
|
|
|
9952
9948
|
* for a nearby value.
|
|
9953
9949
|
*
|
|
9954
9950
|
* Out-of-band by nature: a hint is *not* a sub-span of the value it
|
|
9955
|
-
* informs
|
|
9951
|
+
* informs; it lives elsewhere in the source (a table's column header, a
|
|
9956
9952
|
* JSON object key, a log field name). So `location` points at where the
|
|
9957
9953
|
* hint text actually sits, and `data` is the hint text itself. Carrying
|
|
9958
9954
|
* the location (rather than a bare string) lets a confidence boost record
|
|
9959
|
-
* *which* hint lifted a score and *where* it came from
|
|
9955
|
+
* *which* hint lifted a score and *where* it came from, provenance a
|
|
9960
9956
|
* review consumer can resolve back to the document.
|
|
9961
9957
|
*
|
|
9962
9958
|
* Mirrors [`Entity`]'s `location` + `data` shape, so the same
|
|
@@ -9990,7 +9986,7 @@ interface components {
|
|
|
9990
9986
|
/**
|
|
9991
9987
|
* @description A human override, outside automatic detection: an entity a reviewer added by
|
|
9992
9988
|
* hand, or a detected one they marked to ignore. Its provenance is a person's
|
|
9993
|
-
* decision, not a recognizer's
|
|
9989
|
+
* decision, not a recognizer's, so the trail records *why* (an
|
|
9994
9990
|
* [`Attribution`], when supplied). *Who* made the override is the event's
|
|
9995
9991
|
* [`source`], not a payload field.
|
|
9996
9992
|
*
|
|
@@ -10006,7 +10002,7 @@ interface components {
|
|
|
10006
10002
|
/**
|
|
10007
10003
|
* @description Which human decision this records: including a missed entity, or
|
|
10008
10004
|
* suppressing a detected one. This is the authority on whether the entity
|
|
10009
|
-
* is redacted
|
|
10005
|
+
* is redacted, [`AuditLog::is_suppressed`] reads it, so there is no
|
|
10010
10006
|
* separate flag to keep in sync.
|
|
10011
10007
|
*
|
|
10012
10008
|
* [`AuditLog::is_suppressed`]: crate::entity::audit::AuditLog::is_suppressed
|
|
@@ -10172,16 +10168,18 @@ interface components {
|
|
|
10172
10168
|
*/
|
|
10173
10169
|
context: components["schemas"]["DocumentContext"];
|
|
10174
10170
|
/**
|
|
10175
|
-
* @description The detections: elide's own report,
|
|
10176
|
-
* parts, each entity carrying its provenance
|
|
10171
|
+
* @description The detections: elide's own report, every document and the
|
|
10172
|
+
* parts nested in one, each entity carrying its provenance
|
|
10173
|
+
* chain.
|
|
10177
10174
|
*
|
|
10178
|
-
* Edit it through [`Report`]'s own API — [`
|
|
10179
|
-
* [`
|
|
10175
|
+
* Edit it through [`Report`]'s own API — [`include_part`],
|
|
10176
|
+
* [`suppress_part`], [`part_entities`] — for the decisions
|
|
10177
|
+
* elide models.
|
|
10180
10178
|
*
|
|
10181
10179
|
* [`Report`]: elide::Report
|
|
10182
|
-
* [`
|
|
10183
|
-
* [`
|
|
10184
|
-
* [`
|
|
10180
|
+
* [`include_part`]: elide::Report::include_part
|
|
10181
|
+
* [`suppress_part`]: elide::Report::suppress_part
|
|
10182
|
+
* [`part_entities`]: elide::Report::part_entities
|
|
10185
10183
|
*/
|
|
10186
10184
|
report: components["schemas"]["Report"];
|
|
10187
10185
|
/**
|
|
@@ -10511,7 +10509,7 @@ interface components {
|
|
|
10511
10509
|
ConfidenceThreshold: number;
|
|
10512
10510
|
/**
|
|
10513
10511
|
* @description A competing detection of a *different* label over the same span was resolved
|
|
10514
|
-
* against this (winning) entity
|
|
10512
|
+
* against this (winning) entity, the loser is recorded, not dropped.
|
|
10515
10513
|
*/
|
|
10516
10514
|
Conflict: {
|
|
10517
10515
|
/** @description The loser's confidence at resolution time. */
|
|
@@ -10927,7 +10925,7 @@ interface components {
|
|
|
10927
10925
|
* @description The coarseness a [`GeneralizeDate`] reduces a date/timestamp to.
|
|
10928
10926
|
*
|
|
10929
10927
|
* Every rendering is an ISO-8601 form, so the output is locale-independent
|
|
10930
|
-
* by construction
|
|
10928
|
+
* by construction, no localized month names or week markers to configure.
|
|
10931
10929
|
*/
|
|
10932
10930
|
DateGranularity: "year" | "year_month" | "hour";
|
|
10933
10931
|
/**
|
|
@@ -10959,6 +10957,27 @@ interface components {
|
|
|
10959
10957
|
*/
|
|
10960
10958
|
to?: string;
|
|
10961
10959
|
};
|
|
10960
|
+
/**
|
|
10961
|
+
* @description A decoded byte range and the raw source it decodes from.
|
|
10962
|
+
*
|
|
10963
|
+
* The `range` is a half-open `[start, end)` span in the decoded text stream.
|
|
10964
|
+
* `source` carries the exact raw byte range(s) that span came from for codecs
|
|
10965
|
+
* whose decoded text differs from the source (XML/HTML/DOCX entity decoding,
|
|
10966
|
+
* JSON escapes); it is empty when the source equals the decoded text.
|
|
10967
|
+
*/
|
|
10968
|
+
DecodedSpan: {
|
|
10969
|
+
/** @description Byte range within the (decoded) text content. */
|
|
10970
|
+
range: components["schemas"]["Range_of_uint"];
|
|
10971
|
+
/**
|
|
10972
|
+
* @description The exact raw source ranges this decoded span came from. Empty when the
|
|
10973
|
+
* source equals the decoded text.
|
|
10974
|
+
*
|
|
10975
|
+
* Usually one range; a reconciled span that fused several source runs (or a
|
|
10976
|
+
* span crossing an escape) carries several, kept distinct rather than merged
|
|
10977
|
+
* across gaps. Sorted, deduplicated.
|
|
10978
|
+
*/
|
|
10979
|
+
source?: components["schemas"]["SourceRef"][];
|
|
10980
|
+
};
|
|
10962
10981
|
/** @description Several detections were fused into one entity. */
|
|
10963
10982
|
Deduplication: {
|
|
10964
10983
|
/** @description Name of the fusion strategy that combined them. */
|
|
@@ -11606,31 +11625,42 @@ interface components {
|
|
|
11606
11625
|
/** @description What the reviewer says this is. */
|
|
11607
11626
|
label: components["schemas"]["LabelRef"];
|
|
11608
11627
|
/**
|
|
11609
|
-
* @description Where it sits, in the coordinates of the
|
|
11628
|
+
* @description Where it sits, in the coordinates of the part it joins.
|
|
11629
|
+
*
|
|
11630
|
+
* Each medium addresses its own way: text a character range
|
|
11631
|
+
* over the decoded stream, images a bounding box, audio a time
|
|
11632
|
+
* span, tabular a row and column. A DOCX's
|
|
11633
|
+
* `word/document.xml` text belongs to the document part
|
|
11634
|
+
* itself, not to a nested one.
|
|
11610
11635
|
*
|
|
11611
|
-
* For text
|
|
11612
|
-
*
|
|
11613
|
-
*
|
|
11614
|
-
*
|
|
11615
|
-
*
|
|
11616
|
-
*
|
|
11636
|
+
* For text specifically, a caller holding raw file bytes
|
|
11637
|
+
* rather than a decoded offset — a reviewer selecting rendered
|
|
11638
|
+
* text, say — leaves [`TextLocation::range`] empty and fills
|
|
11639
|
+
* [`TextLocation::source`] instead, which the engine
|
|
11640
|
+
* reverse-resolves. The other three have no such alternative:
|
|
11641
|
+
* their coordinates are the only way in.
|
|
11617
11642
|
*
|
|
11643
|
+
* [`TextLocation::range`]: elide::modality::text::TextLocation::range
|
|
11618
11644
|
* [`TextLocation::source`]: elide::modality::text::TextLocation::source
|
|
11619
11645
|
*/
|
|
11620
11646
|
location: components["schemas"]["ImageLocation"];
|
|
11621
11647
|
/**
|
|
11622
|
-
* @description The
|
|
11623
|
-
* `"word/media/image1.png"
|
|
11648
|
+
* @description The part this belongs to, as a path: `["report.docx"]` for
|
|
11649
|
+
* the document itself, `["report.docx", "word/media/image1.png"]`
|
|
11650
|
+
* for media it embeds. `None` means the request's sole
|
|
11651
|
+
* document, which is the common case and saves a caller
|
|
11652
|
+
* naming what it already sent.
|
|
11624
11653
|
*
|
|
11625
|
-
*
|
|
11626
|
-
* its own
|
|
11627
|
-
*
|
|
11654
|
+
* Nested media needs this: the report holds an embedded image
|
|
11655
|
+
* as its own part, and an addition to one has nowhere to go
|
|
11656
|
+
* without naming it. Text usually does not — where a span came
|
|
11657
|
+
* from is already in `TextLocation::source`, which carries the
|
|
11658
|
+
* part alongside the raw range.
|
|
11628
11659
|
*
|
|
11629
|
-
*
|
|
11630
|
-
*
|
|
11631
|
-
* which carries the part alongside the raw range.
|
|
11660
|
+
* `None` is an error when the request carried several
|
|
11661
|
+
* documents, since there is then no sole document to mean.
|
|
11632
11662
|
*/
|
|
11633
|
-
part?: string;
|
|
11663
|
+
part?: string[];
|
|
11634
11664
|
/** @description The rationale, when one was given. */
|
|
11635
11665
|
reason?: string;
|
|
11636
11666
|
};
|
|
@@ -11874,7 +11904,7 @@ interface components {
|
|
|
11874
11904
|
* @description Tamper-evident audit trail: every contributing detection, the fusion
|
|
11875
11905
|
* event if any, and the redaction that hid it, as a hash-linked DAG. It is
|
|
11876
11906
|
* also the single source of truth for whether a reviewer
|
|
11877
|
-
* [suppressed](Self::is_suppressed) the entity
|
|
11907
|
+
* [suppressed](Self::is_suppressed) the entity, a suppression is a
|
|
11878
11908
|
* [`Manual`] event on this trail, not a separate flag.
|
|
11879
11909
|
*
|
|
11880
11910
|
* [`Manual`]: crate::entity::audit::AuditKind::Manual
|
|
@@ -11911,7 +11941,7 @@ interface components {
|
|
|
11911
11941
|
location: components["schemas"]["ImageLocation"];
|
|
11912
11942
|
/**
|
|
11913
11943
|
* @description Byte range of the match in the *recognized text* it was found in (the
|
|
11914
|
-
* OCR layout text, the audio transcript, or the text payload itself)
|
|
11944
|
+
* OCR layout text, the audio transcript, or the text payload itself),
|
|
11915
11945
|
* the stable key back into that enrichment artifact, where the rich
|
|
11916
11946
|
* context lives (which OCR block, which speaker) that the geometric
|
|
11917
11947
|
* [`location`] cannot hold. `None` for entities not found via text
|
|
@@ -11927,11 +11957,11 @@ interface components {
|
|
|
11927
11957
|
* for a nearby value.
|
|
11928
11958
|
*
|
|
11929
11959
|
* Out-of-band by nature: a hint is *not* a sub-span of the value it
|
|
11930
|
-
* informs
|
|
11960
|
+
* informs; it lives elsewhere in the source (a table's column header, a
|
|
11931
11961
|
* JSON object key, a log field name). So `location` points at where the
|
|
11932
11962
|
* hint text actually sits, and `data` is the hint text itself. Carrying
|
|
11933
11963
|
* the location (rather than a bare string) lets a confidence boost record
|
|
11934
|
-
* *which* hint lifted a score and *where* it came from
|
|
11964
|
+
* *which* hint lifted a score and *where* it came from, provenance a
|
|
11935
11965
|
* review consumer can resolve back to the document.
|
|
11936
11966
|
*
|
|
11937
11967
|
* Mirrors [`Entity`]'s `location` + `data` shape, so the same
|
|
@@ -11970,7 +12000,7 @@ interface components {
|
|
|
11970
12000
|
/**
|
|
11971
12001
|
* @description A human override, outside automatic detection: an entity a reviewer added by
|
|
11972
12002
|
* hand, or a detected one they marked to ignore. Its provenance is a person's
|
|
11973
|
-
* decision, not a recognizer's
|
|
12003
|
+
* decision, not a recognizer's, so the trail records *why* (an
|
|
11974
12004
|
* [`Attribution`], when supplied). *Who* made the override is the event's
|
|
11975
12005
|
* [`source`], not a payload field.
|
|
11976
12006
|
*
|
|
@@ -11986,7 +12016,7 @@ interface components {
|
|
|
11986
12016
|
/**
|
|
11987
12017
|
* @description Which human decision this records: including a missed entity, or
|
|
11988
12018
|
* suppressing a detected one. This is the authority on whether the entity
|
|
11989
|
-
* is redacted
|
|
12019
|
+
* is redacted, [`AuditLog::is_suppressed`] reads it, so there is no
|
|
11990
12020
|
* separate flag to keep in sync.
|
|
11991
12021
|
*
|
|
11992
12022
|
* [`AuditLog::is_suppressed`]: crate::entity::audit::AuditLog::is_suppressed
|
|
@@ -12255,7 +12285,7 @@ interface components {
|
|
|
12255
12285
|
*
|
|
12256
12286
|
* # Identity
|
|
12257
12287
|
*
|
|
12258
|
-
* Labels are identified by [`id`]
|
|
12288
|
+
* Labels are identified by [`id`], a stable lowercase `snake_case`
|
|
12259
12289
|
* string (`"phone_number"`), never localized, and the catalog key that a
|
|
12260
12290
|
* [`LabelRef`] resolves through. Selectors match by id. Derived equality
|
|
12261
12291
|
* is *structural*: two labels with the same id but different
|
|
@@ -12266,7 +12296,7 @@ interface components {
|
|
|
12266
12296
|
* The display name and description are localized per [`LanguageTag`].
|
|
12267
12297
|
* English (`"en"`) is required at construction and is the fallback when a
|
|
12268
12298
|
* requested locale is absent, so [`localization`] always returns some
|
|
12269
|
-
* text
|
|
12299
|
+
* text, NER and LLM read the analysis language's name and description to
|
|
12270
12300
|
* prompt the model, keyed by the stable id.
|
|
12271
12301
|
*
|
|
12272
12302
|
* # Category and tags
|
|
@@ -12276,7 +12306,7 @@ interface components {
|
|
|
12276
12306
|
* labels ship with one; a custom label has none unless set.
|
|
12277
12307
|
*
|
|
12278
12308
|
* [`tags`] is a free-form list of *cross-cutting* markers a policy selector
|
|
12279
|
-
* matches against
|
|
12309
|
+
* matches against, sensitivity flags a label may carry several of (`pii`,
|
|
12280
12310
|
* `phi`, `pci`, `sad`, `secret`). Distinct from the category: a label has at
|
|
12281
12311
|
* most one category but any number of tags. Custom labels can ship with zero
|
|
12282
12312
|
* of either.
|
|
@@ -12323,7 +12353,7 @@ interface components {
|
|
|
12323
12353
|
* @description A label's human-facing text in one language: a display name and an
|
|
12324
12354
|
* optional fuller description.
|
|
12325
12355
|
*
|
|
12326
|
-
* The `name` is a short, natural-language phrase (`"phone number"`)
|
|
12356
|
+
* The `name` is a short, natural-language phrase (`"phone number"`), the
|
|
12327
12357
|
* label a zero-shot NER model like GLiNER matches on, and the primary
|
|
12328
12358
|
* text an LLM prompt shows. The `description` is optional extra guidance
|
|
12329
12359
|
* for backends that consume it (GLiNER-2.0's bi-encoder, an LLM); leave
|
|
@@ -12484,7 +12514,7 @@ interface components {
|
|
|
12484
12514
|
* @description An image's recognized text, laid out in space.
|
|
12485
12515
|
*
|
|
12486
12516
|
* An ordered set of [`LayoutBlock`]s (the recognized text regions). The flat
|
|
12487
|
-
* [`text`]
|
|
12517
|
+
* [`text`], the blocks joined, is what a recognizer
|
|
12488
12518
|
* inspects; [`resolve`] maps a byte range of that text back
|
|
12489
12519
|
* to the [`ImageLocation`] it occupies, using the blocks' (and their
|
|
12490
12520
|
* words') bounding boxes. Empty when the backend recognized nothing.
|
|
@@ -12533,7 +12563,7 @@ interface components {
|
|
|
12533
12563
|
* < Partial < Irrecoverable`. Surfaced through
|
|
12534
12564
|
* [`Operator::leak_profile`] for policy authoring and audit reporting.
|
|
12535
12565
|
*
|
|
12536
|
-
* [`Operator::leak_profile`]: crate::
|
|
12566
|
+
* [`Operator::leak_profile`]: crate::redaction::Operator::leak_profile
|
|
12537
12567
|
*/
|
|
12538
12568
|
LeakProfile: "recoverable" | "partial" | "irrecoverable";
|
|
12539
12569
|
/** @description Query parameters for listing files. */
|
|
@@ -12613,7 +12643,7 @@ interface components {
|
|
|
12613
12643
|
*
|
|
12614
12644
|
* The reusable mechanism behind any text that varies by language: a
|
|
12615
12645
|
* [`Label`]'s display name and description, a redaction operator's bucket
|
|
12616
|
-
* label, and so on. English (`"en"`) is the conventional anchor
|
|
12646
|
+
* label, and so on. English (`"en"`) is the conventional anchor,
|
|
12617
12647
|
* constructors seed it, and [`resolve`] falls back to it (then to any
|
|
12618
12648
|
* entry) when a requested locale is absent, so a caller that supplied
|
|
12619
12649
|
* English always gets *some* value.
|
|
@@ -12643,7 +12673,7 @@ interface components {
|
|
|
12643
12673
|
rememberMe?: boolean;
|
|
12644
12674
|
};
|
|
12645
12675
|
/**
|
|
12646
|
-
* @description Which human decision a [`Manual`] event records
|
|
12676
|
+
* @description Which human decision a [`Manual`] event records, the reviewer actions on a
|
|
12647
12677
|
* finding: [`Flag`](ManualIntent::Flag) a miss, [`Suppress`](ManualIntent::Suppress)
|
|
12648
12678
|
* a false positive, or [`Amend`](ManualIntent::Amend) an existing finding.
|
|
12649
12679
|
*/
|
|
@@ -12756,9 +12786,9 @@ interface components {
|
|
|
12756
12786
|
version?: string;
|
|
12757
12787
|
};
|
|
12758
12788
|
/**
|
|
12759
|
-
* @description
|
|
12760
|
-
*
|
|
12761
|
-
* pattern recognizer, a language enricher).
|
|
12789
|
+
* @description The model a model-backed recognizer or enricher called, and its token cost.
|
|
12790
|
+
*
|
|
12791
|
+
* Absent from a pure-CPU component (a pattern recognizer, a language enricher).
|
|
12762
12792
|
*/
|
|
12763
12793
|
ModelUsage: {
|
|
12764
12794
|
/** @description Model name the backend called (e.g. `"gpt-4o"`, `"gliner-multi"`). */
|
|
@@ -13832,42 +13862,27 @@ interface components {
|
|
|
13832
13862
|
acceptInvite: boolean;
|
|
13833
13863
|
};
|
|
13834
13864
|
Report: {
|
|
13835
|
-
|
|
13865
|
+
parts: ({
|
|
13836
13866
|
entities: components["schemas"]["TextEntity"][];
|
|
13867
|
+
id: string[];
|
|
13837
13868
|
/** @constant */
|
|
13838
13869
|
modality: "text";
|
|
13839
13870
|
} | {
|
|
13840
13871
|
entities: components["schemas"]["ImageEntity"][];
|
|
13872
|
+
id: string[];
|
|
13841
13873
|
/** @constant */
|
|
13842
13874
|
modality: "image";
|
|
13843
13875
|
} | {
|
|
13844
13876
|
entities: components["schemas"]["AudioEntity"][];
|
|
13877
|
+
id: string[];
|
|
13845
13878
|
/** @constant */
|
|
13846
13879
|
modality: "audio";
|
|
13847
13880
|
} | {
|
|
13848
13881
|
entities: components["schemas"]["TabularEntity"][];
|
|
13882
|
+
id: string[];
|
|
13849
13883
|
/** @constant */
|
|
13850
13884
|
modality: "tabular";
|
|
13851
|
-
})
|
|
13852
|
-
parts: {
|
|
13853
|
-
[key: string]: {
|
|
13854
|
-
entities: components["schemas"]["TextEntity"][];
|
|
13855
|
-
/** @constant */
|
|
13856
|
-
modality: "text";
|
|
13857
|
-
} | {
|
|
13858
|
-
entities: components["schemas"]["ImageEntity"][];
|
|
13859
|
-
/** @constant */
|
|
13860
|
-
modality: "image";
|
|
13861
|
-
} | {
|
|
13862
|
-
entities: components["schemas"]["AudioEntity"][];
|
|
13863
|
-
/** @constant */
|
|
13864
|
-
modality: "audio";
|
|
13865
|
-
} | {
|
|
13866
|
-
entities: components["schemas"]["TabularEntity"][];
|
|
13867
|
-
/** @constant */
|
|
13868
|
-
modality: "tabular";
|
|
13869
|
-
};
|
|
13870
|
-
};
|
|
13885
|
+
})[];
|
|
13871
13886
|
usage?: components["schemas"]["UsageReport"];
|
|
13872
13887
|
};
|
|
13873
13888
|
/**
|
|
@@ -13943,7 +13958,7 @@ interface components {
|
|
|
13943
13958
|
};
|
|
13944
13959
|
/**
|
|
13945
13960
|
* @description A serializable summary of *which selection rule* bound an operator to an
|
|
13946
|
-
* entity
|
|
13961
|
+
* entity, the automatic "why" behind a redaction.
|
|
13947
13962
|
*
|
|
13948
13963
|
* The anonymizer selects an operator by walking an ordered rule list and
|
|
13949
13964
|
* taking the first match. That decision is recorded on the [`Redaction`]
|
|
@@ -13995,8 +14010,8 @@ interface components {
|
|
|
13995
14010
|
* Built once with the `with_*` chain and passed by reference to the
|
|
13996
14011
|
* analyzer, which borrows it into a fresh [`RecognizerContext`] per
|
|
13997
14012
|
* payload. It holds only what the *caller* asserts about the analysis as a
|
|
13998
|
-
* whole
|
|
13999
|
-
* correlation id
|
|
14013
|
+
* whole, languages, jurisdictions, document labels, the target catalog, a
|
|
14014
|
+
* correlation id, none of which depends on the medium, so one [`Scope`]
|
|
14000
14015
|
* drives a text, image, or audio analysis alike.
|
|
14001
14016
|
*
|
|
14002
14017
|
* Per-medium regions (caller-supplied inclusions and exclusions, which are
|
|
@@ -14010,7 +14025,7 @@ interface components {
|
|
|
14010
14025
|
* the *request* driving it.
|
|
14011
14026
|
*
|
|
14012
14027
|
* Three axes of opaque classification strings elide neither ships nor
|
|
14013
|
-
* interprets
|
|
14028
|
+
* interprets, a downstream policy layer chooses what `"medical"` or
|
|
14014
14029
|
* `"fraud_detection"` or `"auditor"` mean. They are read in two places: a
|
|
14015
14030
|
* recognizer may bias its detection on them (the LLM prompt lists them so the
|
|
14016
14031
|
* model attends to the right terms), and a scope-aware operator predicate may
|
|
@@ -14020,7 +14035,7 @@ interface components {
|
|
|
14020
14035
|
* - [`tags`] classify the *document* (`"medical"`, `"gdpr-request"`).
|
|
14021
14036
|
* - [`purpose`] is why the request exists (`"fraud_detection"`).
|
|
14022
14037
|
* - [`audience`] is who the redacted output is for (`"support_agent"`,
|
|
14023
|
-
* `"auditor"`)
|
|
14038
|
+
* `"auditor"`), the axis PCI-style "same document, two masks" branches on.
|
|
14024
14039
|
*
|
|
14025
14040
|
* [`tags`]: Self::tags
|
|
14026
14041
|
* [`purpose`]: Self::purpose
|
|
@@ -14058,7 +14073,7 @@ interface components {
|
|
|
14058
14073
|
tags?: string[];
|
|
14059
14074
|
};
|
|
14060
14075
|
/**
|
|
14061
|
-
* @description An operator was *picked* to hide the entity
|
|
14076
|
+
* @description An operator was *picked* to hide the entity, the redaction decision,
|
|
14062
14077
|
* recorded before it is applied so it can be reviewed (and the entity edited)
|
|
14063
14078
|
* first. The [`Redaction`] event that follows records the operator actually
|
|
14064
14079
|
* run.
|
|
@@ -14076,7 +14091,7 @@ interface components {
|
|
|
14076
14091
|
matched_by: components["schemas"]["RuleMatch"];
|
|
14077
14092
|
/**
|
|
14078
14093
|
* @description Identity (name + version) of the operator picked. Its *config* is not
|
|
14079
|
-
* recorded
|
|
14094
|
+
* recorded; it lives in the policy that will run it, so apply re-resolves
|
|
14080
14095
|
* the configured operator rather than reading it here.
|
|
14081
14096
|
*/
|
|
14082
14097
|
operator: components["schemas"]["OperatorId"];
|
|
@@ -14134,8 +14149,8 @@ interface components {
|
|
|
14134
14149
|
/** @description Sort order direction. */
|
|
14135
14150
|
SortOrder: "asc" | "desc";
|
|
14136
14151
|
/**
|
|
14137
|
-
* @description A reference back to the original source: a byte range, and
|
|
14138
|
-
* whose body spans several files
|
|
14152
|
+
* @description A reference back to the original source: a byte range, and, for a container
|
|
14153
|
+
* whose body spans several files, which part that range indexes.
|
|
14139
14154
|
*
|
|
14140
14155
|
* [`TextLocation`]'s `range` indexes the *decoded* text stream a codec hands
|
|
14141
14156
|
* the pipeline (entities resolved, container parts concatenated). A `SourceRef`
|
|
@@ -14156,6 +14171,21 @@ interface components {
|
|
|
14156
14171
|
/** @description The raw source byte range. */
|
|
14157
14172
|
range: components["schemas"]["Range_of_uint"];
|
|
14158
14173
|
};
|
|
14174
|
+
/**
|
|
14175
|
+
* @description A source-only coordinate: raw byte range(s) with no decoded span.
|
|
14176
|
+
*
|
|
14177
|
+
* The counterpart to [`DecodedSpan`] for content the pipeline never decoded (a
|
|
14178
|
+
* reviewer selecting rendered text). A named struct rather than a bare `Vec`
|
|
14179
|
+
* variant so the coordinate serializes as a map, which an internally tagged
|
|
14180
|
+
* enum can inject its `kind` tag into.
|
|
14181
|
+
*/
|
|
14182
|
+
SourceSpan: {
|
|
14183
|
+
/**
|
|
14184
|
+
* @description The raw byte range(s) the selection sits in. Sorted, deduplicated,
|
|
14185
|
+
* non-empty by construction.
|
|
14186
|
+
*/
|
|
14187
|
+
source: components["schemas"]["SourceRef"][];
|
|
14188
|
+
};
|
|
14159
14189
|
/** @description Storage totals across a workspace's live files. */
|
|
14160
14190
|
StorageAnalytics: {
|
|
14161
14191
|
/**
|
|
@@ -14340,31 +14370,42 @@ interface components {
|
|
|
14340
14370
|
/** @description What the reviewer says this is. */
|
|
14341
14371
|
label: components["schemas"]["LabelRef"];
|
|
14342
14372
|
/**
|
|
14343
|
-
* @description Where it sits, in the coordinates of the
|
|
14373
|
+
* @description Where it sits, in the coordinates of the part it joins.
|
|
14374
|
+
*
|
|
14375
|
+
* Each medium addresses its own way: text a character range
|
|
14376
|
+
* over the decoded stream, images a bounding box, audio a time
|
|
14377
|
+
* span, tabular a row and column. A DOCX's
|
|
14378
|
+
* `word/document.xml` text belongs to the document part
|
|
14379
|
+
* itself, not to a nested one.
|
|
14344
14380
|
*
|
|
14345
|
-
* For text
|
|
14346
|
-
*
|
|
14347
|
-
*
|
|
14348
|
-
*
|
|
14349
|
-
*
|
|
14350
|
-
*
|
|
14381
|
+
* For text specifically, a caller holding raw file bytes
|
|
14382
|
+
* rather than a decoded offset — a reviewer selecting rendered
|
|
14383
|
+
* text, say — leaves [`TextLocation::range`] empty and fills
|
|
14384
|
+
* [`TextLocation::source`] instead, which the engine
|
|
14385
|
+
* reverse-resolves. The other three have no such alternative:
|
|
14386
|
+
* their coordinates are the only way in.
|
|
14351
14387
|
*
|
|
14388
|
+
* [`TextLocation::range`]: elide::modality::text::TextLocation::range
|
|
14352
14389
|
* [`TextLocation::source`]: elide::modality::text::TextLocation::source
|
|
14353
14390
|
*/
|
|
14354
14391
|
location: components["schemas"]["TabularLocation"];
|
|
14355
14392
|
/**
|
|
14356
|
-
* @description The
|
|
14357
|
-
* `"word/media/image1.png"
|
|
14393
|
+
* @description The part this belongs to, as a path: `["report.docx"]` for
|
|
14394
|
+
* the document itself, `["report.docx", "word/media/image1.png"]`
|
|
14395
|
+
* for media it embeds. `None` means the request's sole
|
|
14396
|
+
* document, which is the common case and saves a caller
|
|
14397
|
+
* naming what it already sent.
|
|
14358
14398
|
*
|
|
14359
|
-
*
|
|
14360
|
-
* its own
|
|
14361
|
-
*
|
|
14399
|
+
* Nested media needs this: the report holds an embedded image
|
|
14400
|
+
* as its own part, and an addition to one has nowhere to go
|
|
14401
|
+
* without naming it. Text usually does not — where a span came
|
|
14402
|
+
* from is already in `TextLocation::source`, which carries the
|
|
14403
|
+
* part alongside the raw range.
|
|
14362
14404
|
*
|
|
14363
|
-
*
|
|
14364
|
-
*
|
|
14365
|
-
* which carries the part alongside the raw range.
|
|
14405
|
+
* `None` is an error when the request carried several
|
|
14406
|
+
* documents, since there is then no sole document to mean.
|
|
14366
14407
|
*/
|
|
14367
|
-
part?: string;
|
|
14408
|
+
part?: string[];
|
|
14368
14409
|
/** @description The rationale, when one was given. */
|
|
14369
14410
|
reason?: string;
|
|
14370
14411
|
};
|
|
@@ -14592,7 +14633,7 @@ interface components {
|
|
|
14592
14633
|
* @description Tamper-evident audit trail: every contributing detection, the fusion
|
|
14593
14634
|
* event if any, and the redaction that hid it, as a hash-linked DAG. It is
|
|
14594
14635
|
* also the single source of truth for whether a reviewer
|
|
14595
|
-
* [suppressed](Self::is_suppressed) the entity
|
|
14636
|
+
* [suppressed](Self::is_suppressed) the entity, a suppression is a
|
|
14596
14637
|
* [`Manual`] event on this trail, not a separate flag.
|
|
14597
14638
|
*
|
|
14598
14639
|
* [`Manual`]: crate::entity::audit::AuditKind::Manual
|
|
@@ -14629,7 +14670,7 @@ interface components {
|
|
|
14629
14670
|
location: components["schemas"]["TabularLocation"];
|
|
14630
14671
|
/**
|
|
14631
14672
|
* @description Byte range of the match in the *recognized text* it was found in (the
|
|
14632
|
-
* OCR layout text, the audio transcript, or the text payload itself)
|
|
14673
|
+
* OCR layout text, the audio transcript, or the text payload itself),
|
|
14633
14674
|
* the stable key back into that enrichment artifact, where the rich
|
|
14634
14675
|
* context lives (which OCR block, which speaker) that the geometric
|
|
14635
14676
|
* [`location`] cannot hold. `None` for entities not found via text
|
|
@@ -14645,11 +14686,11 @@ interface components {
|
|
|
14645
14686
|
* for a nearby value.
|
|
14646
14687
|
*
|
|
14647
14688
|
* Out-of-band by nature: a hint is *not* a sub-span of the value it
|
|
14648
|
-
* informs
|
|
14689
|
+
* informs; it lives elsewhere in the source (a table's column header, a
|
|
14649
14690
|
* JSON object key, a log field name). So `location` points at where the
|
|
14650
14691
|
* hint text actually sits, and `data` is the hint text itself. Carrying
|
|
14651
14692
|
* the location (rather than a bare string) lets a confidence boost record
|
|
14652
|
-
* *which* hint lifted a score and *where* it came from
|
|
14693
|
+
* *which* hint lifted a score and *where* it came from, provenance a
|
|
14653
14694
|
* review consumer can resolve back to the document.
|
|
14654
14695
|
*
|
|
14655
14696
|
* Mirrors [`Entity`]'s `location` + `data` shape, so the same
|
|
@@ -14713,7 +14754,7 @@ interface components {
|
|
|
14713
14754
|
/**
|
|
14714
14755
|
* @description A human override, outside automatic detection: an entity a reviewer added by
|
|
14715
14756
|
* hand, or a detected one they marked to ignore. Its provenance is a person's
|
|
14716
|
-
* decision, not a recognizer's
|
|
14757
|
+
* decision, not a recognizer's, so the trail records *why* (an
|
|
14717
14758
|
* [`Attribution`], when supplied). *Who* made the override is the event's
|
|
14718
14759
|
* [`source`], not a payload field.
|
|
14719
14760
|
*
|
|
@@ -14729,7 +14770,7 @@ interface components {
|
|
|
14729
14770
|
/**
|
|
14730
14771
|
* @description Which human decision this records: including a missed entity, or
|
|
14731
14772
|
* suppressing a detected one. This is the authority on whether the entity
|
|
14732
|
-
* is redacted
|
|
14773
|
+
* is redacted, [`AuditLog::is_suppressed`] reads it, so there is no
|
|
14733
14774
|
* separate flag to keep in sync.
|
|
14734
14775
|
*
|
|
14735
14776
|
* [`AuditLog::is_suppressed`]: crate::entity::audit::AuditLog::is_suppressed
|
|
@@ -14934,31 +14975,42 @@ interface components {
|
|
|
14934
14975
|
/** @description What the reviewer says this is. */
|
|
14935
14976
|
label: components["schemas"]["LabelRef"];
|
|
14936
14977
|
/**
|
|
14937
|
-
* @description Where it sits, in the coordinates of the
|
|
14978
|
+
* @description Where it sits, in the coordinates of the part it joins.
|
|
14938
14979
|
*
|
|
14939
|
-
*
|
|
14940
|
-
*
|
|
14941
|
-
*
|
|
14942
|
-
*
|
|
14943
|
-
*
|
|
14944
|
-
* engine reverse-resolves.
|
|
14980
|
+
* Each medium addresses its own way: text a character range
|
|
14981
|
+
* over the decoded stream, images a bounding box, audio a time
|
|
14982
|
+
* span, tabular a row and column. A DOCX's
|
|
14983
|
+
* `word/document.xml` text belongs to the document part
|
|
14984
|
+
* itself, not to a nested one.
|
|
14945
14985
|
*
|
|
14986
|
+
* For text specifically, a caller holding raw file bytes
|
|
14987
|
+
* rather than a decoded offset — a reviewer selecting rendered
|
|
14988
|
+
* text, say — leaves [`TextLocation::range`] empty and fills
|
|
14989
|
+
* [`TextLocation::source`] instead, which the engine
|
|
14990
|
+
* reverse-resolves. The other three have no such alternative:
|
|
14991
|
+
* their coordinates are the only way in.
|
|
14992
|
+
*
|
|
14993
|
+
* [`TextLocation::range`]: elide::modality::text::TextLocation::range
|
|
14946
14994
|
* [`TextLocation::source`]: elide::modality::text::TextLocation::source
|
|
14947
14995
|
*/
|
|
14948
14996
|
location: components["schemas"]["TextLocation"];
|
|
14949
14997
|
/**
|
|
14950
|
-
* @description The
|
|
14951
|
-
* `"word/media/image1.png"
|
|
14998
|
+
* @description The part this belongs to, as a path: `["report.docx"]` for
|
|
14999
|
+
* the document itself, `["report.docx", "word/media/image1.png"]`
|
|
15000
|
+
* for media it embeds. `None` means the request's sole
|
|
15001
|
+
* document, which is the common case and saves a caller
|
|
15002
|
+
* naming what it already sent.
|
|
14952
15003
|
*
|
|
14953
|
-
*
|
|
14954
|
-
* its own
|
|
14955
|
-
*
|
|
15004
|
+
* Nested media needs this: the report holds an embedded image
|
|
15005
|
+
* as its own part, and an addition to one has nowhere to go
|
|
15006
|
+
* without naming it. Text usually does not — where a span came
|
|
15007
|
+
* from is already in `TextLocation::source`, which carries the
|
|
15008
|
+
* part alongside the raw range.
|
|
14956
15009
|
*
|
|
14957
|
-
*
|
|
14958
|
-
*
|
|
14959
|
-
* which carries the part alongside the raw range.
|
|
15010
|
+
* `None` is an error when the request carried several
|
|
15011
|
+
* documents, since there is then no sole document to mean.
|
|
14960
15012
|
*/
|
|
14961
|
-
part?: string;
|
|
15013
|
+
part?: string[];
|
|
14962
15014
|
/** @description The rationale, when one was given. */
|
|
14963
15015
|
reason?: string;
|
|
14964
15016
|
};
|
|
@@ -15139,6 +15191,23 @@ interface components {
|
|
|
15139
15191
|
* [`verify`]: Self::verify
|
|
15140
15192
|
*/
|
|
15141
15193
|
TextAuditLog: components["schemas"]["TextAuditEvent"][];
|
|
15194
|
+
/**
|
|
15195
|
+
* @description The coordinate of a [`TextLocation`]: a decoded byte range, or a source-only
|
|
15196
|
+
* reference.
|
|
15197
|
+
*
|
|
15198
|
+
* The distinction is whether a decoded range exists at all. A recognizer over
|
|
15199
|
+
* decoded text produces a [`Decoded`](Self::Decoded) span (with the raw source
|
|
15200
|
+
* it decodes from, when the codec's decoded text differs from the source). A
|
|
15201
|
+
* reviewer marking rendered text has no decoded range, only where the selection
|
|
15202
|
+
* sits in the raw bytes, a [`Source`](Self::Source).
|
|
15203
|
+
*/
|
|
15204
|
+
TextCoord: ({
|
|
15205
|
+
/** @constant */
|
|
15206
|
+
kind: "decoded";
|
|
15207
|
+
} & components["schemas"]["DecodedSpan"]) | ({
|
|
15208
|
+
/** @constant */
|
|
15209
|
+
kind: "source";
|
|
15210
|
+
} & components["schemas"]["SourceSpan"]);
|
|
15142
15211
|
/**
|
|
15143
15212
|
* @description Run of text.
|
|
15144
15213
|
*
|
|
@@ -15197,7 +15266,7 @@ interface components {
|
|
|
15197
15266
|
* @description Tamper-evident audit trail: every contributing detection, the fusion
|
|
15198
15267
|
* event if any, and the redaction that hid it, as a hash-linked DAG. It is
|
|
15199
15268
|
* also the single source of truth for whether a reviewer
|
|
15200
|
-
* [suppressed](Self::is_suppressed) the entity
|
|
15269
|
+
* [suppressed](Self::is_suppressed) the entity, a suppression is a
|
|
15201
15270
|
* [`Manual`] event on this trail, not a separate flag.
|
|
15202
15271
|
*
|
|
15203
15272
|
* [`Manual`]: crate::entity::audit::AuditKind::Manual
|
|
@@ -15234,7 +15303,7 @@ interface components {
|
|
|
15234
15303
|
location: components["schemas"]["TextLocation"];
|
|
15235
15304
|
/**
|
|
15236
15305
|
* @description Byte range of the match in the *recognized text* it was found in (the
|
|
15237
|
-
* OCR layout text, the audio transcript, or the text payload itself)
|
|
15306
|
+
* OCR layout text, the audio transcript, or the text payload itself),
|
|
15238
15307
|
* the stable key back into that enrichment artifact, where the rich
|
|
15239
15308
|
* context lives (which OCR block, which speaker) that the geometric
|
|
15240
15309
|
* [`location`] cannot hold. `None` for entities not found via text
|
|
@@ -15250,11 +15319,11 @@ interface components {
|
|
|
15250
15319
|
* for a nearby value.
|
|
15251
15320
|
*
|
|
15252
15321
|
* Out-of-band by nature: a hint is *not* a sub-span of the value it
|
|
15253
|
-
* informs
|
|
15322
|
+
* informs; it lives elsewhere in the source (a table's column header, a
|
|
15254
15323
|
* JSON object key, a log field name). So `location` points at where the
|
|
15255
15324
|
* hint text actually sits, and `data` is the hint text itself. Carrying
|
|
15256
15325
|
* the location (rather than a bare string) lets a confidence boost record
|
|
15257
|
-
* *which* hint lifted a score and *where* it came from
|
|
15326
|
+
* *which* hint lifted a score and *where* it came from, provenance a
|
|
15258
15327
|
* review consumer can resolve back to the document.
|
|
15259
15328
|
*
|
|
15260
15329
|
* Mirrors [`Entity`]'s `location` + `data` shape, so the same
|
|
@@ -15269,36 +15338,30 @@ interface components {
|
|
|
15269
15338
|
location: components["schemas"]["TextLocation"];
|
|
15270
15339
|
};
|
|
15271
15340
|
/**
|
|
15272
|
-
* @description
|
|
15341
|
+
* @description Where an entity sits in text: a [coordinate](TextCoord) (a decoded byte range,
|
|
15342
|
+
* or a source-only reference) plus an optional page number.
|
|
15343
|
+
*
|
|
15344
|
+
* The coordinate is either a [`Decoded`](TextCoord::Decoded) byte range in the
|
|
15345
|
+
* pipeline's text stream, or a [`Source`](TextCoord::Source)-only reference for
|
|
15346
|
+
* content with no decoded range (a reviewer selecting rendered text). The page
|
|
15347
|
+
* is orthogonal to the coordinate kind, so it sits alongside rather than inside.
|
|
15273
15348
|
*
|
|
15274
|
-
* Ordering and overlap consider only the
|
|
15275
|
-
*
|
|
15349
|
+
* Ordering and overlap consider only the coordinate; the page is carried for
|
|
15350
|
+
* codecs that page their text but does not affect comparison.
|
|
15276
15351
|
*/
|
|
15277
15352
|
TextLocation: {
|
|
15353
|
+
/** @description The coordinate: a decoded range, or a source-only reference. */
|
|
15354
|
+
coord: components["schemas"]["TextCoord"];
|
|
15278
15355
|
/**
|
|
15279
15356
|
* Format: uint32
|
|
15280
|
-
* @description 1-based page number, when known.
|
|
15357
|
+
* @description 1-based page number, when known. Orthogonal to the coordinate kind.
|
|
15281
15358
|
*/
|
|
15282
15359
|
page?: number;
|
|
15283
|
-
/** @description Byte range within the (decoded) text content. */
|
|
15284
|
-
range: components["schemas"]["Range_of_uint"];
|
|
15285
|
-
/**
|
|
15286
|
-
* @description The exact raw source ranges this decoded span came from, for codecs whose
|
|
15287
|
-
* decoded text differs from the source (XML/HTML/DOCX, where entities are
|
|
15288
|
-
* decoded; JSON, where `\"` / `\uXXXX` escapes collapse). Empty when the
|
|
15289
|
-
* source equals the decoded text (plain text, CSV) or the format has no
|
|
15290
|
-
* byte-source coordinate (rendered/scanned formats).
|
|
15291
|
-
*
|
|
15292
|
-
* Usually one range; a reconciled span that fused several source runs (or a
|
|
15293
|
-
* span crossing an escape) carries several, kept distinct rather than merged
|
|
15294
|
-
* across gaps. Sorted, deduplicated.
|
|
15295
|
-
*/
|
|
15296
|
-
source?: components["schemas"]["SourceRef"][];
|
|
15297
15360
|
};
|
|
15298
15361
|
/**
|
|
15299
15362
|
* @description A human override, outside automatic detection: an entity a reviewer added by
|
|
15300
15363
|
* hand, or a detected one they marked to ignore. Its provenance is a person's
|
|
15301
|
-
* decision, not a recognizer's
|
|
15364
|
+
* decision, not a recognizer's, so the trail records *why* (an
|
|
15302
15365
|
* [`Attribution`], when supplied). *Who* made the override is the event's
|
|
15303
15366
|
* [`source`], not a payload field.
|
|
15304
15367
|
*
|
|
@@ -15314,7 +15377,7 @@ interface components {
|
|
|
15314
15377
|
/**
|
|
15315
15378
|
* @description Which human decision this records: including a missed entity, or
|
|
15316
15379
|
* suppressing a detected one. This is the authority on whether the entity
|
|
15317
|
-
* is redacted
|
|
15380
|
+
* is redacted, [`AuditLog::is_suppressed`] reads it, so there is no
|
|
15318
15381
|
* separate flag to keep in sync.
|
|
15319
15382
|
*
|
|
15320
15383
|
* [`AuditLog::is_suppressed`]: crate::entity::audit::AuditLog::is_suppressed
|
|
@@ -15596,8 +15659,10 @@ interface components {
|
|
|
15596
15659
|
text: string;
|
|
15597
15660
|
};
|
|
15598
15661
|
/**
|
|
15599
|
-
* @description
|
|
15600
|
-
*
|
|
15662
|
+
* @description The token counts a model reported.
|
|
15663
|
+
*
|
|
15664
|
+
* Each is optional because providers differ in what they return: some give
|
|
15665
|
+
* only a total, some none at all.
|
|
15601
15666
|
*/
|
|
15602
15667
|
TokenCounts: {
|
|
15603
15668
|
/**
|
|
@@ -15612,7 +15677,7 @@ interface components {
|
|
|
15612
15677
|
output?: number;
|
|
15613
15678
|
/**
|
|
15614
15679
|
* Format: uint64
|
|
15615
|
-
* @description Total tokens
|
|
15680
|
+
* @description Total tokens, may be reported even when the input/output split is not.
|
|
15616
15681
|
*/
|
|
15617
15682
|
total?: number;
|
|
15618
15683
|
};
|
|
@@ -15639,7 +15704,7 @@ interface components {
|
|
|
15639
15704
|
* consumer-side code assumes this). A context enhancer borrows the underlying
|
|
15640
15705
|
* slice via [`as_slice`](Tokens::as_slice) and walks it by count when scoring an
|
|
15641
15706
|
* entity's neighbourhood. Empty ([`Default`]) until a tokenizing enricher fills
|
|
15642
|
-
* it
|
|
15707
|
+
* it, the enhancer then tokenizes on demand instead.
|
|
15643
15708
|
*/
|
|
15644
15709
|
Tokens: components["schemas"]["Token"][];
|
|
15645
15710
|
/**
|
|
@@ -15684,7 +15749,7 @@ interface components {
|
|
|
15684
15749
|
* @description Timestamped transcript of an audio stream.
|
|
15685
15750
|
*
|
|
15686
15751
|
* An ordered set of [`TranscriptSegment`]s. The flat
|
|
15687
|
-
* [`text`]
|
|
15752
|
+
* [`text`], the segments joined, is what a recognizer
|
|
15688
15753
|
* inspects; [`resolve`] maps a byte range of that text back
|
|
15689
15754
|
* to the [`TimeSpan`] it occupies, using the segments' (and their words')
|
|
15690
15755
|
* timings. Empty when the backend produced nothing (silence, or a no-op
|
|
@@ -16381,6 +16446,9 @@ type TextAuditKind = Schemas$18["TextAuditKind"];
|
|
|
16381
16446
|
type TextAuditLog = Schemas$18["TextAuditLog"];
|
|
16382
16447
|
type TextHint = Schemas$18["TextHint"];
|
|
16383
16448
|
type TextLocation = Schemas$18["TextLocation"];
|
|
16449
|
+
type TextCoord = Schemas$18["TextCoord"];
|
|
16450
|
+
type DecodedSpan = Schemas$18["DecodedSpan"];
|
|
16451
|
+
type SourceSpan = Schemas$18["SourceSpan"];
|
|
16384
16452
|
type TextData = Schemas$18["TextData"];
|
|
16385
16453
|
type TextModel = Schemas$18["TextModel"];
|
|
16386
16454
|
type TextPattern = Schemas$18["TextPattern"];
|
|
@@ -16663,5 +16731,5 @@ type Retention = Schemas["Retention"];
|
|
|
16663
16731
|
type RetentionSettings = Schemas["RetentionSettings"];
|
|
16664
16732
|
type RetentionOverride = Schemas["RetentionOverride"];
|
|
16665
16733
|
//#endregion
|
|
16666
|
-
export { PolicyRule as $,
|
|
16667
|
-
//# sourceMappingURL=index-
|
|
16734
|
+
export { PolicyRule as $, Layout as $i, SyncStatus as $n, ImageEntity as $r, ReplyInvite as $t, Color as A, ActivityExportOptions as Aa, TabularLocation as Ai, RedactionResultPage as An, Audit as Ar, NotificationPage as At, Label as B, PipelineActivityParams as Ba, TextCoord as Bi, ConnectionVerification as Bn, Deduplication as Br, MemberSortField as Bt, Language as C, StorageKindEntry as Ca, TabularAdd as Ci, DetectionPage as Cn, AudioHint as Cr, DetectionCompletedParams as Ct, ScopeMetadata as D, UsageReport as Da, TabularEdit as Di, RedactDetection as Dn, AudioPattern as Dr, MemberJoinedParams as Dt, Languages as E, UsageAnalytics as Ea, TabularAuditLog as Ei, PipelineDetectionsQuery as En, AudioModel as Er, MemberInvitedParams as Et, GdprArticle9Treatment as F, ConnectionActivityParams as Fa, TabularRetag as Fi, ConnectionConfig as Fn, CitedAttribution as Fr, UnreadStatus as Ft, LanguageTag as G, Account as Ga, TextLocation as Gi, OpenAiCredentials as Gn, EntityCoRef as Gr, InviteCode as Gt, LabelLocale as H, RedactionActivityParams as Ha, TextEdit as Hi, CreateConnection as Hn, DocumentContext as Hr, CreateInvite as Ht, GdprSensitiveScope as I, DetectionActivityParams as Ia, TextAdd as Ii, ConnectionId as In, CodecParams as Ir, UpdateNotificationSettings as It, PciDssPart as J, PasswordChange as Ja, TextPattern as Ji, SyncConnection as Jn, ImageAuditEvent as Jr, InvitePreview as Jt, LocalizedText as K, AccountRef as Ka, TextManual as Ki, S3Credentials as Kn, FreeformAttribution as Kr, InviteExpiration as Kt, HipaaAccountNumbers as L, FileActivityParams as La, TextAuditEvent as Li, ConnectionPage as Ln, Conflict as Lr, ListMembers as Lt, CreatePolicy as M, ActivityPage as Ma, TabularModel as Mi, AnthropicCredentials as Mn, BoundingBox as Mr, NotificationSettings as Mt, DateGranularity as N, ActivityPayload as Na, TabularPattern as Ni, AzureCredentials as Nn, Calibration as Nr, RedactionCreatedParams as Nt, AudioRedaction as O, WorkspaceAnalytics as Oa, TabularEntity as Oi, RedactionId as On, AudioRefinement as Or, Notification as Ot, DateStyle as P, ActivityType as Pa, TabularRefinement as Pi, Connection as Pn, Category as Pr, UnreadCountEvent as Pt, PolicyDraft as Q, ArtifactSet as Qi, SyncScheduleInput as Qn, ImageEdit as Qr, ListInvites as Qt, HipaaDeidMethod as R, InviteActivityParams as Ra, TextAuditKind as Ri, ConnectionSync as Rn, Contested as Rr, Member as Rt, CountryCode as S, StorageAnalytics as Sa, Suppress as Si, DetectionMetadata as Sn, AudioEntity as Sr, ConnectionSyncFailedParams as St, LanguageSpan as T, Usage as Ta, TabularAuditKind as Ti, DetectionStatusEvent as Tn, AudioManual as Tr, MarkedReadStatus as Tt, LabelRef as U, WebhookActivityParams as Ua, TextEntity as Ui, GcsCredentials as Un, Dpi as Ur, GenerateInviteCode as Ut, LabelEntry as V, PolicyActivityParams as Va, TextData as Vi, ConnectionsQuery as Vn, Dimensions as Vr, UpdateMember as Vt, LabelScope as W, WorkspaceActivityParams as Wa, TextHint as Wi, LlmConfig as Wn, EditSet as Wr, Invite as Wt, Policy as X, UpdateAccount as Xa, TextRetag as Xi, SyncMode as Xn, ImageAuditLog as Xr, InviteSortField as Xt, PciPanRender as Y, PublicAccount as Ya, TextRefinement as Yi, SyncDeletionPolicy as Yn, ImageAuditKind as Yr, InviteSent as Yt, PolicyDefinition as Z, paths as Za, TimeSpan as Zi, SyncSchedule as Zn, ImageData as Zr, InviteStatus as Zt, WebhookId as _, DetectionTimeSeries as _a, Report as _i, ErrorResponse as _n, AudioAuditEvent as _r, PipelineSummaryPage as _t, RetentionSettings as a, TranscriptWord as aa, ImageRefinement as ai, DeletedFiles as an, ChatSessionPage as ar, TabularRedaction as at, WebhookStatus as b, ProviderType as ba, SourceRef as bi, Detection as bn, AudioData as br, CursorPagination as bt, WorkspacePage as c, ApiTokenPage as ca, ManualIntent as ci, FileKind as cn, SendChatMessage as cr, TextRedaction as ct, CreateWebhook as d, CreateApiToken as da, PatternEvent as di, ListFiles as dn, RegisteredRecognizer as dr, CreatePipeline as dt, LayoutBlock as ea, ImageHint as ei, SortOrder as en, SyncTriggerType as er, PolicySummary as et, TestWebhook as f, TokenExpiration as fa, Point as fi, ModalityToken as fn, AuthToken as fr, Pipeline as ft, WebhookEvent as g, DetectionStatusEntry as ga, Redaction as gi, ExportQuery as gn, AudioAdd as gr, PipelineSummary as gt, WebhookCreated as h, DetectionDayEntry as ha, RasterMode as hi, ExportFormat as hn, Attribution as hr, PipelineStatus as ht, RetentionOverride as i, TranscriptSegment as ia, ImagePattern as ii, DeleteFiles as in, ChatSession as ir, Sha2Algorithm as it, ConfidenceThreshold as j, ActivityFilterQuery as ja, TabularManual as ji, WorkspaceDetectionsQuery as jn, AuditHash as jr, NotificationPayload as jt, ClampBucket as k, Activity as ka, TabularHint as ki, RedactionResult as kn, AudioRetag as kr, NotificationEvent as kt, WorkspaceRole as l, ApiTokenType as la, ModelEvent as li, FilePage as ln, LabelCatalog as lr, UpdatePolicy as lt, Webhook as m, DetectionAnalytics as ma, RangeOfUint as mi, DateWindow as mn, Signup as mr, PipelineFilter as mt, RasterPolicy as n, Token as na, ImageManual as ni, Health as nn, ChatMessage as nr, PolicyTemplate as nt, UpdateWorkspace as o, Transcription as oa, ImageRetag as oi, File as on, ChatToken as or, TemplateOrigin as ot, UpdateWebhook as p, UpdateApiToken as pa, Polygon as pi, UpdateFile as pn, Login as pr, PipelineDefinition as pt, ModalityRedactions as q, Handle as qa, TextModel as qi, StorageConfig as qn, ImageAdd as qr, InvitePage as qt, Retention as r, Tokens as ra, ImageModel as ri, HealthStatus as rn, ChatRole as rr, Predicate as rt, Workspace as s, ApiToken as sa, LeakProfile as si, FileHash as sn, CreateChatSession as sr, TerminalFallback as st, CreateWorkspace as t, LayoutWord as ta, ImageLocation as ti, ComponentHealth as tn, UpdateConnection as tr, PolicySummaryPage as tt, WorkspaceSettings as u, ApiTokenWithJWT as ua, OperatorId as ui, FormatToken as un, RecognizerCatalog as ur, Waveform as ut, WebhookPage as v, ModelUsage as va, RuleMatch as vi, ValidationErrorDetail as vn, AudioAuditKind as vr, PipelineTriggerType as vt, LanguageProvenance as w, TokenCounts as wa, TabularAuditEvent as wi, DetectionStatus as wn, AudioLocation as wr, DetectionFailedParams as wt, Confidence as x, RecognizerId as xa, SourceSpan as xi, DetectionId as xn, AudioEdit as xr, ConnectionSyncCompletedParams as xt, WebhookResult as y, ModelUsageEntry as ya, Selection as yi, CreateDetection as yn, AudioAuditLog as yr, UpdatePipeline as yt, ImageRedaction as z, MemberActivityParams as za, TextAuditLog as zi, ConnectionSyncPage as zn, DecodedSpan as zr, MemberPage as zt };
|
|
16735
|
+
//# sourceMappingURL=index-DiwyTpoq.d.ts.map
|