@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.
@@ -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 `{ body, parts }`, so a client can search the extracted content and add entities the analysis missed. A detection whose analysis ran no enricher has no intermediates (404).
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
- body: ({
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
- }) | null;
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* a compliance clause, an
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 group it joins.
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 in a container, that is the body's decoded stream —
9635
- * a DOCX's `word/document.xml` text *is* the body, not a part.
9636
- * A caller who has raw file bytes rather than a decoded offset
9637
- * (a reviewer selecting rendered text, say) leaves `range`
9638
- * empty and fills [`TextLocation::source`] instead, which the
9639
- * engine reverse-resolves.
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 container part this belongs to, e.g.
9646
- * `"word/media/image1.png"`. `None` puts it on the body.
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
- * For the media a container embeds, which the report holds as
9649
- * its own group: an image entity lives under its part, and an
9650
- * addition to one has nowhere to go without naming it.
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
- * Text does not need this. A container's text is its body, and
9653
- * where a span came from is already in `TextLocation::source`,
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 a timestamped transcript is *not* held here;
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::recognition::Enricher
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 a suppression is a
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 it lives elsewhere in the source (a table's column header, a
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 provenance a
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 so the trail records *why* (an
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 [`AuditLog::is_suppressed`] reads it, so there is no
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, body and container
10176
- * parts, each entity carrying its provenance chain.
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 — [`include`],
10179
- * [`suppress`], [`entities`] — for the decisions elide models.
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
- * [`include`]: elide::Report::include
10183
- * [`suppress`]: elide::Report::suppress
10184
- * [`entities`]: elide::Report::entities
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 the loser is recorded, not dropped.
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 no localized month names or week markers to configure.
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 group it joins.
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 in a container, that is the body's decoded stream —
11612
- * a DOCX's `word/document.xml` text *is* the body, not a part.
11613
- * A caller who has raw file bytes rather than a decoded offset
11614
- * (a reviewer selecting rendered text, say) leaves `range`
11615
- * empty and fills [`TextLocation::source`] instead, which the
11616
- * engine reverse-resolves.
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 container part this belongs to, e.g.
11623
- * `"word/media/image1.png"`. `None` puts it on the body.
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
- * For the media a container embeds, which the report holds as
11626
- * its own group: an image entity lives under its part, and an
11627
- * addition to one has nowhere to go without naming it.
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
- * Text does not need this. A container's text is its body, and
11630
- * where a span came from is already in `TextLocation::source`,
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 a suppression is a
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 it lives elsewhere in the source (a table's column header, a
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 provenance a
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 so the trail records *why* (an
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 [`AuditLog::is_suppressed`] reads it, so there is no
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`] a stable lowercase `snake_case`
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 NER and LLM read the analysis language's name and description to
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 sensitivity flags a label may carry several of (`pii`,
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"`) the
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`] the blocks joined is what a recognizer
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::operator::Operator::leak_profile
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 the reviewer actions on a
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 Model detail for a model-backed recognizer or enricher: which model it
12760
- * called and the tokens that cost. Absent from a pure-CPU component (a
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
- body: ({
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
- }) | null;
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 the automatic "why" behind a redaction.
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 languages, jurisdictions, document labels, the target catalog, a
13999
- * correlation id none of which depends on the medium, so one [`Scope`]
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 a downstream policy layer chooses what `"medical"` or
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"`) the axis PCI-style "same document, two masks" branches on.
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 the redaction decision,
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 it lives in the policy that will run it, so apply re-resolves
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 for a container
14138
- * whose body spans several files which part that range indexes.
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 group it joins.
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 in a container, that is the body's decoded stream —
14346
- * a DOCX's `word/document.xml` text *is* the body, not a part.
14347
- * A caller who has raw file bytes rather than a decoded offset
14348
- * (a reviewer selecting rendered text, say) leaves `range`
14349
- * empty and fills [`TextLocation::source`] instead, which the
14350
- * engine reverse-resolves.
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 container part this belongs to, e.g.
14357
- * `"word/media/image1.png"`. `None` puts it on the body.
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
- * For the media a container embeds, which the report holds as
14360
- * its own group: an image entity lives under its part, and an
14361
- * addition to one has nowhere to go without naming it.
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
- * Text does not need this. A container's text is its body, and
14364
- * where a span came from is already in `TextLocation::source`,
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 a suppression is a
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 it lives elsewhere in the source (a table's column header, a
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 provenance a
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 so the trail records *why* (an
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 [`AuditLog::is_suppressed`] reads it, so there is no
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 group it joins.
14978
+ * @description Where it sits, in the coordinates of the part it joins.
14938
14979
  *
14939
- * For text in a container, that is the body's decoded stream —
14940
- * a DOCX's `word/document.xml` text *is* the body, not a part.
14941
- * A caller who has raw file bytes rather than a decoded offset
14942
- * (a reviewer selecting rendered text, say) leaves `range`
14943
- * empty and fills [`TextLocation::source`] instead, which the
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 container part this belongs to, e.g.
14951
- * `"word/media/image1.png"`. `None` puts it on the body.
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
- * For the media a container embeds, which the report holds as
14954
- * its own group: an image entity lives under its part, and an
14955
- * addition to one has nowhere to go without naming it.
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
- * Text does not need this. A container's text is its body, and
14958
- * where a span came from is already in `TextLocation::source`,
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 a suppression is a
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 it lives elsewhere in the source (a table's column header, a
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 provenance a
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 Half-open `[start, end)` byte range within text content.
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 `range`; the optional page number is
15275
- * carried for codecs that page their text but does not affect comparison.
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 so the trail records *why* (an
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 [`AuditLog::is_suppressed`] reads it, so there is no
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 Token counts a model reported, each optional because providers differ in
15600
- * what they return — some give only a total, some none at all.
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 may be reported even when the input/output split is not.
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 the enhancer then tokenizes on demand instead.
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`] the segments joined is what a recognizer
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 $, Token as $i, SyncStatus as $n, ImageHint as $r, ReplyInvite as $t, Color as A, ActivityPayload as Aa, TabularModel as Ai, RedactionResultPage as An, Audit as Ar, NotificationPage as At, Label as B, WebhookActivityParams as Ba, TextEntity as Bi, ConnectionVerification as Bn, Dimensions as Br, MemberSortField as Bt, Language as C, UsageAnalytics as Ca, TabularAuditKind as Ci, DetectionPage as Cn, AudioHint as Cr, DetectionCompletedParams as Ct, ScopeMetadata as D, ActivityExportOptions as Da, TabularHint as Di, RedactDetection as Dn, AudioPattern as Dr, MemberJoinedParams as Dt, Languages as E, Activity as Ea, TabularEntity as Ei, PipelineDetectionsQuery as En, AudioModel as Er, MemberInvitedParams as Et, GdprArticle9Treatment as F, InviteActivityParams as Fa, TextAuditEvent as Fi, ConnectionConfig as Fn, CitedAttribution as Fr, UnreadStatus as Ft, LanguageTag as G, PasswordChange as Ga, TextPattern as Gi, OpenAiCredentials as Gn, FreeformAttribution as Gr, InviteCode as Gt, LabelLocale as H, Account as Ha, TextLocation as Hi, CreateConnection as Hn, Dpi as Hr, CreateInvite as Ht, GdprSensitiveScope as I, MemberActivityParams as Ia, TextAuditKind as Ii, ConnectionId as In, CodecParams as Ir, UpdateNotificationSettings as It, PciDssPart as J, paths as Ja, TimeSpan as Ji, SyncConnection as Jn, ImageAuditKind as Jr, InvitePreview as Jt, LocalizedText as K, PublicAccount as Ka, TextRefinement as Ki, S3Credentials as Kn, ImageAdd as Kr, InviteExpiration as Kt, HipaaAccountNumbers as L, PipelineActivityParams as La, TextAuditLog as Li, ConnectionPage as Ln, Conflict as Lr, ListMembers as Lt, CreatePolicy as M, ConnectionActivityParams as Ma, TabularRefinement as Mi, AnthropicCredentials as Mn, BoundingBox as Mr, NotificationSettings as Mt, DateGranularity as N, DetectionActivityParams as Na, TabularRetag as Ni, AzureCredentials as Nn, Calibration as Nr, RedactionCreatedParams as Nt, AudioRedaction as O, ActivityFilterQuery as Oa, TabularLocation as Oi, RedactionId as On, AudioRefinement as Or, Notification as Ot, DateStyle as P, FileActivityParams as Pa, TextAdd as Pi, Connection as Pn, Category as Pr, UnreadCountEvent as Pt, PolicyDraft as Q, LayoutWord as Qi, SyncScheduleInput as Qn, ImageEntity as Qr, ListInvites as Qt, HipaaDeidMethod as R, PolicyActivityParams as Ra, TextData as Ri, ConnectionSync as Rn, Contested as Rr, Member as Rt, CountryCode as S, Usage as Sa, TabularAuditEvent as Si, DetectionMetadata as Sn, AudioEntity as Sr, ConnectionSyncFailedParams as St, LanguageSpan as T, WorkspaceAnalytics as Ta, TabularEdit as Ti, DetectionStatusEvent as Tn, AudioManual as Tr, MarkedReadStatus as Tt, LabelRef as U, AccountRef as Ua, TextManual as Ui, GcsCredentials as Un, EditSet as Ur, GenerateInviteCode as Ut, LabelEntry as V, WorkspaceActivityParams as Va, TextHint as Vi, ConnectionsQuery as Vn, DocumentContext as Vr, UpdateMember as Vt, LabelScope as W, Handle as Wa, TextModel as Wi, LlmConfig as Wn, EntityCoRef as Wr, Invite as Wt, Policy as X, Layout as Xi, SyncMode as Xn, ImageData as Xr, InviteSortField as Xt, PciPanRender as Y, ArtifactSet as Yi, SyncDeletionPolicy as Yn, ImageAuditLog as Yr, InviteSent as Yt, PolicyDefinition as Z, LayoutBlock as Zi, SyncSchedule as Zn, ImageEdit as Zr, InviteStatus as Zt, WebhookId as _, ProviderType as _a, RuleMatch as _i, ErrorResponse as _n, AudioAuditEvent as _r, PipelineSummaryPage as _t, RetentionSettings as a, ApiTokenPage as aa, ImageRetag as ai, DeletedFiles as an, ChatSessionPage as ar, TabularRedaction as at, WebhookStatus as b, StorageKindEntry as ba, Suppress as bi, Detection as bn, AudioData as br, CursorPagination as bt, WorkspacePage as c, CreateApiToken as ca, ModelEvent as ci, FileKind as cn, SendChatMessage as cr, TextRedaction as ct, CreateWebhook as d, DetectionAnalytics as da, Point as di, ListFiles as dn, RegisteredRecognizer as dr, CreatePipeline as dt, Tokens as ea, ImageLocation as ei, SortOrder as en, SyncTriggerType as er, PolicySummary as et, TestWebhook as f, DetectionDayEntry as fa, Polygon as fi, ModalityToken as fn, AuthToken as fr, Pipeline as ft, WebhookEvent as g, ModelUsageEntry as ga, Report as gi, ExportQuery as gn, AudioAdd as gr, PipelineSummary as gt, WebhookCreated as h, ModelUsage as ha, Redaction as hi, ExportFormat as hn, Attribution as hr, PipelineStatus as ht, RetentionOverride as i, ApiToken as ia, ImageRefinement as ii, DeleteFiles as in, ChatSession as ir, Sha2Algorithm as it, ConfidenceThreshold as j, ActivityType as ja, TabularPattern as ji, WorkspaceDetectionsQuery as jn, AuditHash as jr, NotificationPayload as jt, ClampBucket as k, ActivityPage as ka, TabularManual as ki, RedactionResult as kn, AudioRetag as kr, NotificationEvent as kt, WorkspaceRole as l, TokenExpiration as la, OperatorId as li, FilePage as ln, LabelCatalog as lr, UpdatePolicy as lt, Webhook as m, DetectionTimeSeries as ma, RasterMode as mi, DateWindow as mn, Signup as mr, PipelineFilter as mt, RasterPolicy as n, TranscriptWord as na, ImageModel as ni, Health as nn, ChatMessage as nr, PolicyTemplate as nt, UpdateWorkspace as o, ApiTokenType as oa, LeakProfile as oi, File as on, ChatToken as or, TemplateOrigin as ot, UpdateWebhook as p, DetectionStatusEntry as pa, RangeOfUint as pi, UpdateFile as pn, Login as pr, PipelineDefinition as pt, ModalityRedactions as q, UpdateAccount as qa, TextRetag as qi, StorageConfig as qn, ImageAuditEvent as qr, InvitePage as qt, Retention as r, Transcription as ra, ImagePattern as ri, HealthStatus as rn, ChatRole as rr, Predicate as rt, Workspace as s, ApiTokenWithJWT as sa, ManualIntent as si, FileHash as sn, CreateChatSession as sr, TerminalFallback as st, CreateWorkspace as t, TranscriptSegment as ta, ImageManual as ti, ComponentHealth as tn, UpdateConnection as tr, PolicySummaryPage as tt, WorkspaceSettings as u, UpdateApiToken as ua, PatternEvent as ui, FormatToken as un, RecognizerCatalog as ur, Waveform as ut, WebhookPage as v, RecognizerId as va, Selection as vi, ValidationErrorDetail as vn, AudioAuditKind as vr, PipelineTriggerType as vt, LanguageProvenance as w, UsageReport as wa, TabularAuditLog as wi, DetectionStatus as wn, AudioLocation as wr, DetectionFailedParams as wt, Confidence as x, TokenCounts as xa, TabularAdd as xi, DetectionId as xn, AudioEdit as xr, ConnectionSyncCompletedParams as xt, WebhookResult as y, StorageAnalytics as ya, SourceRef as yi, CreateDetection as yn, AudioAuditLog as yr, UpdatePipeline as yt, ImageRedaction as z, RedactionActivityParams as za, TextEdit as zi, ConnectionSyncPage as zn, Deduplication as zr, MemberPage as zt };
16667
- //# sourceMappingURL=index-Co9cILnx.d.ts.map
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