@nvisy/sdk 0.26.0 → 0.27.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.
@@ -4578,7 +4578,7 @@ interface paths {
4578
4578
  * here; labels are re-derived from the policy set on each
4579
4579
  * anonymize call.
4580
4580
  *
4581
- * No [`Default`] a well-formed audit must carry a real
4581
+ * No [`Default`]: a well-formed audit must carry a real
4582
4582
  * [`AuditContext`] with a real correlation id. Callers building
4583
4583
  * an audit outside the analyze path construct it explicitly.
4584
4584
  */
@@ -5226,7 +5226,9 @@ interface paths {
5226
5226
  /**
5227
5227
  * @description Request payload for updating an existing workspace policy.
5228
5228
  *
5229
- * Replacing the `definition` replaces the whole policy body.
5229
+ * Replacing the `definition` replaces the whole policy body. The policy's
5230
+ * template origin is server-owned and preserved across updates — it is not
5231
+ * settable here.
5230
5232
  */
5231
5233
  requestBody: {
5232
5234
  content: {
@@ -8113,29 +8115,51 @@ interface components {
8113
8115
  token: string;
8114
8116
  };
8115
8117
  /**
8116
- * @description Author-supplied rationale for a redaction: a policy name and an optional
8117
- * description.
8118
+ * @description Author-supplied rationale for a redaction: *under what authority* it was made.
8118
8119
  *
8119
8120
  * Where the matched selection rule answers *which rule fired*, an
8120
- * `Attribution` answers *under what authority* — a compliance clause, an
8121
+ * `Attribution` answers *why the policy demanded it* — a compliance clause, an
8121
8122
  * internal policy, a data-handling rule. A policy author attaches it to a
8122
- * selection rule (`Rule::because` in `elide-redaction`); the anonymizer
8123
- * records it on the entity's [`Redaction`] event so an audit can trace a
8124
- * change back to the policy that demanded it.
8125
- *
8126
- * The `name` is the author's label for that policy (`"gdpr-art-17"`,
8127
- * `"hipaa-safe-harbor"`, `"PII removal"`); an optional `description` adds
8128
- * human context. Any stable machine identity a policy layer needs (a rule
8129
- * UUID, a jurisdiction) is that layer's concern — it can encode it in the
8130
- * name or carry it separately.
8123
+ * selection rule (`Rule::because` in `elide-redaction`); the anonymizer records
8124
+ * it on the entity's [`Redaction`] event so an audit can trace a change back to
8125
+ * the policy that demanded it.
8126
+ *
8127
+ * The rationale takes one of two [`kind`](Attribution::kind)s, by how much
8128
+ * structure the author has ([`AttributionKind::Freeform`] /
8129
+ * [`AttributionKind::Cited`]). Orthogonal to that, an attribution may carry a
8130
+ * [`source_id`](Attribution::source_id): an opaque, caller-owned [`Uuid`] the
8131
+ * policy layer uses to link back to a source record (a rule, a request, a
8132
+ * document). elide-core stores and hashes it verbatim; it never resolves or
8133
+ * validates it.
8131
8134
  *
8132
8135
  * [`Redaction`]: crate::entity::audit::AuditKind::Redaction
8133
8136
  */
8134
8137
  Attribution: {
8138
+ /** @description The shape of the rationale: a freeform label or a formal citation. */
8139
+ kind: components["schemas"]["AttributionKind"];
8140
+ /**
8141
+ * Format: uuid
8142
+ * @description Opaque, caller-owned link to a source record, when given.
8143
+ */
8144
+ source_id?: string;
8145
+ };
8146
+ /** @description The shape of an [`Attribution`]'s rationale. */
8147
+ AttributionKind: {
8135
8148
  /** @description Human-readable description (e.g. `"right to erasure"`), when given. */
8136
8149
  description?: string;
8150
+ /** @constant */
8151
+ kind: "freeform";
8137
8152
  /** @description The policy's name (e.g. `"gdpr-art-17"`, `"hipaa-safe-harbor"`). */
8138
8153
  name: string;
8154
+ } | {
8155
+ /** @description The authority cited (e.g. `"GDPR"`, `"HIPAA"`, `"internal-policy"`). */
8156
+ authority: string;
8157
+ /** @description The citation within that authority (e.g. `"Art. 17(1)"`, `"§164.514"`). */
8158
+ citation: string;
8159
+ /** @constant */
8160
+ kind: "cited";
8161
+ /** @description Why the citation applies here (e.g. `"data subject requested erasure"`). */
8162
+ rationale: string;
8139
8163
  };
8140
8164
  /**
8141
8165
  * @description One node in an entity's audit DAG: a thing that happened, with its
@@ -8468,7 +8492,7 @@ interface components {
8468
8492
  * `Some(...)` overrides that rule for this specific entity
8469
8493
  * at apply time. Reviewer overrides take precedence over
8470
8494
  * every policy rule and inherit the authority of the
8471
- * [`Review::policy_id`] they name the audit event's
8495
+ * [`Review::policy_id`] they name: the audit event's
8472
8496
  * attribution stamps that policy so the trail names the
8473
8497
  * authority under which the override fired.
8474
8498
  */
@@ -8561,7 +8585,7 @@ interface components {
8561
8585
  * here; labels are re-derived from the policy set on each
8562
8586
  * anonymize call.
8563
8587
  *
8564
- * No [`Default`] a well-formed audit must carry a real
8588
+ * No [`Default`]: a well-formed audit must carry a real
8565
8589
  * [`AuditContext`] with a real correlation id. Callers building
8566
8590
  * an audit outside the analyze path construct it explicitly.
8567
8591
  */
@@ -8583,7 +8607,7 @@ interface components {
8583
8607
  * vocabulary analyze used without the caller re-passing an
8584
8608
  * `AnalyzerParams`.
8585
8609
  *
8586
- * Required on the wire a missing context on an incoming
8610
+ * Required on the wire: a missing context on an incoming
8587
8611
  * [`Audit`] rejects at deserialize time so the shape
8588
8612
  * mismatch surfaces at load, not at apply.
8589
8613
  *
@@ -8608,11 +8632,11 @@ interface components {
8608
8632
  * for `languages` and `countries` (typed, elide-native), a
8609
8633
  * [`metadata`] sub-struct for free-form classification strings
8610
8634
  * (`tags`, `purpose`, `audience`), and the analyze-time
8611
- * [`correlation_id`]. The label catalog is not on here
8635
+ * [`correlation_id`]. The label catalog is not on here -
8612
8636
  * labels are policy-owned, and anonymize re-derives them from
8613
8637
  * the policy set it was handed.
8614
8638
  *
8615
- * No [`Default`] `correlation_id` has no meaningful default
8639
+ * No [`Default`]: `correlation_id` has no meaningful default
8616
8640
  * (a nil UUID would silently collapse unrelated audits under
8617
8641
  * one bucket in downstream trace aggregators), so callers
8618
8642
  * supply one explicitly. Everything else defaults to empty.
@@ -8630,12 +8654,12 @@ interface components {
8630
8654
  * carried over so the anonymize path can link its own spans
8631
8655
  * to the same request. The anonymize call supplies a fresh
8632
8656
  * id from the passed [`Document`] as the anonymize-side
8633
- * correlation id this one stays as the analyze-side
8657
+ * correlation id: this one stays as the analyze-side
8634
8658
  * pointer.
8635
8659
  *
8636
8660
  * Required on the wire.
8637
8661
  *
8638
- * [`Document`]: nvisy_schema::file::Document
8662
+ * [`Document`]: elide_wire::file::Document
8639
8663
  */
8640
8664
  correlationId: string;
8641
8665
  /**
@@ -8660,15 +8684,15 @@ interface components {
8660
8684
  /**
8661
8685
  * @description OCR mode the analyze call decoded with. Recorded so the
8662
8686
  * anonymize call re-decodes the same document under the same
8663
- * codec configuration otherwise entity offsets stored in
8687
+ * codec configuration: otherwise entity offsets stored in
8664
8688
  * the audit wouldn't line up against a differently-rendered
8665
- * second decode. Defaults to [`OcrMode::Auto`] (the codec's
8689
+ * second decode. Defaults to [`RasterMode::Auto`] (the codec's
8666
8690
  * built-in behaviour) when omitted.
8667
8691
  * @default {
8668
8692
  * "kind": "auto"
8669
8693
  * }
8670
8694
  */
8671
- ocrMode: components["schemas"]["OcrMode"];
8695
+ rasterMode: components["schemas"]["RasterMode"];
8672
8696
  };
8673
8697
  /**
8674
8698
  * @description A 32-byte BLAKE3 digest.
@@ -8788,11 +8812,11 @@ interface components {
8788
8812
  * Three forms, deserialized untagged so callers can pick the
8789
8813
  * terser one for the case at hand:
8790
8814
  *
8791
- * - **Plain string** (`"90 or older"`) English-only shorthand.
8792
- * - **Localized map** (`{"en": "90 or older", "fr": "90 ou plus"}`)
8793
- * one entry per language the deployment ships; missing
8794
- * locales fall back to English at render time.
8795
- * - **Format template** (`{"format": "{n} or older"}`) the
8815
+ * - **Plain string** (`"90 or older"`): English-only shorthand.
8816
+ * - **Localized map** (`{"en": "90 or older", "fr": "90 ou plus"}`):
8817
+ * one entry per language the deployment ships; missing locales
8818
+ * fall back to English at render time.
8819
+ * - **Format template** (`{"format": "{n} or older"}`): the
8796
8820
  * engine substitutes `{n}` for the threshold, so a ceiling of
8797
8821
  * `90` renders `"90 or older"` without the caller repeating the
8798
8822
  * number. Same rendering in every language.
@@ -9177,12 +9201,12 @@ interface components {
9177
9201
  template: components["schemas"]["PolicyTemplate"];
9178
9202
  } | {
9179
9203
  /**
9180
- * @description The structured policy body.
9204
+ * @description The client-authored policy body.
9181
9205
  *
9182
9206
  * Boxed to keep the enum small: an inline body is much larger than a
9183
9207
  * template id, and most requests use a template.
9184
9208
  */
9185
- definition: components["schemas"]["PolicyDefinition"];
9209
+ definition: components["schemas"]["PolicyDraft"];
9186
9210
  /** @constant */
9187
9211
  source: "inline";
9188
9212
  });
@@ -9322,7 +9346,7 @@ interface components {
9322
9346
  *
9323
9347
  * Tagged by `modality` (snake_case) so deserialization picks the
9324
9348
  * right variant and the entity vec inside is statically typed
9325
- * per modality apply-time we hand each variant back to elide
9349
+ * per modality: apply-time we hand each variant back to elide
9326
9350
  * as a `Vec<Entity<M>>` for the appropriate `M`.
9327
9351
  *
9328
9352
  * [`Audit`]: crate::Audit
@@ -9476,35 +9500,12 @@ interface components {
9476
9500
  */
9477
9501
  serviceAccountPath: string;
9478
9502
  };
9479
- /**
9480
- * @description The GDPR Article 9 template config — treatment axis fused
9481
- * with sensitive-scope axis. Carried directly by
9482
- * [`crate::PolicyTemplate::GdprArticle9`].
9483
- */
9484
- GdprArticle9: {
9485
- /**
9486
- * @description Which sensitive-data labels to cover. Defaults to
9487
- * [`GdprSensitiveScope::Article9`] (nine Article 9(1)
9488
- * categories only). Pick
9489
- * [`GdprSensitiveScope::Article9WithReidHardening`] to add
9490
- * Recital 26 quasi-identifiers, or
9491
- * [`GdprSensitiveScope::Article9And10`] to also cover
9492
- * Article 10 criminal-justice data.
9493
- * @default article9
9494
- */
9495
- scope: components["schemas"]["GdprSensitiveScope"];
9496
- /**
9497
- * @description Which operator to apply to matches. See
9498
- * [`GdprArticle9Treatment`] for the tradeoff.
9499
- */
9500
- treatment: components["schemas"]["GdprArticle9Treatment"];
9501
- };
9502
9503
  /**
9503
9504
  * @description Which operator to apply to Article 9 special-category entities.
9504
9505
  *
9505
- * - [`Erase`](Self::Erase) the default no-lawful-basis posture.
9506
+ * - [`Erase`](Self::Erase): the default no-lawful-basis posture.
9506
9507
  * Every match is removed.
9507
- * - [`Pseudonymize`](Self::Pseudonymize) identity-preserving
9508
+ * - [`Pseudonymize`](Self::Pseudonymize): identity-preserving
9508
9509
  * surrogate. Suitable when an Article 9(2) carve-out
9509
9510
  * (explicit consent, employment law, public-health public
9510
9511
  * interest, ...) authorizes retention and downstream
@@ -9519,15 +9520,22 @@ interface components {
9519
9520
  * Three tiers, each strictly widening the previous one so a
9520
9521
  * caller upgrading through the tiers never loses coverage:
9521
9522
  *
9522
- * - [`Article9`](Self::Article9) the nine Article 9(1)
9523
+ * - [`Article9`](Self::Article9): the nine Article 9(1)
9523
9524
  * special categories only. The default.
9524
- * - [`Article9WithReidHardening`](Self::Article9WithReidHardening)
9525
- * Article 9 plus `date_of_birth` and `postal_code`. The two
9526
- * quasi-identifiers Recital 26 highlights as re-identification
9527
- * vectors when combined with special-category data. Non-
9528
- * binding guidance, but reflects supervisory-authority
9529
- * expectations on pseudonymization robustness.
9530
- * - [`Article9And10`](Self::Article9And10) — Article 9 + Recital
9525
+ * - [`Article9WithReidHardening`](Self::Article9WithReidHardening) -
9526
+ * Article 9 plus the quasi-identifiers that carry the most join
9527
+ * risk against public datasets: `date_of_birth`, `postal_code`,
9528
+ * and `gender` (the combination that re-identifies most of a
9529
+ * population on its own), widened with `age`, `city`,
9530
+ * `nationality`, `citizenship`, and `occupation`.
9531
+ *
9532
+ * A product-defined tier, not a complete answer to Recital 26:
9533
+ * the Recital sets a reasonableness test over "all the means
9534
+ * reasonably likely to be used" to re-identify, judged against
9535
+ * the caller's own data and adversary, so no fixed label list
9536
+ * can satisfy it. Callers whose threat model reaches wider
9537
+ * extend the policy after building it.
9538
+ * - [`Article9And10`](Self::Article9And10): Article 9 + Recital
9531
9539
  * 26 hardening + Article 10's criminal-justice labels
9532
9540
  * (`criminal_record`, `criminal_charge`, `judicial_narrative`).
9533
9541
  * Article 10 governs "personal data relating to criminal
@@ -9564,7 +9572,7 @@ interface components {
9564
9572
  * The regulation names "account numbers" without enumerating
9565
9573
  * them; HHS OCR's 2012 guidance doesn't narrow it either. In
9566
9574
  * practice, covered entities and de-ID vendors treat bank
9567
- * accounts, IBANs, and payment cards as the core §(J) set
9575
+ * accounts, IBANs, and payment cards as the core §(J) set -
9568
9576
  * [`Standard`](Self::Standard). Cryptocurrency wallet addresses
9569
9577
  * are the newer case: they identify a specific holder's account
9570
9578
  * by function, and the §(R) catch-all pulls in "any other unique
@@ -9586,46 +9594,25 @@ interface components {
9586
9594
  *
9587
9595
  * The tradeoff is analytic yield vs. downstream constraint:
9588
9596
  *
9589
- * - [`SafeHarbor`](Self::SafeHarbor) strips all eighteen
9597
+ * - [`SafeHarbor`](Self::SafeHarbor): strips all eighteen
9590
9598
  * identifier categories. No Data Use Agreement or statistician
9591
9599
  * required, but dates, coarse geography, and ages ≥ 90 all
9592
9600
  * disappear or collapse.
9593
- * - [`LimitedDataSet`](Self::LimitedDataSet) narrower
9601
+ * - [`LimitedDataSet`](Self::LimitedDataSet): narrower
9594
9602
  * subtraction (§164.514(e)(2)) that keeps dates, town/city,
9595
9603
  * state, ZIP, and ages verbatim. Suitable for research and
9596
9604
  * public-health handoffs *only when* a Data Use Agreement
9597
9605
  * governs the recipient's use.
9598
- * - [`ExpertDetermination`](Self::ExpertDetermination)
9606
+ * - [`ExpertDetermination`](Self::ExpertDetermination) -
9599
9607
  * starting scaffold for §164.514(b)(1). Same label set as
9600
9608
  * Safe Harbor with pseudonymization as the default terminal
9601
9609
  * (identity-preserving across mentions). **Does not certify
9602
- * de-identification** a qualified statistician must
9610
+ * de-identification**: a qualified statistician must
9603
9611
  * document that re-identification risk is "very small" under
9604
9612
  * the applicable methodology before the output can be treated
9605
9613
  * as de-identified.
9606
9614
  */
9607
9615
  HipaaDeidMethod: "safe_harbor" | "limited_data_set" | "expert_determination";
9608
- /**
9609
- * @description The HIPAA §164.514 template config — method axis fused with
9610
- * account-identifier axis. Carried directly by
9611
- * [`crate::PolicyTemplate::HipaaDeidentification`].
9612
- */
9613
- HipaaDeidentification: {
9614
- /**
9615
- * @description Which §(J) account-identifier labels to remove. Defaults
9616
- * to [`HipaaAccountNumbers::Standard`] (bank account +
9617
- * IBAN + payment card). Pick
9618
- * [`HipaaAccountNumbers::Extended`] to add crypto wallet
9619
- * addresses under the §(R) catch-all reading.
9620
- * @default standard
9621
- */
9622
- accounts: components["schemas"]["HipaaAccountNumbers"];
9623
- /**
9624
- * @description Which §164.514 method to apply. See [`HipaaDeidMethod`]
9625
- * for the tradeoff.
9626
- */
9627
- method: components["schemas"]["HipaaDeidMethod"];
9628
- };
9629
9616
  /**
9630
9617
  * @description One node in an entity's audit DAG: a thing that happened, with its
9631
9618
  * effect on confidence and its tamper-evident links.
@@ -9955,7 +9942,7 @@ interface components {
9955
9942
  * `Some(...)` overrides that rule for this specific entity
9956
9943
  * at apply time. Reviewer overrides take precedence over
9957
9944
  * every policy rule and inherit the authority of the
9958
- * [`Review::policy_id`] they name the audit event's
9945
+ * [`Review::policy_id`] they name: the audit event's
9959
9946
  * attribution stamps that policy so the trail names the
9960
9947
  * authority under which the override fired.
9961
9948
  */
@@ -10269,27 +10256,32 @@ interface components {
10269
10256
  * rule that targets that list references the group by name
10270
10257
  * instead of respelling the labels. When elide adds a new label
10271
10258
  * to a category, extending the group covers every rule that
10272
- * referenced it no rule edit.
10273
- *
10274
- * **Compilation**: at request time the engine synthesises a
10275
- * `group:<policy_id>:<name>` tag on every label listed in the
10276
- * group, then rewrites [`Predicate::LabelInGroup { group }`]
10277
- * into [`Predicate::TagOneOf { tags: ["group:<policy_id>:<name>"] }`].
10278
- * That routes through the same `Anonymizer::with_tag` fast
10279
- * path as any authored tag — no new engine machinery, no
10280
- * per-request walk over group membership. Scoping the tag by
10281
- * `policy_id` keeps two policies that both declare `hipaa_18`
10282
- * with different labelsets from stepping on each other.
10259
+ * referenced it: no rule edit.
10260
+ *
10261
+ * **Compilation**: groups stay on the policy. Evaluating a
10262
+ * [`Predicate::LabelInGroup { group }`] looks the name up in
10263
+ * the policy's own group table and tests the entity's label for
10264
+ * membership. Nothing is stamped onto the label catalog, so two
10265
+ * policies that both declare `hipaa_18` with different labelsets
10266
+ * cannot step on each other.
10283
10267
  *
10284
10268
  * **Unknown group names error at request validation**, not at
10285
10269
  * apply time. A typo doesn't silently underfire.
10286
10270
  *
10287
10271
  * [`PolicyDefinition`]: super::PolicyDefinition
10288
- * [`Predicate::LabelInGroup`]: super::predicate::Predicate::LabelInGroup
10289
- * [`Predicate::LabelInGroup { group }`]: super::predicate::Predicate::LabelInGroup
10290
- * [`Predicate::TagOneOf { tags: ["group:<policy_id>:<name>"] }`]: super::predicate::Predicate::TagOneOf
10272
+ * [`Predicate::LabelInGroup`]: crate::Predicate::LabelInGroup
10273
+ * [`Predicate::LabelInGroup { group }`]: crate::Predicate::LabelInGroup
10291
10274
  */
10292
10275
  LabelGroup: {
10276
+ /**
10277
+ * @description Why this cluster exists: the authority that defines it.
10278
+ *
10279
+ * A group usually maps to one regulatory category (HIPAA's
10280
+ * eighteen identifiers, GDPR Article 9(1)'s nine special
10281
+ * categories), so this is where that mapping is recorded as
10282
+ * data rather than prose.
10283
+ */
10284
+ attribution?: components["schemas"]["AttributionKind"];
10293
10285
  /** @description Optional description for reviewers. */
10294
10286
  description?: string;
10295
10287
  /**
@@ -10297,7 +10289,7 @@ interface components {
10297
10289
  *
10298
10290
  * A label that doesn't appear in the request's compiled
10299
10291
  * [`LabelCatalog`] is silently skipped at tag-synthesis time
10300
- * a group can safely list labels the current build
10292
+ * : a group can safely list labels the current build
10301
10293
  * doesn't emit (e.g. modality-gated ones); rules keyed off
10302
10294
  * the group still fire on whatever labels *are* present.
10303
10295
  *
@@ -10308,11 +10300,10 @@ interface components {
10308
10300
  * @description Stable name a [`Predicate::LabelInGroup`] references.
10309
10301
  *
10310
10302
  * Free-form; a policy layer picks the vocabulary. Recommend
10311
- * snake_case identifiers (`hipaa_18`, `gdpr_article_9`)
10312
- * they compile to `group:hipaa_18` tags on the catalog and
10313
- * read cleanly in audit provenance.
10303
+ * snake_case identifiers (`hipaa_18`, `gdpr_article_9`) -
10304
+ * they read cleanly in audit provenance.
10314
10305
  *
10315
- * [`Predicate::LabelInGroup`]: super::predicate::Predicate::LabelInGroup
10306
+ * [`Predicate::LabelInGroup`]: crate::Predicate::LabelInGroup
10316
10307
  */
10317
10308
  name: string;
10318
10309
  };
@@ -10359,8 +10350,9 @@ interface components {
10359
10350
  /**
10360
10351
  * @description Builtin label names to enable.
10361
10352
  *
10362
- * E.g. `"email_address"`, `"phone_number"`. Unknown names
10363
- * log a warning and are skipped.
10353
+ * E.g. `"email_address"`, `"phone_number"`. An unknown name
10354
+ * is rejected at request compile time: a typo fails loudly
10355
+ * rather than quietly dropping the label from the policy.
10364
10356
  */
10365
10357
  builtins?: components["schemas"]["LabelRef"][];
10366
10358
  /** @description Custom labels defined inline by the caller. */
@@ -10777,33 +10769,6 @@ interface components {
10777
10769
  /** @description Whether to send email notifications. */
10778
10770
  notifyViaEmail: boolean;
10779
10771
  };
10780
- /**
10781
- * @description Policy for turning a document's pages into images for OCR.
10782
- *
10783
- * A born-digital PDF has a selectable text layer and needs no OCR; a
10784
- * scanned one is image-only and must be rendered to images first. [`Auto`]
10785
- * is the right default — extract text, render only what lacks it — but the
10786
- * text-layer parser that drives that decision is not in place yet, so today
10787
- * only [`Force`] actually renders.
10788
- *
10789
- * Serializes with an internal `kind` tag (`{"kind": "auto"}`,
10790
- * `{"kind": "force", "dpi": 300}`, `{"kind": "never"}`).
10791
- *
10792
- * [`Auto`]: OcrMode::Auto
10793
- * [`Force`]: OcrMode::Force
10794
- */
10795
- OcrMode: {
10796
- /** @constant */
10797
- kind: "auto";
10798
- } | {
10799
- /** @description Resolution to render pages at; [`Dpi::OCR`] (300) is typical. */
10800
- dpi: components["schemas"]["Dpi"];
10801
- /** @constant */
10802
- kind: "force";
10803
- } | {
10804
- /** @constant */
10805
- kind: "never";
10806
- };
10807
10772
  /**
10808
10773
  * @description How a workspace's documents are turned into images for OCR during detection.
10809
10774
  *
@@ -10851,12 +10816,12 @@ interface components {
10851
10816
  /**
10852
10817
  * @description Which PCI DSS subsection this template addresses.
10853
10818
  *
10854
- * - [`PanRender`](Self::PanRender) §3.5.1 render posture for
10819
+ * - [`PanRender`](Self::PanRender): §3.5.1 render posture for
10855
10820
  * stored Primary Account Numbers. Carries a [`PciPanRender`]
10856
10821
  * picking between the shipped render approaches.
10857
- * - [`SavErase`](Self::SavErase) §3.3.1 prohibition on
10822
+ * - [`SavErase`](Self::SavErase): §3.3.1 prohibition on
10858
10823
  * storing Sensitive Authentication Data (CVV/CVC, track data,
10859
- * PIN blocks) after authorization. No options SAV has one
10824
+ * PIN blocks) after authorization. No options: SAV has one
10860
10825
  * posture: erase.
10861
10826
  */
10862
10827
  PciDssPart: {
@@ -10893,7 +10858,7 @@ interface components {
10893
10858
  * Callers wanting more than one dispatched from one policy
10894
10859
  * compose multiple templates.
10895
10860
  *
10896
- * [`Engine::with_key_provider`]: https://docs.rs/nvisy-engine/latest/nvisy_engine/struct.Engine.html
10861
+ * [`Engine::with_key_provider`]: https://docs.rs/elide-pipeline/latest/elide_pipeline/struct.Engine.html
10897
10862
  */
10898
10863
  PciPanRender: "truncate" | "truncate_last_four" | "hmac_sha256" | "hmac_sha512";
10899
10864
  /** @description Pipeline response. */
@@ -11265,24 +11230,19 @@ interface components {
11265
11230
  /**
11266
11231
  * @description Named clusters of [`LabelRef`]s this policy's rules may
11267
11232
  * reference by name via [`Predicate::LabelInGroup`]. Scoped
11268
- * to this policy a rule can only name a group its own
11233
+ * to this policy: a rule can only name a group its own
11269
11234
  * policy declared; unknown references error at request
11270
11235
  * validation. Two policies that both declare `hipaa_18` with
11271
11236
  * different labelsets stay independent.
11272
11237
  *
11273
11238
  * [`LabelRef`]: elide_core::entity::LabelRef
11274
- * [`Predicate::LabelInGroup`]: predicate::Predicate::LabelInGroup
11239
+ * [`Predicate::LabelInGroup`]: crate::Predicate::LabelInGroup
11275
11240
  */
11276
11241
  groups?: components["schemas"]["LabelGroup"][];
11277
11242
  /**
11278
11243
  * Format: uuid
11279
11244
  * @description Stable identifier. UUIDv7 recommended (time-ordered);
11280
11245
  * customer-supplied so re-submissions carry the same id.
11281
- * Engine stamps this into the redaction event's
11282
- * [`Attribution::name`] so reviewers can find this policy
11283
- * from any redaction it drove.
11284
- *
11285
- * [`Attribution::name`]: elide_core::entity::audit::Attribution::name
11286
11246
  */
11287
11247
  id: string;
11288
11248
  /**
@@ -11293,10 +11253,56 @@ interface components {
11293
11253
  * tag-based [`Predicate::TagOneOf`] matching.
11294
11254
  *
11295
11255
  * [`LabelCatalog`]: elide_core::entity::LabelCatalog
11296
- * [`Predicate::TagOneOf`]: predicate::Predicate::TagOneOf
11256
+ * [`Predicate::TagOneOf`]: crate::Predicate::TagOneOf
11257
+ */
11258
+ labels?: components["schemas"]["Labels"];
11259
+ /**
11260
+ * @description Human-readable name. Display-only. Does not key anything.
11261
+ *
11262
+ * Names the policy in a redaction event's [`Attribution`]
11263
+ * when a rule that fired carried no [`AttributionKind::Cited`]
11264
+ * attribution to render.
11265
+ *
11266
+ * [`Attribution`]: elide_core::entity::audit::Attribution
11267
+ * [`AttributionKind::Cited`]: elide_core::entity::audit::AttributionKind::Cited
11268
+ */
11269
+ name: string;
11270
+ /** @description Ordered rules. First match wins within this policy. */
11271
+ rules?: components["schemas"]["PolicyRule"][];
11272
+ /**
11273
+ * @description The shipped template this policy was built from, when it
11274
+ * was.
11275
+ *
11276
+ * Provenance, not fidelity: callers are expected to mutate a
11277
+ * template's policy before submitting, so this records where
11278
+ * the policy came from and says nothing about whether it
11279
+ * still matches. `None` means hand-authored.
11280
+ */
11281
+ template?: components["schemas"]["TemplateOrigin"];
11282
+ };
11283
+ /**
11284
+ * @description A client-authored policy body: the parts of a policy definition a caller may
11285
+ * set, without the fields the server owns.
11286
+ *
11287
+ * The engine's `PolicyDefinition` also carries an `id` and a `template` origin.
11288
+ * Both are server-owned — the `id` is minted at creation and the `template`
11289
+ * records which built-in a policy was seeded from (provenance). Neither is
11290
+ * representable here, so a client cannot mint ids or forge provenance; the
11291
+ * server stamps them in [`into_definition`](PolicyDraft::into_definition).
11292
+ */
11293
+ PolicyDraft: {
11294
+ /** @description Optional description for reviewers. */
11295
+ description?: string;
11296
+ /** @description Per-policy catch-all, fired when no rule matched. */
11297
+ fallback?: components["schemas"]["ModalityRedactions"];
11298
+ /** @description Named clusters of labels this policy's rules may reference by name. */
11299
+ groups?: components["schemas"]["LabelGroup"][];
11300
+ /**
11301
+ * @description Vocabulary the policy operates over: builtins picked by name plus
11302
+ * caller-authored custom label schemas.
11297
11303
  */
11298
11304
  labels?: components["schemas"]["Labels"];
11299
- /** @description Human-readable name. Display-only. Does not key anything. */
11305
+ /** @description Human-readable name. Display-only. */
11300
11306
  name: string;
11301
11307
  /** @description Ordered rules. First match wins within this policy. */
11302
11308
  rules?: components["schemas"]["PolicyRule"][];
@@ -11321,16 +11327,30 @@ interface components {
11321
11327
  * [`PolicyDefinition`]: super::PolicyDefinition
11322
11328
  */
11323
11329
  PolicyRule: {
11330
+ /**
11331
+ * @description Why this rule exists: the authority it answers to.
11332
+ *
11333
+ * The engine renders it into the redaction event's
11334
+ * [`Attribution`], so a reviewer sees the provision rather
11335
+ * than a bare UUID. `None` falls back to recording the
11336
+ * policy and rule ids alone.
11337
+ *
11338
+ * Optional so ad-hoc and hand-authored rules stay cheap to
11339
+ * write; the shipped templates set it on every rule.
11340
+ *
11341
+ * [`Attribution`]: elide_core::entity::audit::Attribution
11342
+ */
11343
+ attribution?: components["schemas"]["AttributionKind"];
11324
11344
  /** @description Optional description for reviewers. */
11325
11345
  description?: string;
11326
11346
  /**
11327
11347
  * Format: uuid
11328
11348
  * @description Stable identifier. UUIDv7 recommended. Engine stamps it
11329
- * into the redaction event's [`Attribution::description`] so
11349
+ * into the redaction event's [`Attribution::source_id`] so
11330
11350
  * reviewers can trace which rule fired. Every attachment a
11331
11351
  * [`RuleDispatch::Table`] expands into shares this UUID.
11332
11352
  *
11333
- * [`Attribution::description`]: elide_core::entity::audit::Attribution::description
11353
+ * [`Attribution::source_id`]: elide_core::entity::audit::Attribution::source_id
11334
11354
  */
11335
11355
  id: string;
11336
11356
  /** @description Human-readable name. Display-only. */
@@ -11343,7 +11363,7 @@ interface components {
11343
11363
  * policy in the chain).
11344
11364
  *
11345
11365
  * Boxed to keep [`RuleDispatch`]'s stack footprint
11346
- * small [`ModalityRedactions`] carries four optional
11366
+ * small: [`ModalityRedactions`] carries four optional
11347
11367
  * per-modality operator enums and dominates the variant
11348
11368
  * size. `Table`'s `Vec<LabelEntry>` already heap-allocates
11349
11369
  * its entries, so boxing here keeps the two variants
@@ -11422,13 +11442,43 @@ interface components {
11422
11442
  * operator options,
11423
11443
  * `{"kind": "pci_dss_pan", "render": "hmac_sha256"}`.
11424
11444
  */
11425
- PolicyTemplate: ({
11445
+ PolicyTemplate: {
11446
+ /**
11447
+ * @description Which §(J) account-identifier labels to remove. Defaults
11448
+ * to [`HipaaAccountNumbers::Standard`] (bank account +
11449
+ * IBAN + payment card). Pick
11450
+ * [`HipaaAccountNumbers::Extended`] to add crypto wallet
11451
+ * addresses under the §(R) catch-all reading.
11452
+ * @default standard
11453
+ */
11454
+ accounts: components["schemas"]["HipaaAccountNumbers"];
11426
11455
  /** @constant */
11427
11456
  kind: "hipaa_deidentification";
11428
- } & components["schemas"]["HipaaDeidentification"]) | ({
11457
+ /**
11458
+ * @description Which §164.514 method to apply. See [`HipaaDeidMethod`]
11459
+ * for the tradeoff.
11460
+ */
11461
+ method: components["schemas"]["HipaaDeidMethod"];
11462
+ } | {
11429
11463
  /** @constant */
11430
11464
  kind: "gdpr_article9";
11431
- } & components["schemas"]["GdprArticle9"]) | {
11465
+ /**
11466
+ * @description Which sensitive-data labels to cover. Defaults to
11467
+ * [`GdprSensitiveScope::Article9`] (nine Article 9(1)
11468
+ * categories only). Pick
11469
+ * [`GdprSensitiveScope::Article9WithReidHardening`] to add
11470
+ * the quasi-identifier set, or
11471
+ * [`GdprSensitiveScope::Article9And10`] to also cover
11472
+ * Article 10 criminal-justice data.
11473
+ * @default article9
11474
+ */
11475
+ scope: components["schemas"]["GdprSensitiveScope"];
11476
+ /**
11477
+ * @description Which operator to apply to matches. See
11478
+ * [`GdprArticle9Treatment`] for the tradeoff.
11479
+ */
11480
+ treatment: components["schemas"]["GdprArticle9Treatment"];
11481
+ } | {
11432
11482
  /** @constant */
11433
11483
  kind: "pci_dss";
11434
11484
  /**
@@ -11439,9 +11489,6 @@ interface components {
11439
11489
  } | {
11440
11490
  /** @constant */
11441
11491
  kind: "ccpa";
11442
- } | {
11443
- /** @constant */
11444
- kind: "soc2_secrets";
11445
11492
  };
11446
11493
  /**
11447
11494
  * @description Closed polygon, given by its ordered vertices.
@@ -11529,6 +11576,33 @@ interface components {
11529
11576
  /** Format: uint */
11530
11577
  start: number;
11531
11578
  };
11579
+ /**
11580
+ * @description Policy for rendering a document's pages to images.
11581
+ *
11582
+ * [`Auto`] is the default: use the text layer where it exists (redact by
11583
+ * deleting glyphs) and render only where it is absent. [`Always`] renders
11584
+ * every page regardless of the text layer, for documents whose text is
11585
+ * missing, garbled, or a watermark. [`Never`] relies on the text layer only.
11586
+ *
11587
+ * Serializes with an internal `kind` tag (`{"kind": "auto"}`,
11588
+ * `{"kind": "always", "dpi": 300}`, `{"kind": "never"}`).
11589
+ *
11590
+ * [`Auto`]: RasterMode::Auto
11591
+ * [`Always`]: RasterMode::Always
11592
+ * [`Never`]: RasterMode::Never
11593
+ */
11594
+ RasterMode: {
11595
+ /** @constant */
11596
+ kind: "auto";
11597
+ } | {
11598
+ /** @description Resolution to render pages at; [`Dpi::OCR`] (300) is typical. */
11599
+ dpi: components["schemas"]["Dpi"];
11600
+ /** @constant */
11601
+ kind: "always";
11602
+ } | {
11603
+ /** @constant */
11604
+ kind: "never";
11605
+ };
11532
11606
  /** @description The engine's registered recognizers, grouped by kind. */
11533
11607
  RecognizerCatalog: {
11534
11608
  /** @description LLM recognizers. */
@@ -11547,20 +11621,28 @@ interface components {
11547
11621
  *
11548
11622
  * Owned rather than borrowing from the engine so callers can
11549
11623
  * carry the value past the borrow that produced it. Cloning is
11550
- * cheap [`HipStr`] shares the backing string via an `Arc`
11624
+ * cheap: [`HipStr`] shares the backing string via an `Arc`
11551
11625
  * header.
11552
11626
  */
11553
11627
  RegisteredRecognizer: {
11554
11628
  /** @description Optional human-readable description. */
11555
11629
  description?: string;
11556
11630
  /**
11557
- * @description Recognizer name the identifier a request's allowlist
11631
+ * @description Recognizer name: the identifier a request's allowlist
11558
11632
  * picks by.
11559
11633
  */
11560
11634
  name: string;
11561
11635
  /**
11562
11636
  * @description Provider slug. NER: `"bento"`, `"mock"`. LLM: `"openai"`,
11563
11637
  * `"anthropic"`, `"gemini"`, `"ollama"`, `"mock"`.
11638
+ *
11639
+ * Owned so the type deserializes from a runtime buffer: a
11640
+ * `&'static str` field would make the derive emit
11641
+ * `Deserialize<'static>` only, which compiles against string
11642
+ * literals but not against an owned `String` or a reader -
11643
+ * the shapes a host actually decodes from. Borrowing a
11644
+ * `&'static str` into a [`HipStr`] does not allocate, so
11645
+ * engine-side construction stays free.
11564
11646
  */
11565
11647
  provider: string;
11566
11648
  };
@@ -11641,7 +11723,7 @@ interface components {
11641
11723
  * @description A reviewer-supplied redaction override with the policy
11642
11724
  * authority it draws from.
11643
11725
  *
11644
- * The `policy_id` isn't just for audit it also picks which
11726
+ * The `policy_id` isn't just for audit: it also picks which
11645
11727
  * per-policy pseudonym vault and per-policy [`KeyProvider`] the
11646
11728
  * override's operator resolves against, so an override using
11647
11729
  * [`Pseudonymize`] or [`HmacHash`] stays consistent with the
@@ -11665,7 +11747,7 @@ interface components {
11665
11747
  * the anonymize request. The audit event stamps this UUID
11666
11748
  * as the attribution `name`.
11667
11749
  *
11668
- * [`PolicyDefinition`]: nvisy_schema::policy::PolicyDefinition
11750
+ * [`PolicyDefinition`]: elide_governance::PolicyDefinition
11669
11751
  */
11670
11752
  policyId: string;
11671
11753
  };
@@ -12336,7 +12418,7 @@ interface components {
12336
12418
  * `Some(...)` overrides that rule for this specific entity
12337
12419
  * at apply time. Reviewer overrides take precedence over
12338
12420
  * every policy rule and inherit the authority of the
12339
- * [`Review::policy_id`] they name the audit event's
12421
+ * [`Review::policy_id`] they name: the audit event's
12340
12422
  * attribution stamps that policy so the trail names the
12341
12423
  * authority under which the override fired.
12342
12424
  */
@@ -12429,6 +12511,39 @@ interface components {
12429
12511
  /** @constant */
12430
12512
  kind: "drop_column";
12431
12513
  };
12514
+ /**
12515
+ * @description The template a [`PolicyDefinition`] was built from.
12516
+ *
12517
+ * Records **provenance, not fidelity**. Templates are plain data
12518
+ * and callers are expected to mutate the returned policy before
12519
+ * submitting it (swapping an operator, widening a group), so this
12520
+ * says "built from `hipaa_deid_safe_harbor` v1.0.0" and nothing
12521
+ * about whether the policy still matches what that template
12522
+ * ships. A reviewer who needs that rebuilds the template and
12523
+ * diffs.
12524
+ *
12525
+ * `None` on a policy means hand-authored, not "unknown template".
12526
+ *
12527
+ * Both fields are needed: a policy built from v1 of a template
12528
+ * can differ materially from one built from v2 (a widened label
12529
+ * set, a changed operator), and an audit that records only the id
12530
+ * cannot tell the two apart.
12531
+ *
12532
+ * [`PolicyDefinition`]: super::PolicyDefinition
12533
+ */
12534
+ TemplateOrigin: {
12535
+ /**
12536
+ * @description The template's machine key: `"hipaa_deid_safe_harbor"`,
12537
+ * `"pci_dss_pan_hmac_sha256"`. Stable across version bumps.
12538
+ */
12539
+ id: string;
12540
+ /**
12541
+ * @description The template's own semver version, distinct from the
12542
+ * crate's release version. A shipped template bumps this when
12543
+ * its labelset or operator dispatch changes.
12544
+ */
12545
+ version: string;
12546
+ };
12432
12547
  /**
12433
12548
  * @description Fallback operator that runs when a declinable primary
12434
12549
  * ([`TextRedaction::Clamp`], [`TextRedaction::GeneralizeDate`])
@@ -12442,7 +12557,7 @@ interface components {
12442
12557
  * or `→ Mask` / `→ Keep` on the rare occasion those fit.
12443
12558
  *
12444
12559
  * Absent from the primary's spec, elide's baked-in default is
12445
- * [`Erase`] a bare [`TextRedaction::Clamp`] without a `fallback`
12560
+ * [`Erase`]: a bare [`TextRedaction::Clamp`] without a `fallback`
12446
12561
  * erases values that aren't numeric.
12447
12562
  *
12448
12563
  * [`Erase`]: TerminalFallback::Erase
@@ -12812,7 +12927,7 @@ interface components {
12812
12927
  * `Some(...)` overrides that rule for this specific entity
12813
12928
  * at apply time. Reviewer overrides take precedence over
12814
12929
  * every policy rule and inherit the authority of the
12815
- * [`Review::policy_id`] they name the audit event's
12930
+ * [`Review::policy_id`] they name: the audit event's
12816
12931
  * attribution stamps that policy so the trail names the
12817
12932
  * authority under which the override fired.
12818
12933
  */
@@ -13165,11 +13280,13 @@ interface components {
13165
13280
  /**
13166
13281
  * @description Request payload for updating an existing workspace policy.
13167
13282
  *
13168
- * Replacing the `definition` replaces the whole policy body.
13283
+ * Replacing the `definition` replaces the whole policy body. The policy's
13284
+ * template origin is server-owned and preserved across updates — it is not
13285
+ * settable here.
13169
13286
  */
13170
13287
  UpdatePolicy: {
13171
13288
  /** @description New policy body (replaces the stored definition). */
13172
- definition?: components["schemas"]["PolicyDefinition"];
13289
+ definition?: components["schemas"]["PolicyDraft"];
13173
13290
  /** @description Policy description. */
13174
13291
  description?: string;
13175
13292
  /** @description Human-readable policy display name. */
@@ -13581,10 +13698,11 @@ type Schemas$16 = components["schemas"];
13581
13698
  type EntityGroup = Schemas$16["EntityGroup"];
13582
13699
  type AuditContext = Schemas$16["AuditContext"];
13583
13700
  type EntityCoRef = Schemas$16["EntityCoRef"];
13584
- type OcrMode = Schemas$16["OcrMode"];
13701
+ type RasterMode = Schemas$16["RasterMode"];
13585
13702
  type Dpi = Schemas$16["Dpi"];
13586
13703
  type Review = Schemas$16["Review"];
13587
13704
  type Attribution = Schemas$16["Attribution"];
13705
+ type AttributionKind = Schemas$16["AttributionKind"];
13588
13706
  type LeakProfile = Schemas$16["LeakProfile"];
13589
13707
  type RuleMatch = Schemas$16["RuleMatch"];
13590
13708
  type ModelEvent = Schemas$16["ModelEvent"];
@@ -13759,14 +13877,14 @@ type Policy = Schemas$4["Policy"];
13759
13877
  type PolicySummary = Schemas$4["PolicySummary"];
13760
13878
  type PolicySummaryPage = Schemas$4["PolicySummaryPage"];
13761
13879
  type PolicyDefinition = Schemas$4["PolicyDefinition"];
13880
+ type PolicyDraft = Schemas$4["PolicyDraft"];
13762
13881
  type CreatePolicy = Schemas$4["CreatePolicy"];
13763
13882
  type UpdatePolicy = Schemas$4["UpdatePolicy"];
13764
13883
  type PolicyRule = Schemas$4["PolicyRule"];
13765
13884
  type PolicyTemplate = Schemas$4["PolicyTemplate"];
13766
- type HipaaDeidentification = Schemas$4["HipaaDeidentification"];
13885
+ type TemplateOrigin = Schemas$4["TemplateOrigin"];
13767
13886
  type HipaaDeidMethod = Schemas$4["HipaaDeidMethod"];
13768
13887
  type HipaaAccountNumbers = Schemas$4["HipaaAccountNumbers"];
13769
- type GdprArticle9 = Schemas$4["GdprArticle9"];
13770
13888
  type GdprArticle9Treatment = Schemas$4["GdprArticle9Treatment"];
13771
13889
  type GdprSensitiveScope = Schemas$4["GdprSensitiveScope"];
13772
13890
  type PciDssPart = Schemas$4["PciDssPart"];
@@ -13840,5 +13958,5 @@ type Retention = Schemas["Retention"];
13840
13958
  type RetentionSettings = Schemas["RetentionSettings"];
13841
13959
  type RetentionOverride = Schemas["RetentionOverride"];
13842
13960
  //#endregion
13843
- export { LabelLocale as $, AudioAuditEvent as $n, CreateApiToken as $r, GenerateInviteCode as $t, PipelineRun as A, ConnectionVerification as An, RangeOfUint as Ar, ConnectionSyncFailedParams as At, CreatePolicy as B, SyncMode as Bn, TextAuditEvent as Br, PipelineRunCompletedParams as Bt, LanguageProvenance as C, AnthropicCredentials as Cn, LeakProfile as Cr, PipelineStatus as Ct, ScopeParams as D, ConnectionPage as Dn, PatternEvent as Dr, UpdatePipeline as Dt, ScopeMetadata as E, ConnectionConfig as En, OperatorId as Er, PipelineTriggerType as Et, RunStatusEvent as F, OpenAiCredentials as Fn, TabularAuditLog as Fr, NotificationEvent as Ft, GdprSensitiveScope as G, UpdateConnection as Gn, TextEntityRecord as Gr, UnreadStatus as Gt, DateStyle as H, SyncScheduleInput as Hn, TextAuditLog as Hr, SystemAnnouncementParams as Ht, AudioRedaction as I, S3Credentials as In, TabularEntity as Ir, NotificationPage as It, HipaaDeidentification as J, RegisteredRecognizer as Jn, TimeSpan as Jr, Member as Jt, HipaaAccountNumbers as K, LabelCatalog as Kn, TextHint as Kr, UpdateNotificationSettings as Kt, ClampBucket as L, StorageConfig as Ln, TabularEntityRecord as Lr, NotificationPayload as Lt, PipelineRunStatus as M, CreateConnection as Mn, RuleMatch as Mr, MemberInvitedParams as Mt, PipelineRunsQuery as N, GcsCredentials as Nn, TabularAuditEvent as Nr, MemberJoinedParams as Nt, Audit as O, ConnectionSync as On, Point as Or, CursorPagination as Ot, RunMetadata as P, LlmConfig as Pn, TabularAuditKind as Pr, Notification as Pt, LabelGroup as Q, Attribution as Qn, ApiTokenWithJWT as Qr, CreateInvite as Qt, Color as R, SyncConnection as Rn, TabularHint as Rr, NotificationSettings as Rt, Language as S, ValidationErrorDetail as Sn, ImageLocation as Sr, PipelineFilter as St, Languages as T, Connection as Tn, OcrMode as Tr, PipelineSummaryPage as Tt, GdprArticle9 as U, SyncStatus as Un, TextData as Ur, SystemReportParams as Ut, DateGranularity as V, SyncSchedule as Vn, TextAuditKind as Vr, PipelineRunFailedParams as Vt, GdprArticle9Treatment as W, SyncTriggerType as Wn, TextEntity as Wr, UnreadCountEvent as Wt, Label as X, Login as Xn, ApiTokenPage as Xr, MemberSortField as Xt, ImageRedaction as Y, AuthToken as Yn, ApiToken as Yr, MemberPage as Yt, LabelEntry as Z, Signup as Zn, ApiTokenType as Zr, UpdateMember as Zt, WebhookPage as _, UpdateAccount as _i, FormatToken as _n, ImageAuditLog as _r, UpdatePolicy as _t, RetentionSettings as a, ConnectionActivityParams as ai, InviteSent as an, AudioHint as ar, PciPanRender as at, Confidence as b, UpdateFile as bn, ImageEntityRecord as br, Pipeline as bt, WorkspacePage as c, MemberActivityParams as ci, ListInvites as cn, AuditHash as cr, PolicyRule as ct, CreateWebhook as d, PolicyActivityParams as di, ComponentHealth as dn, Dimensions as dr, PolicyTemplate as dt, TokenExpiration as ei, Invite as en, AudioAuditKind as er, Labels as et, TestWebhook as f, WebhookActivityParams as fi, Health as fn, Dpi as fr, Predicate as ft, WebhookEvent as g, PublicAccount as gi, FilePage as gn, ImageAuditKind as gr, TextRedaction as gt, WebhookCreated as h, AccountRef as hi, FileKind as hn, ImageAuditEvent as hr, TerminalFallback as ht, RetentionOverride as i, ActivityPayload as ii, InvitePreview as in, AudioEntityRecord as ir, PciDssPart as it, PipelineRunPage as j, ConnectionsQuery as jn, Review as jr, MarkedReadStatus as jt, CreatePipelineRun as k, ConnectionSyncPage as kn, Polygon as kr, ConnectionSyncCompletedParams as kt, WorkspaceRole as l, PipelineActivityParams as li, ReplyInvite as ln, BoundingBox as lr, PolicySummary as lt, Webhook as m, Account as mi, File as mn, EntityGroup as mr, TabularRedaction as mt, OcrPolicy as n, Activity as ni, InviteExpiration as nn, AudioData as nr, LocalizedText as nt, UpdateWorkspace as o, FileActivityParams as oi, InviteSortField as on, AudioLocation as or, Policy as ot, UpdateWebhook as p, WorkspaceActivityParams as pi, HealthStatus as pn, EntityCoRef as pr, Sha2Algorithm as pt, HipaaDeidMethod as q, RecognizerCatalog as qn, TextLocation as qr, ListMembers as qt, Retention as r, ActivityPage as ri, InvitePage as rn, AudioEntity as rr, ModalityRedactions as rt, Workspace as s, InviteActivityParams as si, InviteStatus as sn, AuditContext as sr, PolicyDefinition as st, CreateWorkspace as t, UpdateApiToken as ti, InviteCode as tn, AudioAuditLog as tr, LanguageTag as tt, WorkspaceSettings as u, PipelineRunActivityParams as ui, SortOrder as un, Category as ur, PolicySummaryPage as ut, WebhookResult as v, paths as vi, ListFiles as vn, ImageData as vr, Waveform as vt, LanguageSpan as w, AzureCredentials as wn, ModelEvent as wr, PipelineSummary as wt, CountryCode as x, ErrorResponse as xn, ImageHint as xr, PipelineDefinition as xt, WebhookStatus as y, ModalityToken as yn, ImageEntity as yr, CreatePipeline as yt, ConfidenceThreshold as z, SyncDeletionPolicy as zn, TabularLocation as zr, PipelineRunAnalyzedParams as zt };
13844
- //# sourceMappingURL=index-Zd5G8h44.d.ts.map
13961
+ export { LanguageTag as $, AttributionKind as $n, ApiTokenWithJWT as $r, GenerateInviteCode as $t, PipelineRun as A, ConnectionVerification as An, RangeOfUint as Ar, ConnectionSyncFailedParams as At, CreatePolicy as B, SyncMode as Bn, TabularLocation as Br, PipelineRunCompletedParams as Bt, LanguageProvenance as C, AnthropicCredentials as Cn, ImageLocation as Cr, PipelineStatus as Ct, ScopeParams as D, ConnectionPage as Dn, PatternEvent as Dr, UpdatePipeline as Dt, ScopeMetadata as E, ConnectionConfig as En, OperatorId as Er, PipelineTriggerType as Et, RunStatusEvent as F, OpenAiCredentials as Fn, TabularAuditKind as Fr, NotificationEvent as Ft, HipaaAccountNumbers as G, UpdateConnection as Gn, TextEntity as Gr, UnreadStatus as Gt, DateStyle as H, SyncScheduleInput as Hn, TextAuditKind as Hr, SystemAnnouncementParams as Ht, AudioRedaction as I, S3Credentials as In, TabularAuditLog as Ir, NotificationPage as It, Label as J, RegisteredRecognizer as Jn, TextLocation as Jr, Member as Jt, HipaaDeidMethod as K, LabelCatalog as Kn, TextEntityRecord as Kr, UpdateNotificationSettings as Kt, ClampBucket as L, StorageConfig as Ln, TabularEntity as Lr, NotificationPayload as Lt, PipelineRunStatus as M, CreateConnection as Mn, Review as Mr, MemberInvitedParams as Mt, PipelineRunsQuery as N, GcsCredentials as Nn, RuleMatch as Nr, MemberJoinedParams as Nt, Audit as O, ConnectionSync as On, Point as Or, CursorPagination as Ot, RunMetadata as P, LlmConfig as Pn, TabularAuditEvent as Pr, Notification as Pt, Labels as Q, Attribution as Qn, ApiTokenType as Qr, CreateInvite as Qt, Color as R, SyncConnection as Rn, TabularEntityRecord as Rr, NotificationSettings as Rt, Language as S, ValidationErrorDetail as Sn, ImageHint as Sr, PipelineFilter as St, Languages as T, Connection as Tn, ModelEvent as Tr, PipelineSummaryPage as Tt, GdprArticle9Treatment as U, SyncStatus as Un, TextAuditLog as Ur, SystemReportParams as Ut, DateGranularity as V, SyncSchedule as Vn, TextAuditEvent as Vr, PipelineRunFailedParams as Vt, GdprSensitiveScope as W, SyncTriggerType as Wn, TextData as Wr, UnreadCountEvent as Wt, LabelGroup as X, Login as Xn, ApiToken as Xr, MemberSortField as Xt, LabelEntry as Y, AuthToken as Yn, TimeSpan as Yr, MemberPage as Yt, LabelLocale as Z, Signup as Zn, ApiTokenPage as Zr, UpdateMember as Zt, WebhookPage as _, PublicAccount as _i, FormatToken as _n, ImageAuditKind as _r, UpdatePolicy as _t, RetentionSettings as a, ActivityPayload as ai, InviteSent as an, AudioEntityRecord as ar, PolicyDefinition as at, Confidence as b, UpdateFile as bn, ImageEntity as br, Pipeline as bt, WorkspacePage as c, InviteActivityParams as ci, ListInvites as cn, AuditContext as cr, PolicySummary as ct, CreateWebhook as d, PipelineRunActivityParams as di, ComponentHealth as dn, Category as dr, Predicate as dt, CreateApiToken as ei, Invite as en, AudioAuditEvent as er, LocalizedText as et, TestWebhook as f, PolicyActivityParams as fi, Health as fn, Dimensions as fr, Sha2Algorithm as ft, WebhookEvent as g, AccountRef as gi, FilePage as gn, ImageAuditEvent as gr, TextRedaction as gt, WebhookCreated as h, Account as hi, FileKind as hn, EntityGroup as hr, TerminalFallback as ht, RetentionOverride as i, ActivityPage as ii, InvitePreview as in, AudioEntity as ir, Policy as it, PipelineRunPage as j, ConnectionsQuery as jn, RasterMode as jr, MarkedReadStatus as jt, CreatePipelineRun as k, ConnectionSyncPage as kn, Polygon as kr, ConnectionSyncCompletedParams as kt, WorkspaceRole as l, MemberActivityParams as li, ReplyInvite as ln, AuditHash as lr, PolicySummaryPage as lt, Webhook as m, WorkspaceActivityParams as mi, File as mn, EntityCoRef as mr, TemplateOrigin as mt, OcrPolicy as n, UpdateApiToken as ni, InviteExpiration as nn, AudioAuditLog as nr, PciDssPart as nt, UpdateWorkspace as o, ConnectionActivityParams as oi, InviteSortField as on, AudioHint as or, PolicyDraft as ot, UpdateWebhook as p, WebhookActivityParams as pi, HealthStatus as pn, Dpi as pr, TabularRedaction as pt, ImageRedaction as q, RecognizerCatalog as qn, TextHint as qr, ListMembers as qt, Retention as r, Activity as ri, InvitePage as rn, AudioData as rr, PciPanRender as rt, Workspace as s, FileActivityParams as si, InviteStatus as sn, AudioLocation as sr, PolicyRule as st, CreateWorkspace as t, TokenExpiration as ti, InviteCode as tn, AudioAuditKind as tr, ModalityRedactions as tt, WorkspaceSettings as u, PipelineActivityParams as ui, SortOrder as un, BoundingBox as ur, PolicyTemplate as ut, WebhookResult as v, UpdateAccount as vi, ListFiles as vn, ImageAuditLog as vr, Waveform as vt, LanguageSpan as w, AzureCredentials as wn, LeakProfile as wr, PipelineSummary as wt, CountryCode as x, ErrorResponse as xn, ImageEntityRecord as xr, PipelineDefinition as xt, WebhookStatus as y, paths as yi, ModalityToken as yn, ImageData as yr, CreatePipeline as yt, ConfidenceThreshold as z, SyncDeletionPolicy as zn, TabularHint as zr, PipelineRunAnalyzedParams as zt };
13962
+ //# sourceMappingURL=index-D7O7ZJNs.d.ts.map